From e268dd56e460e3f76ce7d96571696b07a2c9a821 Mon Sep 17 00:00:00 2001
From: yasushiito
+ <%= t_m 'OriginalPicture.published_at' -%>: + <% if @original_picture.published_at %> + <%= l @original_picture.published_at %> + <% end %> +
+ ++ <%= t_m 'OriginalPicture.stopped_at' -%>: + <% if @original_picture.stopped_at %> + <%= l @original_picture.stopped_at %> + <% end %> +
+ +<%= t_m 'OriginalPicture.created_at' -%>: <%= l @original_picture.created_at %>
diff --git a/app/views/original_pictures/index.html.erb b/app/views/original_pictures/index.html.erb index 530ea570..e07b8a3d 100644 --- a/app/views/original_pictures/index.html.erb +++ b/app/views/original_pictures/index.html.erb @@ -26,10 +26,10 @@ <% case true %> <% when original_picture.unpublished? %> <%= t('original_pictures.unpublished') %> - <% when original_picture.stopped? %> - <%= t('original_pictures.stopped') %> <% when original_picture.unlicensed? %> <%= t('original_pictures.unlicensed') %> + <% when original_picture.stopped? %> + <%= t('original_pictures.stopped') %> <% when original_picture.published? %> <%= t('original_pictures.published') %> <% end %> diff --git a/app/views/original_pictures/list.html.erb b/app/views/original_pictures/list.html.erb index 66b6679a..4af41b58 100644 --- a/app/views/original_pictures/list.html.erb +++ b/app/views/original_pictures/list.html.erb @@ -10,6 +10,8 @@+ <%= t_m 'OriginalPicture.published_at' -%>: + <% if @original_picture.published_at %> + <%= l @original_picture.published_at %> + <% end %> +
+ ++ <%= t_m 'OriginalPicture.stopped_at' -%>: + <% if @original_picture.stopped_at %> + <%= l @original_picture.stopped_at %> + <% end %> +
+ +<%= t_m 'OriginalPicture.created_at' -%>: <%= l @original_picture.created_at %>
diff --git a/config/locales/pettanr.ja.yml b/config/locales/pettanr.ja.yml index e8b8a4bc..4c9c49d1 100644 --- a/config/locales/pettanr.ja.yml +++ b/config/locales/pettanr.ja.yml @@ -161,6 +161,8 @@ ja: filesize: ãã¡ã¤ã«ãµã¤ãº artist_id: 絵師 md5: MD5 + published_at: å ¬é + stopped_at: åæ¢ created_at: ä½æ updated_at: æ´æ° picture: diff --git a/db/migrate/20130119013745_add_publish_date_on_op.rb b/db/migrate/20130119013745_add_publish_date_on_op.rb new file mode 100644 index 00000000..cc8bc085 --- /dev/null +++ b/db/migrate/20130119013745_add_publish_date_on_op.rb @@ -0,0 +1,13 @@ +class AddPublishDateOnOp < ActiveRecord::Migration + def up + add_column :original_pictures, :uploaded_at, :datetime + add_column :original_pictures, :published_at, :datetime + add_column :original_pictures, :stopped_at, :datetime + end + + def down + remove_column :original_pictures, :uploaded_at + remove_column :original_pictures, :published_at + remove_column :original_pictures, :stopped_at + end +end diff --git a/spec/factories.rb b/spec/factories.rb index ff73e071..03358af0 100644 --- a/spec/factories.rb +++ b/spec/factories.rb @@ -79,6 +79,8 @@ FactoryGirl.define do op.filesize 100000 op.artist_id 1 op.md5 'op8f6bcd4621d373cade4e832627b4f6' + op.published_at nil + op.stopped_at nil end factory :oplg, :class => OriginalPictureLicenseGroup do |oplg| diff --git a/spec/models/original_picture_spec.rb b/spec/models/original_picture_spec.rb index cab70e9d..7de83d5e 100644 --- a/spec/models/original_picture_spec.rb +++ b/spec/models/original_picture_spec.rb @@ -146,6 +146,11 @@ describe OriginalPicture do end describe 'ä¸æ¸ãè£å ã«æ¼ãã¦' do + it 'æ稿æ¥æãè¨å®ããã¦ãã' do + @op = FactoryGirl.build :original_picture, :uploaded_at => nil + @op.overwrite @artist + @op.uploaded_at.should_not be_nil + end it '絵師idãè¨å®ããã¦ãã' do @op = FactoryGirl.build :original_picture, :artist_id => nil @op.overwrite @artist @@ -297,15 +302,20 @@ describe OriginalPicture do before do @op = FactoryGirl.create :original_picture, :artist_id => @artist.id end - context 'å®ç´ æãã¼ãã®ã¨ã' do + context 'å ¬éæ¥æã¨åæ¢æ¥æãã¨ãã«ç©ºã®ã¨ã' do it 'Trueãè¿ã' do r = @op.unpublished? r.should be_true end end - context 'å®ç´ æãã¼ãã§ã¯ãªãã¨ã' do + context 'å ¬éæ¥æã¨åæ¢æ¥æãã¨ãã«ç©ºã§ã¯ãªãã¨ã' do it 'Falseãè¿ã' do - @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id + @op.stopped_at =Time.now + r = @op.unpublished? + r.should be_false + end + it 'Falseãè¿ã' do + @op.published_at =Time.now r = @op.unpublished? r.should be_false end @@ -316,23 +326,16 @@ describe OriginalPicture do before do @op = FactoryGirl.create :original_picture, :artist_id => @artist.id end - context 'æªå ¬éã§ã¯ãªãããç´ æããªãã¨ã' do + context 'åæ¢æ¥æã空ã§ãªãã¨ã' do it 'Trueãè¿ã' do - @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id + @op.stopped_at =Time.now r = @op.stopped? r.should be_true end end - context 'æªå ¬éã®ã¨ã' do + context 'åæ¢æ¥æã空ã®ã¨ã' do it 'Falseãè¿ã' do - r = @op.stopped? - r.should be_false - end - end - context 'æªå ¬éã§ã¯ãªããç´ æãããã¨ã' do - it 'falseãè¿ã' do - @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id - @rp = FactoryGirl.create :resource_picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :picture_id => @p.id + @op.stopped_at = nil r = @op.stopped? r.should be_false end @@ -343,31 +346,36 @@ describe OriginalPicture do before do @op = FactoryGirl.create :original_picture, :artist_id => @artist.id end - context 'æªå ¬éã§ã¯ãªããç´ æãããããåç»ã®æ´æ°æ¥æãå®ç´ æã®headã®ããããå¾ã®ã¨ã' do + context 'å ¬éæ¥æã¨åæ¢æ¥æã®ãã¡ã空ã§ãªãæ¹ãåå¾ãã¦ãæ稿æ¥æãããããå¾ã®ã¨ã' do it 'Trueãè¿ã' do - @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :updated_at => Time.now - 1000 - @rp = FactoryGirl.create :resource_picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :picture_id => @p.id + @op.uploaded_at = Time.now + @op.stopped_at = Time.now - 400 + r = @op.unlicensed? + r.should be_true + end + it 'Trueãè¿ã' do + @op.uploaded_at = Time.now + @op.published_at =Time.now - 400 r = @op.unlicensed? r.should be_true end end - context 'æªå ¬éã®ã¨ã' do + context 'å ¬éæ¥æã¨åæ¢æ¥æã®ãã¡ã空ã§ãªãæ¹ãåå¾ãã¦ãæ稿æ¥æãããããå¾ã§ã¯ãªãã¨ã' do it 'Falseãè¿ã' do + @op.published_at = nil + @op.stopped_at = nil r = @op.unlicensed? r.should be_false end - end - context 'æªå ¬éã§ã¯ãªãããç´ æããªãã¨ã' do it 'Falseãè¿ã' do - @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id + @op.uploaded_at = Time.now + @op.published_at =Time.now + 400 r = @op.unlicensed? r.should be_false end - end - context 'æªå ¬éã§ã¯ãªããç´ æããããå®ç´ æã®headã®æ´æ°æ¥æãåç»ã®ããããå¾ã®ã¨ã' do it 'Falseãè¿ã' do - @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :updated_at => Time.now + 1000 - @rp = FactoryGirl.create :resource_picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :picture_id => @p.id + @op.uploaded_at = Time.now + @op.stopped_at =Time.now + 400 r = @op.unlicensed? r.should be_false end @@ -378,31 +386,16 @@ describe OriginalPicture do before do @op = FactoryGirl.create :original_picture, :artist_id => @artist.id end - context 'æªå ¬éã§ã¯ãªããç´ æããããå®ç´ æã®headã®æ´æ°æ¥æãåç»ã®ããããå¾ã®ã¨ã' do + context 'å ¬éæ¥æã空ã§ã¯ãªãã¨ã' do it 'Trueãè¿ã' do - @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :updated_at => Time.now + 1000 - @rp = FactoryGirl.create :resource_picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :picture_id => @p.id + @op.published_at =Time.now r = @op.published? r.should be_true end end - context 'æªå ¬éã®ã¨ã' do + context 'å ¬éæ¥æã空ã®ã¨ã' do it 'Falseãè¿ã' do - r = @op.published? - r.should be_false - end - end - context 'æªå ¬éã§ã¯ãªãããç´ æããªãã¨ã' do - it 'falseãè¿ã' do - @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id - r = @op.published? - r.should be_false - end - end - context 'æªå ¬éã§ã¯ãªããç´ æãããããåç»ã®æ´æ°æ¥æãå®ç´ æã®headã®ããããå¾ã®ã¨ã' do - it 'falseãè¿ã' do - @p = FactoryGirl.create :picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :updated_at => Time.now - 1000 - @rp = FactoryGirl.create :resource_picture, :artist_id => @artist.id, :original_picture_id => @op.id, :license_id => @license.id, :picture_id => @p.id + @op.published_at = nil r = @op.published? r.should be_false end diff --git a/spec/models/provider_original_picture_spec.rb b/spec/models/provider_original_picture_spec.rb index 5c332c12..10c61355 100644 --- a/spec/models/provider_original_picture_spec.rb +++ b/spec/models/provider_original_picture_spec.rb @@ -286,6 +286,87 @@ describe ProviderOriginalPicture do end end + describe 'ç´ æåæ¢ã«æ¼ãã¦' do + before do + @op = FactoryGirl.create :original_picture, :artist_id => @artist.id + @p = FactoryGirl.create :picture, :original_picture_id => @op.id, :license_id => @license.id, :artist_id => @artist.id + rpattr = {:original_picture_id => @op.id, :picture_id => @p.id, :license_id => @license.id, :artist_id => @artist.id, :artist_name => 'tester', + :credit => '{}', :settings => {:reverse => 1, :gif_convert => 1}.to_json.to_s} + @rp = FactoryGirl.create :resource_picture, rpattr + end + context '貸æå´åç»ã®ã«ã©ã å¤ã®åæ¢æ¥æãè¨å®ããã¦ããã¨ã' do + before do + @pop = ProviderOriginalPicture.create :provider_id => @provider.id, :providers_original_picture_id => 1, :demanders_original_picture_id => @op.id + @stopped_op = FactoryGirl.build :original_picture, :artist_id => @artist.id, :stopped_at => Time.now + 400 + @stopped_op_attr = @stopped_op.attributes + ResourcePicture.any_instance.stub(:unpublish).with(any_args).and_return(true) + end + context 'å¯¾ç §è¡¨ããç´ æãåå¾ã§ããã¨ã' do + before do + @stopped_op = FactoryGirl.build :original_picture, :artist_id => @artist.id, :stopped_at => Time.now + 400 + end + it 'ç´ æã«åæ¢ãä¾é ¼ãã¦ãã' do + ResourcePicture.any_instance.should_receive(:unpublish).with(any_args).exactly(1) + r = ProviderOriginalPicture.unpublish_resource_picture @pop, @stopped_op_attr + end + end + context 'å¯¾ç §è¡¨ããåç»ãåå¾ã§ããªãã¨ã' do + before do + @pop = ProviderOriginalPicture.new + end + it 'ç´ æã«åæ¢ãä¾é ¼ãã¦ããªã' do + ResourcePicture.any_instance.should_not_receive(:unpublish).with(any_args) + r = ProviderOriginalPicture.unpublish_resource_picture @pop, @stopped_op_attr + end + end + context 'å¯¾ç §è¡¨ããç´ æãåå¾ã§ããªãã¨ã' do + before do + @rp.destroy + end + it 'ç´ æã«åæ¢ãä¾é ¼ãã¦ããªã' do + ResourcePicture.any_instance.should_not_receive(:unpublish).with(any_args) + r = ProviderOriginalPicture.unpublish_resource_picture @pop, @stopped_op_attr + end + end + end + context '貸æå´åç»ã®ã«ã©ã å¤ã®åæ¢æ¥æãè¨å®ããã¦ããªãã¨ã' do + before do + @pop = ProviderOriginalPicture.create :provider_id => @provider.id, :providers_original_picture_id => 1, :demanders_original_picture_id => @op.id + @stopped_op = FactoryGirl.build :original_picture, :artist_id => @artist.id, :stopped_at => nil + @stopped_op_attr = @stopped_op.attributes + ResourcePicture.any_instance.stub(:unpublish).with(any_args).and_return(true) + end + it 'ç´ æã«åæ¢ãä¾é ¼ãã¦ããªã' do + ResourcePicture.any_instance.should_not_receive(:unpublish).with(any_args) + r = ProviderOriginalPicture.unpublish_resource_picture @pop, @stopped_op_attr + end + end + context 'ã¤ã¤ããªãçµããã¨ã' do + before do + @pop = ProviderOriginalPicture.create :provider_id => @provider.id, :providers_original_picture_id => 1, :demanders_original_picture_id => @op.id + @stopped_op = FactoryGirl.build :original_picture, :artist_id => @artist.id, :stopped_at => Time.now + 400 + @stopped_op_attr = @stopped_op.attributes + ResourcePicture.any_instance.stub(:unpublish).with(any_args).and_return(true) + end + it 'trueãè¿ã' do + r = ProviderOriginalPicture.unpublish_resource_picture @pop, @stopped_op_attr + r.should be_true + end + end + context 'ç´ æåæ¢ã«å¤±æããã¨ã' do + before do + @pop = ProviderOriginalPicture.create :provider_id => @provider.id, :providers_original_picture_id => 1, :demanders_original_picture_id => @op.id + @stopped_op = FactoryGirl.build :original_picture, :artist_id => @artist.id, :stopped_at => Time.now + 400 + @stopped_op_attr = @stopped_op.attributes + ResourcePicture.any_instance.stub(:unpublish).with(any_args).and_return(false) + end + it 'falseãè¿ã' do + r = ProviderOriginalPicture.unpublish_resource_picture @pop, @stopped_op_attr + r.should be_false + end + end + end + describe 'åç»ã¤ã³ãã¼ãã«æ¼ãã¦' do before do @op = FactoryGirl.create :original_picture, :artist_id => @artist.id @@ -295,6 +376,7 @@ describe ProviderOriginalPicture do before do ProviderOriginalPicture.stub(:get_one).with(any_args).and_return(ProviderOriginalPicture.new) ProviderOriginalPicture.stub(:replace_artist).with(any_args).and_return(true) + ProviderOriginalPicture.stub(:unpublish_resource_picture).with(any_args).and_return(true) ProviderOriginalPicture.any_instance.stub(:modify_original_picture).with(any_args).and_return(@op) OriginalPicture.any_instance.stub(:valid?).with(any_args).and_return(true) ProviderOriginalPicture.any_instance.stub(:save).with(any_args).and_return(true) @@ -307,7 +389,11 @@ describe ProviderOriginalPicture do ProviderOriginalPicture.should_receive(:replace_artist).with(any_args).exactly(1) r = ProviderOriginalPicture.import_original_pictures @provider.id, [@op.attributes] end - it 'å¯¾ç §è¡¨ã«åç»åæãä¾é ¼ãã¦ãã¦ãã' do + it 'ç´ æåæ¢ãä¾é ¼ãã¦ãã' do + ProviderOriginalPicture.should_receive(:unpublish_resource_picture).with(any_args).exactly(1) + r = ProviderOriginalPicture.import_original_pictures @provider.id, [@op.attributes] + end + it 'å¯¾ç §è¡¨ã«åç»åæãä¾é ¼ãã¦ãã' do ProviderOriginalPicture.any_instance.should_receive(:modify_original_picture).with(any_args).exactly(1) r = ProviderOriginalPicture.import_original_pictures @provider.id, [@op.attributes] end @@ -336,16 +422,38 @@ describe ProviderOriginalPicture do end context 'è¤æ°ã¤ã³ãã¼ãã®ã¨ã' do before do + #ååã¤ã³ãã¼ãã§è²¸æããããã£ãç´ æ + @other_p = FactoryGirl.create :picture, :original_picture_id => @other_op.id, :license_id => @license.id, :artist_id => @artist.id + rpattr = {:original_picture_id => @other_op.id, :picture_id => @other_p.id, :license_id => @license.id, :artist_id => @artist.id, :artist_name => 'tester', + :credit => '{}', :settings => {:reverse => 1, :gif_convert => 1}.to_json.to_s} + @other_rp = FactoryGirl.create :resource_picture, rpattr + #å¯¾ç §è¡¨ãç¨æããã¦ãã + @pop = ProviderOriginalPicture.create :provider_id => @provider.id, :providers_original_picture_id => @other_op.id, :demanders_original_picture_id => @other_op.id + #ãããä»ååæ¢ããã + @other_op_attr = @other_op.attributes + @other_op_attr['stopped_at'] = Time.now - 100 + @other_op_attr['created_at'] = Time.now - 100 + @other_op_attr['updated_at'] = Time.now - 100 ProviderOriginalPicture.stub(:replace_artist).with(any_args).and_return(true) end it '空ã£ã½ã®é åãè¿ã' do - r = ProviderOriginalPicture.import_original_pictures @provider.id, [@op.attributes, @other_op.attributes] + r = ProviderOriginalPicture.import_original_pictures @provider.id, [@op.attributes, @other_op_attr] r.should be_empty end - it 'å¯¾ç §è¡¨ã追å ããã' do + it 'æ°è¦åã®å¯¾ç §è¡¨ã追å ããã' do lambda { - r = ProviderOriginalPicture.import_original_pictures @provider.id, [@op.attributes, @other_op.attributes] - }.should change(ProviderOriginalPicture, :count).by(2) + r = ProviderOriginalPicture.import_original_pictures @provider.id, [@op.attributes, @other_op_attr] + }.should change(ProviderOriginalPicture, :count) + end + it 'åæ¢ãããç´ æãåé¤ããã' do + lambda { + r = ProviderOriginalPicture.import_original_pictures @provider.id, [@op.attributes, @other_op_attr] + }.should change(ResourcePicture, :count) + end + it 'åç»ã®æ¥æã¯è²¸æã¨ä¸è´ãã¦ãããç´ æåæ¢ã®å½±é¿ãåãã¦ããªã' do + r = ProviderOriginalPicture.import_original_pictures @provider.id, [@op.attributes, @other_op_attr] + @other_op.reload + @other_op.updated_at.should eq @other_op_attr['updated_at'] end end #è¦åã±ã¼ã¹ @@ -569,6 +677,16 @@ describe ProviderOriginalPicture do ResourcePicture.any_instance.should_receive(:save).with(any_args).exactly(1) r = ProviderOriginalPicture.import_resource_pictures @provider.id, [@attr] end + context 'ç´ æã®ã«ã©ã å¤ãåå¾ã§ããªãã¨ã' do + before do + @attr['resource_picture'] = nil + ProviderOriginalPicture.stub(:import_resource_picture).with(any_args).and_return(nil) + end + it 'ç´ æã¤ã³ãã¼ããä¾é ¼ãã¦ããªã' do + ProviderOriginalPicture.should_not_receive(:import_resource_picture).with(any_args) + r = ProviderOriginalPicture.import_resource_pictures @provider.id, [@attr] + end + end end context 'ã¤ã¤ããªãçµããã¨ã' do before do diff --git a/spec/models/resource_picture_spec.rb b/spec/models/resource_picture_spec.rb index a2736a5b..fc0a3bf6 100644 --- a/spec/models/resource_picture_spec.rb +++ b/spec/models/resource_picture_spec.rb @@ -718,9 +718,14 @@ describe ResourcePicture do before do #ãã¹ã¦ã®å¦çãæ£å¸¸ãã¿ã¼ã³ã§ééããã°ãä¸çªæ·±ãåå²ã¾ã§éãã #ããã§å¤é¨ã®ã¡ã½ããå¼ã³åºãã ãã«çç®ãã¦ãã¹ãããã + OriginalPicture.any_instance.stub(:save).and_return(true) ResourcePicture.any_instance.stub(:new_picture).with(any_args).and_return(@p) ResourcePicture.any_instance.stub(:store_picture_with_gif).with(any_args).and_return(true) end + it 'åç»ã«ä¿åãä¾é ¼ãã¦ãã' do + OriginalPicture.any_instance.should_receive(:save).exactly(1) + r = @rp.store @imager + end it 'æ°è¦å®ç´ æã®åå¾ãä¾é ¼ãã¦ãã' do ResourcePicture.any_instance.should_receive(:new_picture).with(any_args).exactly(1) r = @rp.store @imager @@ -744,6 +749,15 @@ describe ResourcePicture do r = @rp.store @imager r.should be_true end + it 'åç»ã®åæ¢æ¥æãã¯ãªã¢ãã' do + r = @rp.store @imager + @rp.original_picture.stopped_at.should be_nil + end + it 'åç»ã®å ¬éæ¥æã«ç¾å¨æå»ãã»ãããã' do + lambda { + r = @rp.store @imager + }.should change(@rp.original_picture, :published_at) + end it 'å®ç´ æidããææ°ç»åidãåå¾ãã¦ã»ãããã¦ãã' do r = @rp.store @imager @rp.picture_id.should eq @p.id @@ -755,6 +769,20 @@ describe ResourcePicture do end end #以ä¸ããä¾å¤ã±ã¼ã¹ãå¦çå é ãã失æããã¦ãã + context 'åç»ã®ä¿åã«å¤±æããã¨ã' do + before do + OriginalPicture.any_instance.stub(:save).and_return(false) + end + it 'Falseãè¿ã' do + r = @rp.unpublish + r.should be_false + end + it 'ãã¼ã«ããã¯ãã¦ãã' do + lambda { + r = @rp.unpublish + }.should_not change(ResourcePicture, :count) + end + end context 'ç»åãªãã¸ã§ã¯ãã®åå¾ã«å¤±æããã¨ã' do before do @imager = false @@ -1055,10 +1083,15 @@ describe ResourcePicture do end context 'äºåãã§ãã¯ãã¦ãã' do before do + OriginalPicture.any_instance.stub(:save).and_return(true) ResourcePicture.any_instance.stub(:destroy).and_return(true) PictureIO.resource_picture_io.stub(:delete).with(@rp.filename).and_return(true) PictureIO.resource_picture_io.stub(:delete).with(@rp.filename, 'full').and_return(true) end + it 'åç»ã«ä¿åãä¾é ¼ãã¦ãã' do + OriginalPicture.any_instance.should_receive(:save).exactly(1) + r = @rp.unpublish + end it 'ç´ æã¢ãã«ã«åé¤ãä¾é ¼ãã¦ãã' do ResourcePicture.any_instance.should_receive(:destroy).exactly(1) r = @rp.unpublish @@ -1081,11 +1114,34 @@ describe ResourcePicture do r = ResourcePicture.find @rp.id }.should raise_error end + it 'åç»ã®å ¬éæ¥æãã¯ãªã¢ãã' do + r = @rp.store @imager + @rp.original_picture.published_at.should be_nil + end + it 'åç»ã®åæ¢æ¥æã«ç¾å¨æå»ãã»ãããã' do + lambda { + r = @rp.unpublish + }.should change(@rp.original_picture, :stopped_at) + end it 'Trueãè¿ã' do r = @rp.unpublish r.should be_true end end + context 'åç»ã®ä¿åã«å¤±æããã¨ã' do + before do + OriginalPicture.any_instance.stub(:save).and_return(false) + end + it 'Falseãè¿ã' do + r = @rp.unpublish + r.should be_false + end + it 'ãã¼ã«ããã¯ãã¦ãã' do + lambda { + r = @rp.unpublish + }.should_not change(ResourcePicture, :count) + end + end context 'èªèº«ã®åé¤ã«å¤±æããã¨ã' do before do ResourcePicture.any_instance.stub(:destroy).with(any_args).and_return(false) -- 2.11.0