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:
parent
c8b70c1c72
commit
57e2d5a8f5
3 changed files with 31 additions and 3 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue