Protože jsou některé testy rozsáhlé, používám několik metod které mi je umožní zjednodušit. Jsou to v prvé řadě dvě metody jenž vytvářejí dva korektní záznamy daného modelu. Tyto záznamy vyhovují všem stanoveným omezením. Jména metod které jsem jim přidělil jsou create_valid1
a create_valid2
. Jako parametr akceptují hash kterým modifikují pole záznamu.
private def create_valid1(options={}) Spolecnost.create({ :nazev => 'První správná, s.r.o.', :skupina => 'cl' # !!! nesmí být symbol :cl }.merge(options)) end def create_valid2(options={}) Spolecnost.create({ :nazev => 'Druhá správná, a.s.', :skupina => 'ostatni' }.merge(options)) end
A samozřejmě že si ověříme že taky všem omezením vyhovují.
def test_create_valid_1_and_2 assert create_valid1().save assert create_valid2().save end
Protože když nevyhovují, znamená to, že jsme při nějakém dalším vylepšení modelu zapoměli opravy obě metody.
Protože předpokládám že budu metodu create_valid1
používat velmi často v případech kdy mi stačí jen jeden záznam, z čistě estetických důvodů si na ni zavedu alias.
alias :create_valid :create_valid1