discourse/spec/lib/directory_helper_spec.rb
David Taylor c9dab6fd08
DEV: Automatically require 'rails_helper' in all specs (#16077)
It's very easy to forget to add `require 'rails_helper'` at the top of every core/plugin spec file, and omissions can cause some very confusing/sporadic errors.

By setting this flag in `.rspec`, we can remove the need for `require 'rails_helper'` entirely.
2022-03-01 17:50:50 +00:00

35 lines
874 B
Ruby

# frozen_string_literal: true
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