Rails 4 использует валидации на DateTime для прохождения теста

Из следующих тестов:

  it { should have_valid(:date_time).when ("2014/April/15") }
  it { should_not have_valid(:date_time).when ("2014/April/15000") }
  it { should_not have_valid(:date_time).when ("2014/ZZZ/14") }
  it { should_not have_valid(:date_time).when(nil, '') }

следующие два не проходят:

  it { should_not have_valid(:date_time).when ("2014/April/15000") }
  it { should_not have_valid(:date_time).when ("2014/ZZZ/14") }

Я получаю сообщение об ошибке argument out of range для обоих. В моей модели у меня есть следующее:

class Textmessage < ActiveRecord::Base

  validates :date_time, presence: true
end

Что мне нужно добавить в мои проверки, чтобы это прошло?

1 ответ

Решение

Это ожидаемое поведение от mus ta. Rails вызовет исключение, если для каждой из этих колонок DateTime будет задана одна из этих строк, а в модели не будет ошибки.

Другие вопросы по тегам