]> git.openstreetmap.org Git - rails.git/blobdiff - test/models/redaction_test.rb
Merge remote-tracking branch 'upstream/pull/4978'
[rails.git] / test / models / redaction_test.rb
index 3d1aecc729af574bdea16ae25a698f7451ea394f..4aa37f49228cfa9a2abda9a605cafd45b8d38775 100644 (file)
@@ -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