From 3fefae42fc1b809b3c66dbb7e416752158d6129a Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Thu, 16 Oct 2014 20:36:40 +0100 Subject: [PATCH] Add some more model tests for notes and note comments --- test/models/note_comment_test.rb | 19 +++++++++- test/models/note_test.rb | 62 ++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 test/models/note_test.rb diff --git a/test/models/note_comment_test.rb b/test/models/note_comment_test.rb index d1210f619..75707d79b 100644 --- a/test/models/note_comment_test.rb +++ b/test/models/note_comment_test.rb @@ -4,6 +4,23 @@ require 'test_helper' class NoteCommentTest < ActiveSupport::TestCase fixtures :users, :notes, :note_comments + def test_event_valid + ok = [ "opened", "closed", "reopened", "commented", "hidden" ] + bad = [ "expropriated", "fubared" ] + + ok.each do |event| + note_comment = note_comments(:t1) + note_comment.event = event + assert note_comment.valid?, "#{event} is invalid, when it should be" + end + + bad.each do |event| + note_comment = note_comments(:t1) + note_comment.event = event + assert !note_comment.valid?, "#{event} is valid when it shouldn't be" + end + end + def test_body_valid ok = [ "Name", "vergrößern", "foo\x0abar", "ルシステムにも対応します", "輕觸搖晃的遊戲", ] @@ -15,7 +32,7 @@ class NoteCommentTest < ActiveSupport::TestCase note_comment.body = body assert note_comment.valid?, "#{body} is invalid, when it should be" end - + bad.each do |body| note_comment = note_comments(:t1) note_comment.body = body diff --git a/test/models/note_test.rb b/test/models/note_test.rb new file mode 100644 index 000000000..39efc7fe5 --- /dev/null +++ b/test/models/note_test.rb @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +require 'test_helper' + +class NoteTest < ActiveSupport::TestCase + fixtures :users, :notes, :note_comments + + def test_status_valid + ok = [ "open", "closed", "hidden" ] + bad = [ "expropriated", "fubared" ] + + ok.each do |status| + note = notes(:open_note) + note.status = status + assert note.valid?, "#{status} is invalid, when it should be" + end + + bad.each do |status| + note = notes(:open_note) + note.status = status + assert !note.valid?, "#{status} is valid when it shouldn't be" + end + end + + def test_close + note = notes(:open_note) + assert_equal "open", note.status + assert_nil note.closed_at + note.close + assert_equal "closed", note.status + assert_not_nil note.closed_at + end + + def test_close + note = notes(:closed_note_with_comment) + assert_equal "closed", note.status + assert_not_nil note.closed_at + note.reopen + assert_equal "open", note.status + assert_nil note.closed_at + end + + def test_visible? + assert_equal true, notes(:open_note).visible? + assert_equal true, notes(:note_with_hidden_comment).visible? + assert_equal false, notes(:hidden_note_with_comment).visible? + end + + def test_closed? + assert_equal true, notes(:closed_note_with_comment).closed? + assert_equal false, notes(:open_note).closed? + end + + def test_author + assert_nil notes(:open_note).author + assert_equal users(:normal_user), notes(:note_with_comments_by_users).author + end + + def test_author_ip + assert_equal IPAddr.new("192.168.1.1"), notes(:open_note).author_ip + assert_nil notes(:note_with_comments_by_users).author_ip + end +end -- 2.43.2