X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/ef7f3d800cbdd49b692df10d312e5fd880e2e938..99bf0a01eb15a458cdc829274df9dc6b3760af0e:/test/models/redaction_test.rb diff --git a/test/models/redaction_test.rb b/test/models/redaction_test.rb index 3d1aecc72..4aa37f492 100644 --- a/test/models/redaction_test.rb +++ b/test/models/redaction_test.rb @@ -1,35 +1,48 @@ -require 'test_helper' -require 'osm' +require "test_helper" class RedactionTest < ActiveSupport::TestCase - api_fixtures - fixtures :redactions - def test_cannot_redact_current - n = current_nodes(:node_with_versions) - r = redactions(:example) - assert_equal(false, n.redacted?, "Expected node to not be redacted already.") + n = create(:node) + r = create(:redaction) + assert_not_predicate(n, :redacted?, "Expected node to not be redacted already.") assert_raise(OSM::APICannotRedactError) do n.redact!(r) end end def test_cannot_redact_current_via_old - n = nodes(:node_with_versions_v4) - r = redactions(:example) - assert_equal(false, n.redacted?, "Expected node to not be redacted already.") + node = create(:node, :with_history) + node_v1 = node.old_nodes.find_by(:version => 1) + r = create(:redaction) + assert_not_predicate(node_v1, :redacted?, "Expected node to not be redacted already.") assert_raise(OSM::APICannotRedactError) do - n.redact!(r) + node_v1.redact!(r) end end def test_can_redact_old - n = nodes(:node_with_versions_v3) - r = redactions(:example) - assert_equal(false, n.redacted?, "Expected node to not be redacted already.") - assert_nothing_raised(OSM::APICannotRedactError) do - n.redact!(r) + node = create(:node, :with_history, :version => 2) + node_v1 = node.old_nodes.find_by(:version => 1) + node_v2 = node.old_nodes.find_by(:version => 2) + r = create(:redaction) + + assert_not_predicate(node_v1, :redacted?, "Expected node to not be redacted already.") + assert_nothing_raised do + node_v1.redact!(r) end - assert_equal(true, n.redacted?, "Expected node to be redacted after redact! call.") + assert_predicate(node_v1, :redacted?, "Expected node version 1 to be redacted after redact! call.") + assert_not_predicate(node_v2, :redacted?, "Expected node version 2 to not be redacted after redact! call.") + end + + def test_invalid_with_empty_title + redaction = build(:redaction, :title => "") + assert_not redaction.valid? + assert_includes redaction.errors.messages[:title], "can't be blank" + end + + def test_invalid_with_empty_description + redaction = build(:redaction, :description => "") + assert_not redaction.valid? + assert_includes redaction.errors.messages[:description], "can't be blank" end end