@lg = FactoryGirl.create :license_group
@license = FactoryGirl.create :license, :license_group_id => @lg.id, :system_picture_id => @sp.id
@user = FactoryGirl.create :user_yas
- @author = @user.author #ユーザ作成時に連動して作成される
+ @author = FactoryGirl.create :author, :user_id => @user.id
@demand_user = FactoryGirl.create :demand_user
end
describe '検証に於いて' do
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
+
+ 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
+ @artist = FactoryGirl.create :artist, :author_id => @author.id
+ end
+ context '事前チェックする' do
+ before do
+ Demander.any_instance.stub(:status).and_return(3)
+ end
+ it '絵師モデルにエクスポートを依頼している' do
+ Artist.stub(:export).with(nil).and_return([@artist])
+ Artist.should_receive(:export).with(nil).exactly(1)
+ r = @demander.artists_export
+ end
+ end
+ context 'つつがなく終わるとき' do
+ before do
+ Demander.any_instance.stub(:status).and_return(3)
+ end
+ it '絵師リストを返す' do
+ Artist.stub(:export).with(Time.parse('2011/10/10')).and_return([@artist])
+ r = @demander.artists_export Time.parse('2011/10/10')
+ r.should eq [@artist]
+ end
+ end
+ context '日時指定しないとき' do
+ before do
+ Demander.any_instance.stub(:status).and_return(3)
+ end
+ it 'パラメータなしでリストを取得する' do
+ Artist.stub(:export).with(nil).and_return([@artist])
+ Artist.should_receive(:export).with(nil).exactly(1)
+ r = @demander.artists_export nil
+ end
+ end
+ #例外ケース
+ context '状態が貸与中でないとき' do
+ it '例外403 ActiveRecord::Forbiddenを発生させる' do
+ Demander.any_instance.stub(:status).and_return(2)
+ lambda{
+ r = @demander.artists_export
+ }.should raise_error(ActiveRecord::Forbidden)
+ 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
+ @artist = FactoryGirl.create :artist, :author_id => @author.id
+ @op = FactoryGirl.create :original_picture, :artist_id => @artist.id
+ end
+ context '事前チェックする' do
+ before do
+ Demander.any_instance.stub(:status).and_return(3)
+ end
+ it '原画モデルに内原画エクスポートを依頼している' do
+ OriginalPicture.stub(:export).with(nil).and_return([@op])
+ OriginalPicture.should_receive(:export).with(nil).exactly(1)
+ r = @demander.original_pictures_export
+ end
+ end
+ context 'つつがなく終わるとき' do
+ before do
+ Demander.any_instance.stub(:status).and_return(3)
+ end
+ it '内原画リストを返す' do
+ OriginalPicture.stub(:export).with(Time.parse('2011/10/10')).and_return([@op])
+ r = @demander.original_pictures_export Time.parse('2011/10/10')
+ r.should eq [@op]
+ end
+ end
+ context '日時指定しないとき' do
+ before do
+ Demander.any_instance.stub(:status).and_return(3)
+ end
+ it 'パラメータなしでリストを取得する' do
+ OriginalPicture.stub(:export).with(nil).and_return([@op])
+ OriginalPicture.should_receive(:export).with(nil).exactly(1)
+ r = @demander.original_pictures_export nil
+ end
+ end
+ #例外ケース
+ context '状態が貸与中でないとき' do
+ it '例外403 ActiveRecord::Forbiddenを発生させる' do
+ Demander.any_instance.stub(:status).and_return(2)
+ lambda{
+ r = @demander.original_pictures_export
+ }.should raise_error(ActiveRecord::Forbidden)
+ 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
+ @artist = FactoryGirl.create :artist, :author_id => @author.id
+ @op = FactoryGirl.create :original_picture, :artist_id => @artist.id
+ @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :revision => 0
+ end
+ context '事前チェックする' do
+ before do
+ Demander.any_instance.stub(:status).and_return(3)
+ end
+ it '実素材モデルにエクスポートを依頼している' do
+ Picture.stub(:export).with(nil).and_return([@p])
+ Picture.should_receive(:export).with(nil).exactly(1)
+ r = @demander.pictures_export
+ end
+ end
+ context 'つつがなく終わるとき' do
+ before do
+ Demander.any_instance.stub(:status).and_return(3)
+ end
+ it '実素材リストを返す' do
+ Picture.stub(:export).with(Time.parse('2011/10/10')).and_return([@p])
+ r = @demander.pictures_export Time.parse('2011/10/10')
+ r.should eq [@p]
+ end
+ end
+ context '日時指定しないとき' do
+ before do
+ Demander.any_instance.stub(:status).and_return(3)
+ end
+ it 'パラメータなしでリストを取得する' do
+ Picture.stub(:export).with(nil).and_return([@p])
+ Picture.should_receive(:export).with(nil).exactly(1)
+ r = @demander.pictures_export nil
+ end
+ end
+ #例外ケース
+ context '状態が貸与中でないとき' do
+ it '例外403 ActiveRecord::Forbiddenを発生させる' do
+ Demander.any_instance.stub(:status).and_return(2)
+ lambda{
+ r = @demander.pictures_export
+ }.should raise_error(ActiveRecord::Forbidden)
+ end
+ end
+ end
+
end