end
end
end
+
+ describe 'ライセンスエクスポートに於いて' do
+ before do
+ @ds = FactoryGirl.create :demander_status, :requested_at => Time.now, :approved_at => Time.now, :rejected_at => Time.now, :receive_hour1 => 0, :receive_hour2 => 0
+ @demander = FactoryGirl.create :demander, :demander_status_id => @ds.id
+ end
+ context '事前チェックする' do
+ before do
+ Demander.any_instance.stub(:status).and_return(3)
+ end
+ it 'ライセンスモデルにエクスポートを依頼している' do
+ License.stub(:export).with(nil).and_return([@license])
+ License.should_receive(:export).with(nil).exactly(1)
+ r = @demander.licenses_export
+ end
+ end
+ context 'つつがなく終わるとき' do
+ before do
+ Demander.any_instance.stub(:status).and_return(3)
+ end
+ it 'ライセンスリストを返す' do
+ License.stub(:export).with(Time.parse('2011/10/10')).and_return([@license])
+ r = @demander.licenses_export Time.parse('2011/10/10')
+ r.should eq [@license]
+ end
+ end
+ context '日時指定しないとき' do
+ before do
+ Demander.any_instance.stub(:status).and_return(3)
+ end
+ it 'パラメータなしでリストを取得する' do
+ License.stub(:export).with(nil).and_return([@license])
+ License.should_receive(:export).with(nil).exactly(1)
+ r = @demander.licenses_export nil
+ end
+ end
+ #例外ケース
+ context '状態が貸与中でないとき' do
+ it '例外403 ActiveRecord::Forbiddenを発生させる' do
+ Demander.any_instance.stub(:status).and_return(2)
+ lambda{
+ r = @demander.licenses_export
+ }.should raise_error(ActiveRecord::Forbidden)
+ end
+ end
+ end
+
end