2012-06-18 2 views
1

У меня есть следующие модели:Смущает Factory Girl - Тестирование редактирования ассоциированной модели

Student has_many Lesson 
Lesson belongs_to Student 

И я хочу, чтобы проверить, что студент может редактировать урок.

Вот что я начал делать:.

Given I am logged in as a student 

Какое определение шага задает объект @student от завода (смотри выше) и признаки студента в

FactoryGirl.define do 
    factory :student do 
    first_name 'student' 
    last_name 'last name student' 
    end 
end 

На данный момент где я застреваю. Я знаю, что могу создать фабрику для урока, что-то вроде этого:

FactoryGirl.define do 
    factory :lesson do 
    name 'maths' 
    level 'high school' 
    end 
end 

Но я хотел бы рассказать, что урок профессора, который подписывается в Так что мой вопрос ... Как бы я пойти. следующий шаг:

  1. Создать урок, связанный с подписанным в студенческих
  2. Редактировать урок (мне нужно знать идентификатор, чтобы посетить урок /: идентификатор страницы)

ответ

0

Я предполагаю, что вы уже есть belongs_to :lecturer в вашей модели урока и has_many :lessons в вашей модели лектора.

Во-первых, я хотел бы определить свой Lesson фабрику следующим образом (предполагается, что у вас уже есть Лектор завод):

FactoryGirl.define do 
    factory :lesson do 
    name 'maths' 
    level 'high school' 
    association :lecturer 
    end 
end 

association :lecturer линия создаст лектора с использованием завода и назначить в к уроку.

В тесте, вы можете сделать что-то, как следует, чтобы назначить ваши подписанный в лекторе на уроки, которые Вы создаете:

FactoryGirl.create(:lesson, lecturer: signed_in_lecturer) 

Надеется, что это помогает.

PS: Я не использую огурец, поэтому вам может потребоваться немного изменить код, чтобы принять его во внимание.

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