diff options
| author | Robert | 2017-07-21 22:32:28 +0200 | 
|---|---|---|
| committer | Robert | 2017-07-21 22:32:28 +0200 | 
| commit | 384a06676b8e0985f39fbc894a2d7dd458823529 (patch) | |
| tree | 2e9cfe22f5772bae5d2275860a51e1c3b075be2a /spec/workers | |
| parent | ded817a7d0802cc2aafcdbe4bb256698f6868afd (diff) | |
| download | chouette-core-384a06676b8e0985f39fbc894a2d7dd458823529.tar.bz2 | |
Sketching out the unzip/zip process, need to change Tempfile to File.open(..., r) in a configurable directory [amend me]
Diffstat (limited to 'spec/workers')
| -rw-r--r-- | spec/workers/workbench_import_worker_spec.rb | 36 | 
1 files changed, 28 insertions, 8 deletions
| diff --git a/spec/workers/workbench_import_worker_spec.rb b/spec/workers/workbench_import_worker_spec.rb index a1f8659e7..9a1df5bc3 100644 --- a/spec/workers/workbench_import_worker_spec.rb +++ b/spec/workers/workbench_import_worker_spec.rb @@ -1,7 +1,7 @@  RSpec.describe WorkbenchImportWorker, type: [:worker, :request] do    let( :worker ) { described_class.new } -  let( :import ){ build_stubbed :import, token_download: download_token } +  let( :import ){ build_stubbed :import, token_download: download_token, file: File.open(zip_file) }    let( :workbench ){ import.workbench }    let( :referential ){ import.referential } @@ -19,16 +19,36 @@ RSpec.describe WorkbenchImportWorker, type: [:worker, :request] do    end -  it 'downloads a zip file' do +  context 'multireferential zipfile' do  +    let( :zip_file ){ File.join(fixture_path, 'multiref.zip') } -    default_headers = {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Ruby'} -    stub_request(:get, url) -      .with(headers: default_headers) -      .to_return(body: result) +    it 'downloads a zip file' do +      default_headers = {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Ruby'} +      stub_request(:get, url) +        .with(headers: default_headers) +        .to_return(body: result) -    worker.perform import.id +      worker.perform import.id -    expect( worker.downloaded ).to eq( result ) +      expect( File.read(worker.downloaded) ).to eq( result ) +      expect( worker ).not_to be_single_entry +    end +  end + +  context 'unireferential zipfile' do  +    let( :zip_file ){ File.join(fixture_path, 'uniref.zip') } + +    it 'downloads a zip file' do +      default_headers = {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Ruby'} +      stub_request(:get, url) +        .with(headers: default_headers) +        .to_return(body: result) + +      worker.perform import.id + +      expect( File.read(worker.downloaded) ).to eq( result ) +      expect( worker ).to be_single_entry +    end    end  end | 
