add secondary validations to aliases+implications+requests
This commit is contained in:
@@ -2,5 +2,6 @@ FactoryGirl.define do
|
||||
factory(:bulk_update_request) do |f|
|
||||
title "xxx"
|
||||
script "create alias aaa -> bbb"
|
||||
skip_secondary_validations true
|
||||
end
|
||||
end
|
||||
|
||||
@@ -3,6 +3,7 @@ FactoryGirl.define do
|
||||
antecedent_name "aaa"
|
||||
consequent_name "bbb"
|
||||
status "active"
|
||||
skip_secondary_validations true
|
||||
|
||||
after(:create) do |tag_alias|
|
||||
unless tag_alias.status == "pending"
|
||||
|
||||
@@ -3,7 +3,8 @@ FactoryGirl.define do
|
||||
antecedent_name "aaa"
|
||||
consequent_name "bbb"
|
||||
status "active"
|
||||
|
||||
skip_secondary_validations true
|
||||
|
||||
after(:create) do |tag_implication|
|
||||
unless tag_implication.status == "pending"
|
||||
tag_implication.process!
|
||||
|
||||
@@ -17,11 +17,31 @@ class BulkUpdateRequestsControllerTest < ActionController::TestCase
|
||||
context "#create" do
|
||||
should "succeed" do
|
||||
assert_difference("BulkUpdateRequest.count", 1) do
|
||||
post :create, {:bulk_update_request => {:script => "create alias aaa -> bbb", :title => "xxx"}}, {:user_id => @user.id}
|
||||
post :create, {:bulk_update_request => {:skip_secondary_validations => "1", :script => "create alias aaa -> bbb", :title => "xxx"}}, {:user_id => @user.id}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "#update" do
|
||||
setup do
|
||||
CurrentUser.scoped(@user) do
|
||||
@bulk_update_request = FactoryGirl.create(:bulk_update_request)
|
||||
end
|
||||
end
|
||||
|
||||
should "still handle enabled secondary validations correctly" do
|
||||
post :update, {:id => @bulk_update_request.id, :bulk_update_request => {:script => "create alias zzz -> 222", :skip_secondary_validations => "0"}}, {:user_id => @user.id}
|
||||
@bulk_update_request.reload
|
||||
assert_equal("create alias aaa -> bbb", @bulk_update_request.script)
|
||||
end
|
||||
|
||||
should "still handle disabled secondary validations correctly" do
|
||||
post :update, {:id => @bulk_update_request.id, :bulk_update_request => {:script => "create alias zzz -> 222", :skip_secondary_validations => "1"}}, {:user_id => @user.id}
|
||||
@bulk_update_request.reload
|
||||
assert_equal("create alias zzz -> 222", @bulk_update_request.script)
|
||||
end
|
||||
end
|
||||
|
||||
context "#index" do
|
||||
setup do
|
||||
CurrentUser.scoped(@user) do
|
||||
|
||||
@@ -16,28 +16,37 @@ class TagAliasRequestTest < ActiveSupport::TestCase
|
||||
CurrentUser.ip_addr = nil
|
||||
end
|
||||
|
||||
should "raise an exception if invalid" do
|
||||
assert_raises(TagAliasRequest::ValidationError) do
|
||||
TagAliasRequest.new("", "", "reason").create
|
||||
end
|
||||
should "handle invalid attributes" do
|
||||
tar = TagAliasRequest.new(:antecedent_name => "", :consequent_name => "", :reason => "reason", :skip_secondary_validations => true)
|
||||
tar.create
|
||||
assert(tar.invalid?)
|
||||
end
|
||||
|
||||
should "handle secondary validations" do
|
||||
tar = TagAliasRequest.new(:antecedent_name => "aaa", :consequent_name => "bbb", :reason => "reason", :skip_secondary_validations => false)
|
||||
tar.create
|
||||
assert(tar.invalid?)
|
||||
end
|
||||
|
||||
should "create a tag alias" do
|
||||
assert_difference("TagAlias.count", 1) do
|
||||
TagAliasRequest.new("aaa", "bbb", "reason").create
|
||||
tar = TagAliasRequest.new(:antecedent_name => "aaa", :consequent_name => "bbb", :reason => "reason", :skip_secondary_validations => true)
|
||||
tar.create
|
||||
end
|
||||
assert_equal("pending", TagAlias.last.status)
|
||||
end
|
||||
|
||||
should "create a forum topic" do
|
||||
assert_difference("ForumTopic.count", 1) do
|
||||
TagAliasRequest.new("aaa", "bbb", "reason").create
|
||||
tar = TagAliasRequest.new(:antecedent_name => "aaa", :consequent_name => "bbb", :reason => "reason", :skip_secondary_validations => true)
|
||||
tar.create
|
||||
end
|
||||
end
|
||||
|
||||
should "create a forum post" do
|
||||
assert_difference("ForumPost.count", 1) do
|
||||
TagAliasRequest.new("aaa", "bbb", "reason").create
|
||||
tar = TagAliasRequest.new(:antecedent_name => "aaa", :consequent_name => "bbb", :reason => "reason", :skip_secondary_validations => true)
|
||||
tar.create
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -16,28 +16,37 @@ class TagImplicationRequestTest < ActiveSupport::TestCase
|
||||
CurrentUser.ip_addr = nil
|
||||
end
|
||||
|
||||
should "raise an exception if invalid" do
|
||||
assert_raises(TagImplicationRequest::ValidationError) do
|
||||
TagImplicationRequest.new("", "", "reason").create
|
||||
end
|
||||
should "handle invalid attributes" do
|
||||
tir = TagImplicationRequest.new(:antecedent_name => "", :consequent_name => "", :reason => "reason", :skip_secondary_validations => true)
|
||||
tir.create
|
||||
assert(tir.invalid?)
|
||||
end
|
||||
|
||||
should "handle secondary validations" do
|
||||
tir = TagImplicationRequest.new(:antecedent_name => "aaa", :consequent_name => "bbb", :reason => "reason", :skip_secondary_validations => false)
|
||||
tir.create
|
||||
assert(tir.invalid?)
|
||||
end
|
||||
|
||||
should "create a tag implication" do
|
||||
assert_difference("TagImplication.count", 1) do
|
||||
TagImplicationRequest.new("aaa", "bbb", "reason").create
|
||||
tir = TagImplicationRequest.new(:antecedent_name => "aaa", :consequent_name => "bbb", :reason => "reason", :skip_secondary_validations => true)
|
||||
tir.create
|
||||
end
|
||||
assert_equal("pending", TagImplication.last.status)
|
||||
end
|
||||
|
||||
should "create a forum topic" do
|
||||
assert_difference("ForumTopic.count", 1) do
|
||||
TagImplicationRequest.new("aaa", "bbb", "reason").create
|
||||
tir = TagImplicationRequest.new(:antecedent_name => "aaa", :consequent_name => "bbb", :reason => "reason", :skip_secondary_validations => true)
|
||||
tir.create
|
||||
end
|
||||
end
|
||||
|
||||
should "create a forum post" do
|
||||
assert_difference("ForumPost.count", 1) do
|
||||
TagImplicationRequest.new("aaa", "bbb", "reason").create
|
||||
tir = TagImplicationRequest.new(:antecedent_name => "aaa", :consequent_name => "bbb", :reason => "reason", :skip_secondary_validations => true)
|
||||
tir.create
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user