У меня есть модель разработки пользователя с проверками
class User < ApplicationRecord
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable
validates :first_name, presence: true, length: { maximum: 100 }
validates :last_name, presence: true, length: { maximum: 100 }
validates :email, presence: true, uniqueness: true, format: { with: /\A.+@.+\..+\z/ }
end
и файл RSpec для проверки проверки электронной почты
describe 'email field' do
subject { User.new(first_name: 'jan', last_name: 'kowalski', email: '[email protected]').valid? }
context 'when email has wrong format' do
let(:email) { 'jan@foo' }
it 'complains for invalid format' do
is_expected.to eq false
end
let(:email) { 'jan' }
it 'complains for invalid format' do
is_expected.to eq false
end
end
context 'when email has correct format' do
it 'accepts valid format' do
is_expected.to eq true
end
end
end
Я хочу проверить правильность формата адреса электронной почты, который находится в пользовательской модели. Все тесты прошли хорошо, кроме последнего, где у меня ошибка expected: true got: false
. Я что-то пропустил в файле спецификации? или, может быть, у меня неправильное объявление в пользовательской модели? Любая помощь приветствуется.