require File.dirname(__FILE__) + '/../test_helper' class PersonTest < Test::Unit::TestCase fixtures :people # Sanity check fixtures. def test_sanity assert @fred.save end # Test that find_all_ordered sorts correctly # (should be [albert, fred, ginger]). def test_find_all_ordered people_in_order = Person.find_all_ordered assert_equal 3, people_in_order.size assert people_in_order[0].last_name <= people_in_order[1].last_name assert people_in_order[1].last_name <= people_in_order[2].last_name # fred should come before ginger, # even though they both have the same surname assert_equal 'Fred', people_in_order[1].first_name assert_equal 'Ginger', people_in_order[2].first_name assert people_in_order[1].first_name <= people_in_order[2].first_name end def test_must_have_first_name @fred.first_name = '' assert !@fred.save end def test_must_have_last_name @fred.last_name = '' assert !@fred.save end def test_reject_invalid_email_addresses @fred.email = 'fred @ hello.com' assert !@fred.save @fred.email = 'fred bloggs@hello.com' assert !@fred.save end def test_email_must_be_unique @fred.email = @albert.email assert !@fred.save end def test_reject_invalid_genders @fred.gender = 'P' assert !@fred.save end end