2012-06-18 54 views
1

的編輯,我有以下型號:由工廠女孩困惑 - 測試相關的模型

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. 編輯課(我需要知道ID訪問教訓/:ID頁)

回答

0

我假設你已經有belongs_to :lecturer在您的講師模型中,has_many :lessons在您的講師模型中。

首先我如下(假設你已經有一個講師工廠)將定義你的課廠:

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:我不使用黃瓜,所以你可能需要稍微調整一下代碼以考慮它。