X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/9a9b045372a6f48420a9a6dacfde52c34ab7abce..30da09c5a1d0a788c3becae49cdeee822c23b298:/test/models/changeset_comment_test.rb diff --git a/test/models/changeset_comment_test.rb b/test/models/changeset_comment_test.rb index 2e09bb884..991bf555d 100644 --- a/test/models/changeset_comment_test.rb +++ b/test/models/changeset_comment_test.rb @@ -1,41 +1,56 @@ require "test_helper" class ChangesetCommentTest < ActiveSupport::TestCase - fixtures :changesets, :changeset_comments - - def test_changeset_comment_count - assert_equal 4, ChangesetComment.count - end - # validations def test_does_not_accept_invalid_author - comment = changeset_comments(:normal_comment_1) + comment = create(:changeset_comment) comment.author = nil - assert !comment.valid? + assert_not_predicate comment, :valid? comment.author_id = 999111 - assert !comment.valid? + assert_not_predicate comment, :valid? end def test_does_not_accept_invalid_changeset - comment = changeset_comments(:normal_comment_1) + comment = create(:changeset_comment) comment.changeset = nil - assert !comment.valid? + assert_not_predicate comment, :valid? comment.changeset_id = 999111 - assert !comment.valid? + assert_not_predicate comment, :valid? end def test_does_not_accept_empty_visible - comment = changeset_comments(:normal_comment_1) + comment = create(:changeset_comment) comment.visible = nil - assert !comment.valid? + assert_not_predicate comment, :valid? end def test_comments_of_changeset_count - assert_equal 3, Changeset.find(changesets(:normal_user_closed_change).id).comments.count + changeset = create(:changeset) + create_list(:changeset_comment, 3, :changeset_id => changeset.id) + assert_equal 3, Changeset.find(changeset.id).comments.count + end + + def test_body_valid + ok = %W[Name vergrößern foo\nbar + ルシステムにも対応します 輕觸搖晃的遊戲] + bad = ["foo\x00bar", "foo\x08bar", "foo\x1fbar", "foo\x7fbar", + "foo\ufffebar", "foo\uffffbar"] + + ok.each do |body| + changeset_comment = create(:changeset_comment) + changeset_comment.body = body + assert_predicate changeset_comment, :valid?, "#{body} is invalid, when it should be" + end + + bad.each do |body| + changeset_comment = create(:changeset_comment) + changeset_comment.body = body + assert_not_predicate changeset_comment, :valid?, "#{body} is valid when it shouldn't be" + end end end