X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/834a821d3cc6cbcbc5f267799ede419047740854..563871c5a9a8140522b0c569df5c91a38528c8ce:/test/models/redaction_test.rb diff --git a/test/models/redaction_test.rb b/test/models/redaction_test.rb index 3cadb8a08..4aa37f492 100644 --- a/test/models/redaction_test.rb +++ b/test/models/redaction_test.rb @@ -1,34 +1,48 @@ require "test_helper" -require "osm" class RedactionTest < ActiveSupport::TestCase - api_fixtures - def test_cannot_redact_current - n = current_nodes(:node_with_versions) + n = create(:node) r = create(:redaction) - assert_equal(false, n.redacted?, "Expected node to not be redacted already.") + 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) + node = create(:node, :with_history) + node_v1 = node.old_nodes.find_by(:version => 1) r = create(:redaction) - assert_equal(false, n.redacted?, "Expected node to not be redacted already.") + 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) + 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_equal(false, n.redacted?, "Expected node to not be redacted already.") - assert_nothing_raised(OSM::APICannotRedactError) do - n.redact!(r) + + 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