diff --git a/test/factories/tag_alias.rb b/test/factories/tag_alias.rb index 37453f307..ee9e7715a 100644 --- a/test/factories/tag_alias.rb +++ b/test/factories/tag_alias.rb @@ -7,7 +7,8 @@ FactoryGirl.define do after(:create) do |tag_alias| unless tag_alias.status == "pending" - tag_alias.process! + approver = FactoryGirl.create(:admin_user) unless approver.present? + tag_alias.approve!(approver) end end end diff --git a/test/factories/tag_implication.rb b/test/factories/tag_implication.rb index b3cd8b8dc..6bb91806e 100644 --- a/test/factories/tag_implication.rb +++ b/test/factories/tag_implication.rb @@ -7,7 +7,8 @@ FactoryGirl.define do after(:create) do |tag_implication| unless tag_implication.status == "pending" - tag_implication.process! + approver = FactoryGirl.create(:admin_user) unless approver.present? + tag_implication.approve!(approver) end end end diff --git a/test/unit/bulk_update_request_test.rb b/test/unit/bulk_update_request_test.rb index dca027f3f..3f55b7837 100644 --- a/test/unit/bulk_update_request_test.rb +++ b/test/unit/bulk_update_request_test.rb @@ -1,10 +1,12 @@ require 'test_helper' class BulkUpdateRequestTest < ActiveSupport::TestCase - context "creation" do + context "a bulk update request" do setup do - CurrentUser.user = FactoryGirl.create(:user) + @admin = FactoryGirl.create(:admin_user) + CurrentUser.user = @admin CurrentUser.ip_addr = "127.0.0.1" + Delayed::Worker.delay_jobs = false end teardown do @@ -12,6 +14,35 @@ class BulkUpdateRequestTest < ActiveSupport::TestCase CurrentUser.ip_addr = nil end + context "on approval" do + setup do + @script = %q( + create alias foo -> bar + create implication bar -> baz + ) + + @bur = FactoryGirl.create(:bulk_update_request, :script => @script) + @bur.approve!(@admin.id) + + @ta = TagAlias.where(:antecedent_name => "foo", :consequent_name => "bar").first + @ti = TagImplication.where(:antecedent_name => "bar", :consequent_name => "baz").first + end + + should "set the BUR approver" do + assert_equal(@admin.id, @bur.approver.id) + end + + should "create aliases/implications" do + assert_equal("active", @ta.status) + assert_equal("active", @ti.status) + end + + should "set the alias/implication approvers" do + assert_equal(@admin.id, @ta.approver.id) + assert_equal(@admin.id, @ti.approver.id) + end + end + should "create a forum topic" do assert_difference("ForumTopic.count", 1) do BulkUpdateRequest.create(:title => "abc", :reason => "zzz", :script => "create alias aaa -> bbb", :skip_secondary_validations => true) @@ -34,7 +65,6 @@ class BulkUpdateRequestTest < ActiveSupport::TestCase context "with an associated forum topic" do setup do - @admin = FactoryGirl.create(:admin_user) @topic = FactoryGirl.create(:forum_topic) @req = FactoryGirl.create(:bulk_update_request, :script => "create alias AAA -> BBB", :forum_topic => @topic) end