48 lines
1.6 KiB
Ruby
48 lines
1.6 KiB
Ruby
require "test_helper"
|
|
|
|
class RedactionTest < ActiveSupport::TestCase
|
|
def test_cannot_redact_current
|
|
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
|
|
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
|
|
node_v1.redact!(r)
|
|
end
|
|
end
|
|
|
|
def test_can_redact_old
|
|
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_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
|