X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/9a9b045372a6f48420a9a6dacfde52c34ab7abce..bcf75b0ae2588d38dc3d6615a0f61f044aad1223:/test/models/redaction_test.rb diff --git a/test/models/redaction_test.rb b/test/models/redaction_test.rb index b30c80c66..4aa37f492 100644 --- a/test/models/redaction_test.rb +++ b/test/models/redaction_test.rb @@ -1,35 +1,48 @@ require "test_helper" -require "osm" 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