Rather than passing around record ids explicitly, we can use the model relations and pass around the models. This makes reading the tests slightly simpler to read.
68 lines
1.8 KiB
Ruby
68 lines
1.8 KiB
Ruby
# -*- coding: utf-8 -*-
|
|
require "test_helper"
|
|
|
|
class NoteTest < ActiveSupport::TestCase
|
|
fixtures :users
|
|
|
|
def test_status_valid
|
|
ok = %w(open closed hidden)
|
|
bad = %w(expropriated fubared)
|
|
|
|
ok.each do |status|
|
|
note = create(:note)
|
|
note.status = status
|
|
assert 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"
|
|
end
|
|
end
|
|
|
|
def test_close
|
|
note = create(: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_reopen
|
|
note = create(:note, :status => "closed", :closed_at => Time.now)
|
|
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, create(:note, :status => "open").visible?
|
|
assert_equal true, create(:note, :status => "closed").visible?
|
|
assert_equal false, 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?
|
|
end
|
|
|
|
def test_author
|
|
comment = create(:note_comment)
|
|
assert_nil comment.note.author
|
|
|
|
comment = create(:note_comment, :author => users(:normal_user))
|
|
assert_equal users(:normal_user), comment.note.author
|
|
end
|
|
|
|
def test_author_ip
|
|
comment = create(:note_comment)
|
|
assert_nil comment.note.author_ip
|
|
|
|
comment = create(:note_comment, :author_ip => IPAddr.new("192.168.1.1"))
|
|
assert_equal IPAddr.new("192.168.1.1"), comment.note.author_ip
|
|
end
|
|
end
|