複合検証の一意性を検証できるテストを作成しようとしています (それが理にかなっている場合)。検証自体は次のとおりです。
validates_uniqueness_of :name, :scope => [:address_postcode]
それ、どうやったら出来るの?同じ名前の場所を 2 つ作成して検証するだけでよいでしょうか? たとえば(このコードは機能しません)
test "name and postcode of a new place must be unique" do
place = Place.new(description: "my favourite chinese", cuisine:"chinese",
address_state:"NSW", address_country:"Australia", address_postcode:"2209")
place.name = "Masthai"
assert place.valid?
place2 = Place.new(description: "try a second restaurant", cuisine:"chinese",
address_state:"NSW", address_country:"Australia", address_postcode:"2209")
place2.name = "Masthai"
assert place2.invalid?
end