# 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