У меня есть следующая модель с пользовательской проверкой действительного кода.
class MyAd < ApplicationRecord
validates_with CodeValidator
end
и следующий класс:
class CodeValidator < ActiveModel::Validator
def validate(record)
code = record.ad_code
return if is_double_id?(code) || is_id?(code)
if code.blank? || code == 'NO_CODE'
record.errors[:base] << "A valid code is required."
end
end
def is_double_id?(code)
code.match(regex here)
end
def is_id?(code)
code.match(regex here)
end
end
Как мне написать тест для этого? Я новичок в rails и принял этот код, поэтому я немного запутался в том, как это сделать.
Вот что я начал, но после прочтения я не уверен, как его протестировать. Вызывает ли MyAd.new () проверку?
require 'test_helper'
class MyAd < ActiveSupport::TestCase
setup do
@ad = MyAd.new(ad_code: 894578945)
end
test 'it test code validity' do
#this is where i need help
end
Буду признателен за любую помощь.