-# -*- coding: utf-8 -*-
require "test_helper"
class NoteTest < ActiveSupport::TestCase
ok.each do |status|
note = create(:note)
note.status = status
- assert note.valid?, "#{status} is invalid, when it should be"
+ assert_predicate note, :valid?, "#{status} is invalid, when it should be"
end
bad.each do |status|
note = create(:note)
note.status = status
- assert !note.valid?, "#{status} is valid when it shouldn't be"
+ assert_not_predicate note, :valid?, "#{status} is valid when it shouldn't be"
end
end
end
def test_reopen
- note = create(:note, :status => "closed", :closed_at => Time.now)
+ note = create(:note, :closed)
assert_equal "closed", note.status
assert_not_nil note.closed_at
note.reopen
end
def test_visible?
- assert_equal true, create(:note, :status => "open").visible?
- assert_equal true, create(:note, :status => "closed").visible?
- assert_equal false, create(:note, :status => "hidden").visible?
+ assert_predicate create(:note, :status => "open"), :visible?
+ assert_predicate create(:note, :closed), :visible?
+ assert_not_predicate create(:note, :status => "hidden"), :visible?
end
def test_closed?
- assert_equal true, create(:note, :status => "closed", :closed_at => Time.now).closed?
- assert_equal false, create(:note, :status => "open", :closed_at => nil).closed?
+ assert_predicate create(:note, :closed), :closed?
+ assert_not_predicate create(:note, :status => "open", :closed_at => nil), :closed?
end
- def test_author
+ def test_description
+ note = create(:note)
+ assert_equal "Default note's description", note.description
+
+ note = create(:note, :description => "Test description #1")
+ assert_equal "Test description #1", note.description
+
comment = create(:note_comment)
- assert_nil comment.note.author
+ assert_equal "Default note's description", comment.note.description
- user = create(:user)
- comment = create(:note_comment, :author => user)
- assert_equal user, comment.note.author
+ comment = create(:note_comment, :note => build(:note, :description => "Test description #2"))
+ assert_equal "Test description #2", comment.note.description
end
- def test_author_ip
+ def test_author
+ user = create(:user)
+
+ note = create(:note, :author => user)
+ assert_equal user, note.author
+
comment = create(:note_comment)
- assert_nil comment.note.author_ip
+ assert_nil comment.note.author
- comment = create(:note_comment, :author_ip => IPAddr.new("192.168.1.1"))
- assert_equal IPAddr.new("192.168.1.1"), comment.note.author_ip
+ comment = create(:note_comment, :author => user, :note => build(:note, :author => user))
+ assert_equal user, comment.note.author
end
# Ensure the lat/lon is formatted as a decimal e.g. not 4.0e-05