diff --git a/app/models/article.rb b/app/models/article.rb index 7187ba2..c086adf 100644 --- a/app/models/article.rb +++ b/app/models/article.rb @@ -417,6 +417,7 @@ class Article < ActiveRecord::Base :profile_id, :parent_id, :path, + :slug, :updated_at, :created_at, :last_changed_by_id, diff --git a/test/unit/approve_article_test.rb b/test/unit/approve_article_test.rb index 6e9d8d8..f5b7c07 100644 --- a/test/unit/approve_article_test.rb +++ b/test/unit/approve_article_test.rb @@ -378,4 +378,31 @@ class ApproveArticleTest < ActiveSupport::TestCase end end + should 'approve same article twice changing its name' do + task1 = ApproveArticle.create!(:article => article, :target => community, :requestor => profile) + assert_difference article.class, :count do + task1.finish + end + task2 = ApproveArticle.create!(:name => article.name + ' v2', :article => article, :target => community, :requestor => profile) + assert_difference article.class, :count do + assert_nothing_raised ActiveRecord::RecordInvalid do + task2.finish + end + end + end + + should 'not approve same article twice if not changing its name' do + task1 = ApproveArticle.create!(:article => article, :target => community, :requestor => profile) + assert_difference article.class, :count do + task1.finish + end + task2 = ApproveArticle.create!(:article => article, :target => community, :requestor => profile) + assert_no_difference article.class, :count do + assert_raises ActiveRecord::RecordInvalid do + task2.finish + end + end + end + + end diff --git a/test/unit/article_test.rb b/test/unit/article_test.rb index 2544acb..e5b2611 100644 --- a/test/unit/article_test.rb +++ b/test/unit/article_test.rb @@ -576,10 +576,10 @@ class ArticleTest < Test::Unit::TestCase assert_kind_of Folder, b end - should 'copy slug' do + should 'not copy slug' do a = fast_create(Article, :slug => 'slug123') b = a.copy({}) - assert_equal a.slug, b.slug + assert a.slug != b.slug end should 'load article under an old path' do -- libgit2 0.21.2