Unit tests work again. Fixed the set fixture class that I should. Adding 2 length checks to the user preference controller.

This commit is contained in:
Shaun McDonald 2008-11-14 16:26:56 +00:00
parent c8b70c1c72
commit 57e2d5a8f5
3 changed files with 31 additions and 3 deletions

View file

@ -22,5 +22,33 @@ class UserPreferenceTest < ActiveSupport::TestCase
assert_raise (ActiveRecord::StatementInvalid) {newUP.save}
end
def test_check_valid_length
key = "k"
val = "v"
(1..255).each do |i|
up = UserPreference.new
up.user = users(:normal_user)
up.k = key*i
up.v = val*i
assert up.valid?
assert up.save!
resp = UserPreference.find(up.id)
assert_equal key*i, resp.k, "User preference with #{i} #{key} chars (i.e. #{key.length*i} bytes) fails"
assert_equal val*i, resp.v, "User preference with #{i} #{val} chars (i.e. #{val.length*i} bytes) fails"
end
end
def test_check_invalid_length
key = "k"
val = "v"
[0,256].each do |i|
up = UserPreference.new
up.user = users(:normal_user)
up.k = key*i
up.v = val*i
assert_equal false, up.valid?
assert_raise(ActiveRecord::RecordInvalid) {up.save!}
end
end
end