@rp.should_not be_valid\r
end\r
end\r
+ context 'md5を検証するとき' do\r
+ before do\r
+ @rp = FactoryGirl.build :picture\r
+ end\r
+ it 'テストデータの確認' do\r
+ @rp.md5 = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'\r
+ @rp.should be_valid\r
+ end\r
+ it 'nullなら失敗する' do\r
+ @rp.md5 = ''\r
+ @rp.should_not be_valid\r
+ end\r
+ it '32文字以上なら失敗する' do\r
+ @rp.md5 = 'a'*33\r
+ @rp.should_not be_valid\r
+ end\r
+ end\r
context 'license_idを検証するとき' do\r
it 'テストデータの確認' do\r
@rp.license_id = @license.id\r
@rp.width.should eq 264\r
@rp.height.should eq 265\r
@rp.filesize.should eq 266\r
+ @rp.md5.should eq @op.md5\r
@rp.artist_id.should eq @artist.id\r
end\r
end\r
ResourcePicture.stub(:png_to_gif).with(any_args).and_return(@gifmgk)\r
end\r
it '画像ファイルの作成・更新機能で画像を保存している' do\r
- ResourcePicture.any_instance.should_receive(:store_picture).with(@mgk).exactly(1)\r
+ ResourcePicture.any_instance.stub(:filename).with(any_args).and_return('1.png')\r
+ ResourcePicture.any_instance.should_receive(:store_picture).with(@mgk, '1.png').exactly(1)\r
res = @rp.store_picture_with_gif @mgk\r
end\r
it '自身にフォーマット変換対象かを問い合わせている' do\r
end\r
it '画像ファイルの作成・更新機能でgif画像を保存している' do\r
#二回目の保存はgif変換の結果を渡す。\r
- ResourcePicture.any_instance.should_receive(:store_picture).with(@gifmgk).exactly(1)\r
+ ResourcePicture.any_instance.stub(:gifname).with(any_args).and_return('1.gif')\r
+ ResourcePicture.any_instance.should_receive(:store_picture).with(@gifmgk, '1.gif').exactly(1)\r
res = @rp.store_picture_with_gif @mgk\r
end\r
end\r
end\r
context 'gif画像の保存に失敗したとき' do\r
before do\r
+ ResourcePicture.any_instance.stub(:filename).with(any_args).and_return('1.png')\r
+ ResourcePicture.any_instance.stub(:gifname).with(any_args).and_return('1.gif')\r
@mgk = Mgk.new\r
- ResourcePicture.any_instance.stub(:store_picture).with(@mgk).and_return(true)\r
+ ResourcePicture.any_instance.stub(:store_picture).with(@mgk, '1.png').and_return(true)\r
ResourcePicture.any_instance.stub(:to_gif?).with(any_args).and_return(true)\r
class GifMgk < Mgk ; end #store_pictureは二回呼び出される。区別をつけるために\r
@gifmgk = GifMgk.new #パラメータを二種類用意する。\r
ResourcePicture.stub(:png_to_gif).with(any_args).and_return(@gifmgk)\r
- ResourcePicture.any_instance.stub(:store_picture).with(@gifmgk).and_return(false)\r
+ ResourcePicture.any_instance.stub(:store_picture).with(@gifmgk, '1.gif').and_return(false)\r
end\r
it 'Falseを返す' do\r
res = @rp.store_picture_with_gif @mgk\r
end\r
it 'サムネイル化が1回呼ばれる' do\r
ResourcePicture.any_instance.should_receive(:thumbnail).with(any_args).exactly(1)\r
- res = @rp.store_picture(Mgk.new)\r
+ res = @rp.store_picture(Mgk.new, '1.gif')\r
end\r
it '画像ファイルの保存が2回呼ばれる' do\r
PictureIO.resource_picture_io.should_receive(:put).with(any_args).exactly(2)\r
- res = @rp.store_picture(Mgk.new)\r
+ res = @rp.store_picture(Mgk.new, '1.gif')\r
end\r
it '画像ファイルのベースへのサムネイル保存が1回呼ばれる' do\r
- PictureIO.resource_picture_io.should_receive(:put).with('tmbdata', @rp.filename).exactly(1)\r
- res = @rp.store_picture(Mgk.new)\r
+ PictureIO.resource_picture_io.should_receive(:put).with('tmbdata', '1.gif').exactly(1)\r
+ res = @rp.store_picture(Mgk.new, '1.gif')\r
end\r
it '画像ファイルのfullへの保存が1回呼ばれる' do\r
- PictureIO.resource_picture_io.should_receive(:put).with('data', @rp.filename, 'full').exactly(1)\r
- res = @rp.store_picture(Mgk.new)\r
+ PictureIO.resource_picture_io.should_receive(:put).with('data', '1.gif', 'full').exactly(1)\r
+ res = @rp.store_picture(Mgk.new, '1.gif')\r
end\r
end\r
context 'つつがなく終わるとき' do\r
#すべての処理を正常パターンで通過させ、保存機能をチェックする。\r
PictureIO.resource_picture_io.stub(:put).with(any_args).and_return(true)\r
ResourcePicture.any_instance.stub(:flag_thumbnail).with(any_args).and_return(1)\r
+ ResourcePicture.any_instance.stub(:thumbnail).with(any_args).and_return('tmbdata')\r
end\r
it 'Trueを返す' do\r
- res = @rp.store_picture(Mgk.new)\r
+ res = @rp.store_picture(Mgk.new, '1.gif')\r
res.should be_true\r
end\r
end\r
context '例外ケース' do\r
before do\r
ResourcePicture.any_instance.stub(:flag_thumbnail).with(any_args).and_return(1)\r
+ ResourcePicture.any_instance.stub(:thumbnail).with(any_args).and_return('tmbdata')\r
PictureIO.resource_picture_io.stub(:put).with(any_args).and_return(false)\r
end\r
- it 'Falseを返す' do\r
- res = @rp.store_picture(Mgk.new)\r
+ it '画像の保存に失敗したならFalseを返す' do\r
+ res = @rp.store_picture(Mgk.new, '1.gif')\r
res.should be_false\r
end\r
end\r