diff options
Diffstat (limited to 'spec/services/file_service_spec.rb')
| -rw-r--r-- | spec/services/file_service_spec.rb | 16 | 
1 files changed, 16 insertions, 0 deletions
| diff --git a/spec/services/file_service_spec.rb b/spec/services/file_service_spec.rb new file mode 100644 index 000000000..90e164408 --- /dev/null +++ b/spec/services/file_service_spec.rb @@ -0,0 +1,16 @@ +RSpec.describe FileService do + +  it 'computes a unique filename' do +    expect( File ).to receive(:exists?).with('xxx/yyy_0').and_return( false ) + +    expect(described_class.unique_filename('xxx/yyy')).to eq('xxx/yyy_0') +  end + +  it 'handles duplicate names by means of a counter' do +    expect( File ).to receive(:exists?).with('xxx/yyy_0').and_return( true ) +    expect( File ).to receive(:exists?).with('xxx/yyy_1').and_return( true ) +    expect( File ).to receive(:exists?).with('xxx/yyy_2').and_return( false ) + +    expect(described_class.unique_filename('xxx/yyy')).to eq('xxx/yyy_2') +  end +end | 
