1) Error: AliasAndImplicationImporterTest#test_: The alias and implication importer given a valid list should process it. : NoMethodError: undefined method `role' for nil:NilClass app/models/tag_alias.rb:124:in `rescue in process!' app/models/tag_alias.rb:135:in `process!' app/models/tag_alias.rb:93:in `approve!' app/logical/alias_and_implication_importer.rb:90:in `block (2 levels) in parse' app/logical/alias_and_implication_importer.rb:82:in `map' app/logical/alias_and_implication_importer.rb:82:in `block in parse' app/logical/alias_and_implication_importer.rb:81:in `parse' app/logical/alias_and_implication_importer.rb:13:in `process!' test/unit/alias_and_implication_importer_test.rb:24:in `block (4 levels) in <class:AliasAndImplicationImporterTest>' test/unit/alias_and_implication_importer_test.rb:23:in `block (3 levels) in <class:AliasAndImplicationImporterTest>'
67 lines
1.8 KiB
Ruby
67 lines
1.8 KiB
Ruby
require 'test_helper'
|
|
|
|
class AliasAndImplicationImporterTest < ActiveSupport::TestCase
|
|
context "The alias and implication importer" do
|
|
setup do
|
|
Delayed::Worker.delay_jobs = true
|
|
CurrentUser.user = FactoryGirl.create(:admin_user)
|
|
CurrentUser.ip_addr = "127.0.0.1"
|
|
end
|
|
|
|
teardown do
|
|
CurrentUser.user = nil
|
|
CurrentUser.ip_addr = nil
|
|
end
|
|
|
|
context "given a valid list" do
|
|
setup do
|
|
@list = "create alias abc -> def\ncreate implication aaa -> bbb\n"
|
|
@importer = AliasAndImplicationImporter.new(@list, nil)
|
|
end
|
|
|
|
should "process it" do
|
|
assert_difference("Delayed::Job.count", 2) do
|
|
@importer.process!
|
|
end
|
|
end
|
|
end
|
|
|
|
context "given a list with an invalid command" do
|
|
setup do
|
|
@list = "zzzz abc -> def\n"
|
|
@importer = AliasAndImplicationImporter.new(@list, nil)
|
|
end
|
|
|
|
should "throw an exception" do
|
|
assert_raises(RuntimeError) do
|
|
@importer.process!
|
|
end
|
|
end
|
|
end
|
|
|
|
context "given a list with a logic error" do
|
|
setup do
|
|
@list = "remove alias zzz -> yyy\n"
|
|
@importer = AliasAndImplicationImporter.new(@list, nil)
|
|
end
|
|
|
|
should "throw an exception" do
|
|
assert_raises(RuntimeError) do
|
|
@importer.process!
|
|
end
|
|
end
|
|
end
|
|
|
|
should "rename an aliased tag's artist entry and wiki page" do
|
|
tag1 = FactoryGirl.create(:tag, :name => "aaa", :category => 1)
|
|
tag2 = FactoryGirl.create(:tag, :name => "bbb")
|
|
artist = FactoryGirl.create(:artist, :name => "aaa", :notes => "testing")
|
|
@importer = AliasAndImplicationImporter.new("create alias aaa -> bbb", "", "1")
|
|
@importer.process!
|
|
artist.reload
|
|
assert_equal("bbb", artist.name)
|
|
assert_equal("testing", artist.notes)
|
|
end
|
|
end
|
|
end
|