diff --git a/app/models/edition.rb b/app/models/edition.rb index 1a7844cf..bba9ca85 100644 --- a/app/models/edition.rb +++ b/app/models/edition.rb @@ -98,7 +98,7 @@ def in_progress_sibling end def can_create_new_edition? - subsequent_siblings.in_progress.empty? + !scheduled_for_publishing? && subsequent_siblings.in_progress.empty? end def meta_data diff --git a/test/models/edition_scheduled_for_publishing_test.rb b/test/models/edition_scheduled_for_publishing_test.rb index ee333fef..9506a734 100644 --- a/test/models/edition_scheduled_for_publishing_test.rb +++ b/test/models/edition_scheduled_for_publishing_test.rb @@ -63,12 +63,17 @@ class EditionScheduledForPublishingTest < ActiveSupport::TestCase end should "return false for #can_destroy?" do - edition = FactoryGirl.create(:edition, :scheduled_for_publishing) + edition = FactoryGirl.build(:edition, :scheduled_for_publishing) refute edition.can_destroy? end + should "return false for #can_create_new_edition?" do + edition = FactoryGirl.build(:edition, :scheduled_for_publishing) + refute edition.can_create_new_edition? + end + should "allow transition to published state" do - edition = FactoryGirl.create(:edition, :scheduled_for_publishing) + edition = FactoryGirl.build(:edition, :scheduled_for_publishing) assert edition.can_publish? end end