openstreetmap-website/test/unit/diary_entry_test.rb
Tom Hughes 44a9a65aa7 Create new diary entry records instead of cloning the fixture
Cloning fixtures doesn't seem to do a deep copy in rails 3.1 so the
attribute changes persist into other future cloned copies of the same
fixture. The fix is to create completely new records for each test.
2011-11-14 09:42:52 +00:00

32 lines
1.1 KiB
Ruby

require File.dirname(__FILE__) + '/../test_helper'
class DiaryEntryTest < ActiveSupport::TestCase
api_fixtures
fixtures :diary_entries, :languages
def test_diary_entry_count
assert_equal 2, DiaryEntry.count
end
def test_diary_entry_validations
diary_entry_valid({})
diary_entry_valid({:title => ''}, false)
diary_entry_valid({:title => 'a'*255})
diary_entry_valid({:title => 'a'*256}, false)
diary_entry_valid({:body => ''}, false)
diary_entry_valid({:latitude => 90})
diary_entry_valid({:latitude => 90.00001}, false)
diary_entry_valid({:latitude => -90})
diary_entry_valid({:latitude => -90.00001}, false)
diary_entry_valid({:longitude => 180})
diary_entry_valid({:longitude => 180.00001}, false)
diary_entry_valid({:longitude => -180})
diary_entry_valid({:longitude => -180.00001}, false)
end
def diary_entry_valid(attrs, result = true)
entry = DiaryEntry.new(diary_entries(:normal_user_entry_1).attributes)
entry.attributes = attrs
assert_equal result, entry.valid?, "Expected #{attrs.inspect} to be #{result}"
end
end