47.18.2.3.1. Testování validates_uniqueness_of

Odkazy:

Testování jednoduché formy validátoru

class Spolecnost < ActiveRecord::Base
    validates_uniqueness_of :ico
end

Příklad 47.14. test/unit/model_test.rb:

class SpolecnostTest < ActiveSupport::TestCase
    fixtures :spolecnosti
   
    def_test_uniquness_of_ico
        cl = spolecnosti(:cl)
	spolecnost = create_valid(:ico => cl.ico)   # new record with same ico as cl
        assert spolecnost.errors.invalid?(:ico)	       
    end

end

FIXME: vyřešit assert !.

V příkladu jsou využity metody které jsem popsal v 47.18.2.2 – „Pomocné testovací metody“.

Pokud jsou přípustné prázdné či nil hodnoty, připíšeme další testy.

    def test_uniqueness_of_ico_nil
        assert create_valid1(:ico => nil).save
        valid = create_valid2(:ico => nil)
        assert ! valid.errors.invalid?(:ico)
    end

    def test_uniqueness_of_ico_blank
        assert create_valid1(:ico => ' ').save
        valid = create_valid2(:ico => ' ')
        assert ! valid.errors.invalid?(:ico)
    end
Licence Creative Commons
Tento dokument Ruby, jehož autorem je Radek Hnilica, podléhá licenci Creative Commons Uveďte autora-Nevyužívejte dílo komerčně-Zachovejte licenci 3.0 Česká republika .