2014-07-11 2 views
0
it "is invalid with a duplicate email address" do 
    User.create(name: 'Joe', surname: 'Tester', email: '[email protected]', password: 'password123') 
    user = User.new(name: 'Jane', surname: 'Tester', email: '[email protected]', password: 'password123') 
    user.valid? 
    puts user.errors.full_messages 
    expect(user).to have(1).errors_on(:email) 
    end 

мой тест и когда я запускаю его, я получаю expected 1 errors on :email, got 2, то user.errors.full_messages показывает мне, что я получаюRSpec дважды выдает ошибку, как получилось?

Email has already been taken 
Email has already been taken 

так что это одна ошибка в два раза, почему это?

+0

Ваш код запутан. Возможно, перед этим блоком вы создали пользователя с тем же: email ... –

+0

@ArupRakshit nope, я этого не сделал. – Xeen

+0

Проверка была добавлена ​​дважды, либо потому, что на самом деле это то, что находится в вашем пользовательском файле, либо user.rb загружается несколько раз –

ответ

0

Проблема заключается в том, что нет необходимости иметь валидацию уникальности электронной почты при использовании устройства. Он уже имеет эту проверку, и поэтому ошибка была показана дважды. Удалена моя собственная проверка и тест заполнен, как и ожидалось, - с одной ошибкой.

Смежные вопросы