discourse/spec/components/directory_helper_spec.rb
Krzysztof Kotlarek 427d54b2b0 DEV: Upgrading Discourse to Zeitwerk (#8098)
Zeitwerk simplifies working with dependencies in dev and makes it easier reloading class chains. 

We no longer need to use Rails "require_dependency" anywhere and instead can just use standard 
Ruby patterns to require files.

This is a far reaching change and we expect some followups here.
2019-10-02 14:01:53 +10:00

37 lines
898 B
Ruby

# frozen_string_literal: true
require 'rails_helper'
describe DirectoryHelper do
class DummyClass
include DirectoryHelper
end
let(:helper) { DummyClass.new }
before do
helper.tmp_directory('prefix')
helper.tmp_directory('other_prefix')
end
after do
helper.remove_tmp_directory('prefix')
helper.remove_tmp_directory('other_prefix')
end
describe '#tmp_directory' do
it 'is memoized by prefix' do
expect(helper.tmp_directory('prefix')).to eq(helper.tmp_directory('prefix'))
expect(helper.tmp_directory('prefix')).not_to eq(helper.tmp_directory('other_prefix'))
end
end
describe '#remove_tmp_directory' do
it 'removes the prefixed directory from the filesystem' do
tmp_directory = helper.tmp_directory('prefix')
helper.remove_tmp_directory('prefix')
expect(Dir[tmp_directory]).not_to be_present
end
end
end