У меня есть модель пользователя, для которой требуется пароль с хотя бы одной заглавной буквой. Моя спецификация записывается следующим образом:musta matchers with_message ошибка для пользовательской проверки
subject { User.new }
it { should_not allow_value("test123$").for(:password).with_message("password requires an uppercase letter (\"test123$\")") }
Однако, эта спецификация возвращает следующий сбой:
Expected errors to include ["password requires an uppercase letter (\"test123$\")"] when password is set to "test123$", got errors: ["password requires an uppercase letter (\"test123$\")"]
Он смотрит на меня как массив ошибок явно включает в себя правильное сообщение. Что я здесь делаю неправильно?
EDIT: Вот подтверждение, что я пытаюсь спецификации:
[
[/[A-Z]/, "requires an uppercase letter"],
[/[a-z]/, "requires a lowercase letter"],
[/[0-9]/, "requires a number"],
[/[^\w]/, "requires a special character"]
].each do |(format, message)|
validates :password, :format => {:with => format,
:message => message},
:allow_blank => true
end
Я добавил код для проверки, ответственный за создание этого сообщения об ошибке. Там что-то напуганное? – user2287662
Вы должны добавить это к своему вопросу как код, чтобы он был читабельным. –
Извините, что это должно быть исправлено. – user2287662