From a8f5a1ec486d5ee378f7b820c9f2c046e5c03672 Mon Sep 17 00:00:00 2001 From: Azul Date: Mon, 17 Dec 2012 11:07:42 +0100 Subject: adopted test to before_validation callback The before validation hook will overwrite whatever is in random on create. This is what we want - just need to test it properly --- certs/app/models/leap_ca/cert.rb | 3 ++- certs/test/unit/cert_test.rb | 12 +++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'certs') diff --git a/certs/app/models/leap_ca/cert.rb b/certs/app/models/leap_ca/cert.rb index 7e4b49a..9d4f15e 100644 --- a/certs/app/models/leap_ca/cert.rb +++ b/certs/app/models/leap_ca/cert.rb @@ -21,7 +21,8 @@ module LeapCA validates :key, :presence => true validates :cert, :presence => true - validates :random, :presence => true, :numericality => {:greater_than_or_equal_to => 0, :less_than => 1} + validates :random, :presence => true + validates :random, :numericality => {:greater_than => 0, :less_than => 1} design do view :by_random diff --git a/certs/test/unit/cert_test.rb b/certs/test/unit/cert_test.rb index e41edd7..0b21d0b 100644 --- a/certs/test/unit/cert_test.rb +++ b/certs/test/unit/cert_test.rb @@ -10,8 +10,18 @@ class CertTest < ActiveSupport::TestCase assert @sample.valid? end + test "setting random on create validation" do + @sample.random = "asdf" + assert @sample.valid? + assert @sample.random.is_a? Float + assert @sample.random >= 0 + assert @sample.random < 1 + end + test "validates random" do - [-1, 1, nil, "asdf"].each do |invalid| + @sample.save # make sure we are past the on_create + assert @sample.valid? + ["asdf", 1, 2, -0.1, nil, "asdf"].each do |invalid| @sample.random = invalid assert !@sample.valid?, "#{invalid} should not be a valid value for random" end -- cgit v1.2.3