2015-11-14 2 views
0

Я получаю эту ошибку, когда я бег моего user_controller_spec.rbFactory девушка: пользователь отсутствии проверка, несмотря на атрибуты, являющихся действительный (с использованием действует как taggable гем)

Failure/Error: login_member 
    ActiveRecord::RecordInvalid: 
    Validation failed: User tag list You need to provide at least 5 interests 

Следующий код вызывает мои тесты на провал. Более конкретно линия "login_member"

В user_controller_spec.rb

before(:example) do 
    login_member 
    @user = @member.user 
    @another_user = create(:another_user) 
end 

Вот моя фабрика создана. Вы можете увидеть, пользователь получает создан с членом

Factories.rb

factory :member do 
    email { Faker::Internet.email } 
    password 'fidelio' 
    password_confirmation 'fidelio' 
    confirmed_at Time.now 
    association :user 
end 

factory :user do 
    first_name "Simon" 
    last_name "Walsh" 
    country "GB" 
    tag_list = "Sarcoidosis, Clinical trials, Emphysema, Bronchitis, Idiopathic pulmonary fibrosis" 
end 

И следующих вспомогательных журналов в элементе

В spec_helpers.rb

def login_member 
    @request.env["devise.mapping"] = Devise.mappings[:member] 
    @member = create (:member) 
    sign_in @member 
end 

Вот мой код проверки в моем классе пользователя. Я указал его только на обновление.

В user.rb

validate :check_minimum_tags, on: :update 

    def check_minimum_tags 
    errors.add(:tag_list, 'You need to provide at least 5 interests') unless tag_list.count > 4 
    end 

Я неопределенный

  1. Почему это было бы повысить ошибку, чтобы начать с, как его созданием, связанный пользователя не обновляя его

  2. Почему его все равно поднимают .... вы можете видеть, что я указал 5 интересов в «tag_list» (используя действия с драгоценным камнем)

Я также попытался использовать массив интересов вместо строки

ответ

0

Ответа нашел ..... простой синтаксической ошибки в моей фабрике.

Должно быть

factory :user do 
    first_name "Simon" 
    last_name "Walsh" 
    country "GB" 
    tag_list "Sarcoidosis, Clinical trials, Emphysema, Bronchitis, Idiopathic pulmonary fibrosis" 
end 

идиот

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