1 # -*- encoding: utf-8 -*-
5 describe ProviderStatus do
7 @admin = FactoryGirl.create :admin
8 @sp = FactoryGirl.create :system_picture
9 @lg = FactoryGirl.create :license_group
10 @license = FactoryGirl.create :license, :license_group_id => @lg.id, :system_picture_id => @sp.id
11 @user = FactoryGirl.create :user_yas
12 @author = @user.author #ユーザ作成時に連動して作成される
16 @ps = FactoryGirl.build :provider_status
19 context 'オーソドックスなデータのとき' do
21 @ps.receive_hour1 = -99999
22 @ps.receive_hour2 = -99999
26 @ps.receive_hour1 = 99999
27 @ps.receive_hour2 = 99999
32 context 'receive_hour1を検証するとき' do
34 @ps.receive_hour1 = 'a'
35 @ps.should_not be_valid
38 context 'receive_hour2を検証するとき' do
40 @ps.receive_hour2 = 'a'
41 @ps.should_not be_valid
46 describe 'デフォルト値補充に於いて' do
48 @ps = FactoryGirl.build :provider_status
53 describe '上書き補充に於いて' do
55 @ps = FactoryGirl.build :provider_status
60 describe '所持判定に於いて' do
62 @ps = FactoryGirl.create :provider_status
65 @ps.own?(@admin).should == true
68 @ps.own?(@author).should == false
70 it 'パラメータが管理者でないならno' do
71 @ps.own?(nil).should == false
75 describe '閲覧許可に於いて' do
77 @ps = FactoryGirl.create :provider_status
80 r = @ps.visible?(@admin)
84 r = @ps.visible?(@author)
87 it 'それ以外のとき不許可を返す。' do
96 it '借り受けしていないのとき0を返す' do
97 @ps = FactoryGirl.create :provider_status, :token => nil
101 it '借り受けしているのとき1を返す' do
102 @ps = FactoryGirl.create :provider_status, :token => 'a'
108 describe '一覧取得に於いて' do
110 @ps = FactoryGirl.create :provider_status
111 @pd = FactoryGirl.create :provider, :provider_status_id => @ps.id, :name => "6"
113 context 'page補正について' do
114 it '文字列から数値に変換される' do
115 ProviderStatus.page('8').should eq 8
118 ProviderStatus.page().should eq 1
121 ProviderStatus.page('0').should eq 1
124 context 'page_size補正について' do
125 it '文字列から数値に変換される' do
126 ProviderStatus.page_size('7').should eq 7
128 it 'nilの場合はProviderStatus.default_page_sizeになる' do
129 ProviderStatus.page_size().should eq ProviderStatus.default_page_size
131 it '0以下の場合はProviderStatus.default_page_sizeになる' do
132 ProviderStatus.page_size('0').should eq ProviderStatus.default_page_size
134 it 'ProviderStatus.max_page_sizeを超えた場合はProviderStatus.max_page_sizeになる' do
135 ProviderStatus.page_size('1000').should eq ProviderStatus.max_page_size
138 context 'つつがなく終わるとき' do
139 it '一覧取得オプションを利用している' do
140 ProviderStatus.stub(:list_opt).with(any_args).and_return({:include => {:provider => {}} })
141 ProviderStatus.should_receive(:list_opt).with(any_args).exactly(1)
142 r = ProviderStatus.list
146 r = ProviderStatus.list
150 v = FactoryGirl.create :provider_status
151 vd = FactoryGirl.create :provider, :provider_status_id => v.id, :name => "0"
152 r = ProviderStatus.list
155 context 'DBに5件あって1ページの件数を2件に変えたとして' do
157 @ps2 = FactoryGirl.create :provider_status
158 @pd2 = FactoryGirl.create :provider, :provider_status_id => @ps2.id, :name => "5"
159 @ps3 = FactoryGirl.create :provider_status
160 @pd3 = FactoryGirl.create :provider, :provider_status_id => @ps3.id, :name => "4"
161 @ps4 = FactoryGirl.create :provider_status
162 @pd4 = FactoryGirl.create :provider, :provider_status_id => @ps4.id, :name => "3"
163 @ps5 = FactoryGirl.create :provider_status
164 @pd5 = FactoryGirl.create :provider, :provider_status_id => @ps5.id, :name => "2"
165 ProviderStatus.stub(:default_page_size).and_return(2)
168 r = ProviderStatus.list
169 r.should have(2).items
171 it 'page=1なら末尾2件を返す' do
173 r = ProviderStatus.list(1)
174 r.should eq [@ps5, @ps4]
176 it 'page=2なら中間2件を返す' do
177 r = ProviderStatus.list(2)
178 r.should eq [@ps3, @ps2]
180 it 'page=3なら先頭1件を返す' do
181 r = ProviderStatus.list(3)
185 context 'DBに5件あって1ページの件数を2件に変えたとして' do
187 @ps2 = FactoryGirl.create :provider_status
188 @pd2 = FactoryGirl.create :provider, :provider_status_id => @ps2.id, :name => "5"
189 @ps3 = FactoryGirl.create :provider_status
190 @pd3 = FactoryGirl.create :provider, :provider_status_id => @ps3.id, :name => "4"
191 @ps4 = FactoryGirl.create :provider_status
192 @pd4 = FactoryGirl.create :provider, :provider_status_id => @ps4.id, :name => "3"
193 @ps5 = FactoryGirl.create :provider_status
194 @pd5 = FactoryGirl.create :provider, :provider_status_id => @ps5.id, :name => "2"
195 ProviderStatus.stub(:default_page_size).and_return(2)
197 it '件数0は全件(5件)を返す' do
198 r = ProviderStatus.list 5, 0
199 r.should have(5).items
204 describe '待機中一覧取得に於いて' do
206 @ps = FactoryGirl.create :provider_status
207 @pd = FactoryGirl.create :provider, :provider_status_id => @ps.id, :name => "6"
209 context 'つつがなく終わるとき' do
210 it '一覧取得オプションを利用している' do
211 ProviderStatus.stub(:list_opt).with(any_args).and_return({:include => {:provider => {}} })
212 ProviderStatus.should_receive(:list_opt).with(any_args).exactly(1)
213 r = ProviderStatus.available_list
217 r = ProviderStatus.available_list
221 @ps2 = FactoryGirl.create :provider_status
222 v = FactoryGirl.create :provider, :name => "0", :provider_status_id => @ps2.id
223 r = ProviderStatus.available_list
224 r.should eq [@ps2, @ps]
226 it '借受状況のトークンが設定されていない借受状況に限る' do
227 @ps2 = FactoryGirl.create :provider_status, :token => 'aaaaa'
228 v = FactoryGirl.create :provider, :name => "0", :provider_status_id => @ps2.id
229 r = ProviderStatus.available_list
232 context 'DBに5件あって1ページの件数を2件に変えたとして' do
234 @ps2 = FactoryGirl.create :provider_status
235 @pd2 = FactoryGirl.create :provider, :provider_status_id => @ps2.id, :name => "5"
236 @ps3 = FactoryGirl.create :provider_status
237 @pd3 = FactoryGirl.create :provider, :provider_status_id => @ps3.id, :name => "4"
238 @ps4 = FactoryGirl.create :provider_status
239 @pd4 = FactoryGirl.create :provider, :provider_status_id => @ps4.id, :name => "3"
240 @ps5 = FactoryGirl.create :provider_status
241 @pd5 = FactoryGirl.create :provider, :provider_status_id => @ps5.id, :name => "2"
242 ProviderStatus.stub(:default_page_size).and_return(2)
245 r = ProviderStatus.available_list
246 r.should have(2).items
248 it 'page=1なら末尾2件を返す' do
250 r = ProviderStatus.available_list(1)
251 r.should eq [@ps5, @ps4]
253 it 'page=2なら中間2件を返す' do
254 r = ProviderStatus.available_list(2)
255 r.should eq [@ps3, @ps2]
257 it 'page=3なら先頭1件を返す' do
258 r = ProviderStatus.available_list(3)
262 context 'DBに5件あって1ページの件数を2件に変えたとして' do
264 @ps2 = FactoryGirl.create :provider_status
265 @pd2 = FactoryGirl.create :provider, :provider_status_id => @ps2.id, :name => "5"
266 @ps3 = FactoryGirl.create :provider_status
267 @pd3 = FactoryGirl.create :provider, :provider_status_id => @ps3.id, :name => "4"
268 @ps4 = FactoryGirl.create :provider_status
269 @pd4 = FactoryGirl.create :provider, :provider_status_id => @ps4.id, :name => "3"
270 @ps5 = FactoryGirl.create :provider_status
271 @pd5 = FactoryGirl.create :provider, :provider_status_id => @ps5.id, :name => "2"
272 ProviderStatus.stub(:default_page_size).and_return(2)
274 it '件数0は全件(5件)を返す' do
275 r = ProviderStatus.available_list 5, 0
276 r.should have(5).items
281 describe '承認済リスト一覧取得に於いて' do
283 @ps = FactoryGirl.create :provider_status, :token => 'aaaaa'
284 @pd = FactoryGirl.create :provider, :provider_status_id => @ps.id, :name => "6"
286 context 'つつがなく終わるとき' do
287 it '一覧取得オプションを利用している' do
288 ProviderStatus.stub(:list_opt).with(any_args).and_return({:include => {:provider => {}} })
289 ProviderStatus.should_receive(:list_opt).with(any_args).exactly(1)
290 r = ProviderStatus.approve_list
294 r = ProviderStatus.approve_list
298 @ps2 = FactoryGirl.create :provider_status, :token => 'aaaaa'
299 v = FactoryGirl.create :provider, :name => "0", :provider_status_id => @ps2.id
300 r = ProviderStatus.approve_list
301 r.should eq [@ps2, @ps]
303 it '借受状況のトークンが設定されている借受状況に限る' do
304 @ps2 = FactoryGirl.create :provider_status, :token => nil
305 v = FactoryGirl.create :provider, :name => "0", :provider_status_id => @ps2.id
306 r = ProviderStatus.approve_list
309 context 'DBに5件あって1ページの件数を2件に変えたとして' do
311 @ps2 = FactoryGirl.create :provider_status, :token => 'aaaaa'
312 @pd2 = FactoryGirl.create :provider, :provider_status_id => @ps2.id, :name => "5"
313 @ps3 = FactoryGirl.create :provider_status, :token => 'aaaaa'
314 @pd3 = FactoryGirl.create :provider, :provider_status_id => @ps3.id, :name => "4"
315 @ps4 = FactoryGirl.create :provider_status, :token => 'aaaaa'
316 @pd4 = FactoryGirl.create :provider, :provider_status_id => @ps4.id, :name => "3"
317 @ps5 = FactoryGirl.create :provider_status, :token => 'aaaaa'
318 @pd5 = FactoryGirl.create :provider, :provider_status_id => @ps5.id, :name => "2"
319 ProviderStatus.stub(:default_page_size).and_return(2)
322 r = ProviderStatus.approve_list
323 r.should have(2).items
325 it 'page=1なら末尾2件を返す' do
327 r = ProviderStatus.approve_list(1)
328 r.should eq [@ps5, @ps4]
330 it 'page=2なら中間2件を返す' do
331 r = ProviderStatus.approve_list(2)
332 r.should eq [@ps3, @ps2]
334 it 'page=3なら先頭1件を返す' do
335 r = ProviderStatus.approve_list(3)
339 context 'DBに5件あって1ページの件数を2件に変えたとして' do
341 @ps2 = FactoryGirl.create :provider_status, :token => 'aaaaa'
342 @pd2 = FactoryGirl.create :provider, :provider_status_id => @ps2.id, :name => "5"
343 @ps3 = FactoryGirl.create :provider_status, :token => 'aaaaa'
344 @pd3 = FactoryGirl.create :provider, :provider_status_id => @ps3.id, :name => "4"
345 @ps4 = FactoryGirl.create :provider_status, :token => 'aaaaa'
346 @pd4 = FactoryGirl.create :provider, :provider_status_id => @ps4.id, :name => "3"
347 @ps5 = FactoryGirl.create :provider_status, :token => 'aaaaa'
348 @pd5 = FactoryGirl.create :provider, :provider_status_id => @ps5.id, :name => "2"
349 ProviderStatus.stub(:default_page_size).and_return(2)
351 it '件数0は全件(5件)を返す' do
352 r = ProviderStatus.approve_list 5, 0
353 r.should have(5).items
358 describe '一覧取得オプションに於いて' do
359 it 'includeキーを含んでいる' do
360 r = ProviderStatus.list_opt
361 r.has_key?(:include).should be_true
364 r = ProviderStatus.list_opt[:include]
365 r.should have(1).items
368 r = ProviderStatus.list_opt[:include]
369 r.has_key?(:provider).should be_true
372 describe 'json一覧出力オプションに於いて' do
374 @ps = FactoryGirl.create :provider_status
375 @pd = FactoryGirl.create :provider, :provider_status_id => @ps.id
378 r = ProviderStatus.list.to_json ProviderStatus.list_json_opt
381 i.has_key?('provider').should be_true
385 describe '単体取得に於いて' do
387 @ps = FactoryGirl.create :provider_status
388 @pd = FactoryGirl.create :provider, :provider_status_id => @ps.id
390 context 'つつがなく終わるとき' do
391 it '単体取得オプションを利用している' do
392 ProviderStatus.stub(:show_opt).with(any_args).and_return({})
393 ProviderStatus.should_receive(:show_opt).with(any_args).exactly(1)
394 r = ProviderStatus.show @ps.id, @admin
396 it '閲覧許可を問い合わせている' do
397 ProviderStatus.any_instance.stub(:visible?).with(any_args).and_return(true)
398 ProviderStatus.any_instance.should_receive(:visible?).with(any_args).exactly(1)
399 r = ProviderStatus.show @ps.id, @admin
403 r = ProviderStatus.show @ps.id, @admin
406 context '閲覧許可が出なかったとき' do
407 it '403Forbidden例外を返す' do
408 ProviderStatus.any_instance.stub(:visible?).and_return(false)
410 ProviderStatus.show @ps.id, @admin
411 }.should raise_error(ActiveRecord::Forbidden)
414 context '存在しない借受状況を開こうとしたとき' do
415 it '404RecordNotFound例外を返す' do
417 ProviderStatus.show 110, @admin
418 }.should raise_error(ActiveRecord::RecordNotFound)
423 describe '編集取得に於いて' do
425 @ps = FactoryGirl.create :provider_status
426 @pd = FactoryGirl.create :provider, :provider_status_id => @ps.id
428 context 'つつがなく終わるとき' do
429 it '単体取得オプションを利用している' do
430 ProviderStatus.stub(:show_opt).with(any_args).and_return({})
431 ProviderStatus.should_receive(:show_opt).with(any_args).exactly(1)
432 r = ProviderStatus.edit @ps.id, @admin
434 it '所持判定を問い合わせている' do
435 ProviderStatus.any_instance.stub(:own?).with(any_args).and_return(true)
436 ProviderStatus.any_instance.should_receive(:own?).with(any_args).exactly(1)
437 r = ProviderStatus.edit @ps.id, @admin
441 ProviderStatus.any_instance.stub(:own?).and_return(true)
442 r = ProviderStatus.edit @ps.id, @admin
445 context '権限がなかったとき' do
446 it '403Forbidden例外を返す' do
447 ProviderStatus.any_instance.stub(:own?).and_return(false)
449 ProviderStatus.edit @ps.id, @admin
450 }.should raise_error(ActiveRecord::Forbidden)
453 context '存在しない借受状況を開こうとしたとき' do
454 it '404RecordNotFound例外を返す' do
456 ProviderStatus.edit 110, @admin
457 }.should raise_error(ActiveRecord::RecordNotFound)
461 describe '単体取得オプションに於いて' do
462 it 'includeキーを含んでいる' do
463 r = ProviderStatus.show_opt
464 r.has_key?(:include).should be_true
467 r = ProviderStatus.show_opt[:include]
468 r.should have(1).items
471 r = ProviderStatus.show_opt[:include]
472 r.has_key?(:provider).should be_true
475 describe 'json単体出力オプションに於いて' do
477 @ps = FactoryGirl.create :provider_status
478 @pd = FactoryGirl.create :provider, :provider_status_id => @ps.id
481 r = ProviderStatus.show(@ps.id, @admin).to_json ProviderStatus.show_json_opt
484 i.has_key?('provider').should be_true
488 describe 'エクスポートurl取得に於いて' do
490 @token = 'aaaaaaaaaaaaaaaaa'
491 @ps = FactoryGirl.create :provider_status, :token => @token
492 @provider = FactoryGirl.create :provider, :provider_status_id => @ps.id
494 context '事前チェックしておく' do
496 Provider.any_instance.stub(:export_url).with(any_args).and_return('http://demander.url/action.json')
498 it '借手にエクスポートurl取得を依頼している' do
499 Provider.any_instance.should_receive(:export_url).exactly(1)
500 @ps.export_url 'action', Time.now
503 context 'つつがなく終わるとき' do
505 Provider.any_instance.stub(:export_url).with(any_args).and_return('http://demander.url/action.json')
507 it 'エクスポートurl文字列を返す' do
508 r = @ps.export_url 'action', nil
509 r.should eq 'http://demander.url/action.json?auth_token=' + @token
512 context 'エクスポート日時が設定されているとき' do
514 Provider.any_instance.stub(:export_url).with(any_args).and_return('http://demander.url/action.json')
516 it 'エクスポート日時を追加する' do
517 r = @ps.export_url 'action', Time.parse('2000/1/1')
518 r.should match /20000101/
523 describe '貸手からのエクスポート通信に於いて' do
525 @ps = FactoryGirl.create :provider_status, :token => 'aaaaaaaaaaaaaaaaa'
526 @provider = FactoryGirl.create :provider, :provider_status_id => @ps.id
528 context '事前チェックしておく' do
530 RestClient.stub(:get).with(any_args).and_return('{}')
531 JSON.stub(:parse).with(any_args).and_return({})
533 it 'Restクライアントに取得通信を依頼している' do
534 RestClient.should_receive(:get).exactly(1)
535 @ps.export_from_provider 'url'
537 it 'JSONライブラリにパースを依頼している' do
538 JSON.should_receive(:parse).exactly(1)
539 @ps.export_from_provider 'url'
542 context 'つつがなく終わるとき' do
544 RestClient.stub(:get).with(any_args).and_return('{}')
545 JSON.stub(:parse).with(any_args).and_return({})
548 r = @ps.export_from_provider 'url'
549 r.is_a?(Hash).should be_true
552 context 'エクスポートでエラーが発生したとき' do
554 RestClient.stub(:get).with(any_args).and_raise(StandardError)
557 r = @ps.export_from_provider 'url'
561 context 'パースでエラーが発生したとき' do
563 ProviderStatus.any_instance.stub(:export_by).with(any_args).and_return(nil)
566 r = @ps.export_from_provider 'url'
572 describe '貸手からのエクスポートに於いて' do
574 @ps = FactoryGirl.create :provider_status, :token => 'aaaaaaaaaaaaaaaaa'
575 @provider = FactoryGirl.create :provider, :provider_status_id => @ps.id
577 context '事前チェックしておく' do
579 ProviderStatus.any_instance.stub(:ymd_to_time).with(any_args).and_return(Time.parse('2000/1/1'))
580 ProviderStatus.any_instance.stub(:export_url).with(any_args).and_return('http://demander.url/action.json?auth_token=aaaaaaaaaaaaaaaa')
581 ProviderStatus.any_instance.stub(:export_from_provider).with(any_args).and_return([@license.attributes])
583 it '日付文字列変換を依頼している' do
584 ProviderStatus.any_instance.should_receive(:ymd_to_time).exactly(1)
585 @ps.export_by 'action', '20111010'
587 it 'エクスポートurl取得を依頼している' do
588 ProviderStatus.any_instance.should_receive(:export_url).exactly(1)
589 @ps.export_by 'action', '20111010'
591 it '貸手からのエクスポート通信を依頼している' do
592 ProviderStatus.any_instance.should_receive(:export_from_provider).exactly(1)
593 @ps.export_by 'action', '20111010'
596 context 'つつがなく終わるとき' do
598 ProviderStatus.any_instance.stub(:ymd_to_time).with(any_args).and_return(Time.parse('2000/1/1'))
599 ProviderStatus.any_instance.stub(:export_url).with(any_args).and_return('http://demander.url/action.json?auth_token=aaaaaaaaaaaaaaaa')
600 ProviderStatus.any_instance.stub(:export_from_provider).with(any_args).and_return([@license.attributes])
603 r = @ps.export_by 'action', '20111010'
604 r.is_a?(Array).should be_true
607 context 'エクスポートでエラーが発生したとき' do
609 ProviderStatus.any_instance.stub(:ymd_to_time).with(any_args).and_return(Time.parse('2000/1/1'))
610 ProviderStatus.any_instance.stub(:export_url).with(any_args).and_return('http://demander.url/action.json?auth_token=aaaaaaaaaaaaaaaa')
611 ProviderStatus.any_instance.stub(:export_from_provider).with(any_args).and_return(nil)
614 r = @ps.export_by 'action', '20111010'
618 context 'パースでエラーが発生したとき' do
620 ProviderStatus.any_instance.stub(:ymd_to_time).with(any_args).and_return(Time.parse('2000/1/1'))
621 ProviderStatus.any_instance.stub(:export_url).with(any_args).and_return('http://demander.url/action.json?auth_token=aaaaaaaaaaaaaaaa')
622 ProviderStatus.any_instance.stub(:export_from_provider).with(any_args).and_return(nil)
625 r = @ps.export_by 'action', '20111010'
631 describe 'ライセンスインポートに於いて' do
633 @ps = FactoryGirl.create :provider_status, :token => 'aaaaaaaaaaaaaaaaa'
634 @provider = FactoryGirl.create :provider, :provider_status_id => @ps.id
636 context '事前チェックしておく' do
638 ProviderStatus.any_instance.stub(:export_by).with(any_args).and_return([@license.attributes])
639 ProviderLicense.stub(:import).with(any_args).and_return(LicenseImportResult.new([]))
641 it '貸手からのエクスポートを依頼している' do
642 ProviderStatus.any_instance.should_receive(:export_by).exactly(1)
643 r = @ps.licenses_import '20111010'
645 it 'ライセンス対照表モデルにインポートを依頼している' do
646 ProviderLicense.should_receive(:import).exactly(1)
647 r = @ps.licenses_import '20111010'
650 context 'つつがなく終わるとき' do
652 ProviderStatus.any_instance.stub(:export_by).with(any_args).and_return([@license.attributes])
653 ProviderLicense.stub(:import).with(any_args).and_return(LicenseImportResult.new([]))
655 it 'ライセンスインポート結果を返す' do
656 r = @ps.licenses_import '20111010'
660 context 'エクスポートに失敗したとき' do
662 ProviderStatus.any_instance.stub(:export_by).with(any_args).and_return(nil)
664 it '受信に失敗したImportResultを返す' do
665 r = @ps.licenses_import '20111010'
666 r.should_not be_response
671 describe '絵師インポートに於いて' do
673 @ps = FactoryGirl.create :provider_status, :token => 'aaaaaaaaaaaaaaaaa'
674 @provider = FactoryGirl.create :provider, :provider_status_id => @ps.id
676 context '事前チェックしておく' do
678 ProviderStatus.any_instance.stub(:export_by).with(any_args).and_return([])
679 ProviderArtist.stub(:import).with(any_args).and_return(ArtistImportResult.new([]))
681 it '貸手からのエクスポートを依頼している' do
682 ProviderStatus.any_instance.should_receive(:export_by).exactly(1)
683 @ps.artists_import '20111010'
685 it '絵師対照表モデルにインポートを依頼している' do
686 ProviderArtist.should_receive(:import).exactly(1)
687 @ps.artists_import '20111010'
690 context 'つつがなく終わるとき' do
692 ProviderStatus.any_instance.stub(:export_by).with(any_args).and_return([])
693 ProviderArtist.stub(:import).with(any_args).and_return(ArtistImportResult.new([]))
696 r = @ps.artists_import '20111010'
700 context 'エクスポートに失敗したとき' do
702 ProviderStatus.any_instance.stub(:export_by).with(any_args).and_return(nil)
704 it '受信に失敗したImportResultを返す' do
705 r = @ps.licenses_import '20111010'
706 r.should_not be_response
711 describe '素材インポートに於いて' do
713 @ps = FactoryGirl.create :provider_status, :token => 'aaaaaaaaaaaaaaaaa'
714 @provider = FactoryGirl.create :provider, :provider_status_id => @ps.id
716 context '事前チェックしておく' do
718 ProviderStatus.any_instance.stub(:export_by).with(any_args).and_return([])
719 ProviderOriginalPicture.stub(:import).with(any_args).and_return(OriginalPictureImportResult.new([]))
721 it '貸手からのエクスポートを依頼している' do
722 ProviderStatus.any_instance.should_receive(:export_by).exactly(2)
723 @ps.original_pictures_import '20111010'
725 it '原画対照表モデルにインポートを依頼している' do
726 ProviderOriginalPicture.should_receive(:import).exactly(1)
727 @ps.original_pictures_import '20111010'
730 context 'つつがなく終わるとき' do
732 ProviderStatus.any_instance.stub(:export_by).with(any_args).and_return([])
733 ProviderOriginalPicture.stub(:import).with(any_args).and_return(OriginalPictureImportResult.new([]))
736 r = @ps.original_pictures_import '20111010'
740 context 'エクスポートに失敗したとき' do
742 ProviderStatus.any_instance.stub(:export_by).with(any_args).and_return(nil)
744 it '受信に失敗したImportResultを返す' do
745 r = @ps.licenses_import '20111010'
746 r.should_not be_response