在我的用戶模型中,所有用戶在before_create
回調中被分配user
的角色。所以我在創建管理員用戶在某些測試中使用時遇到了很多麻煩。下面是我嘗試過,這是不工作:FactoryGirl:在調用FactoryGirl.create後更改屬性
require 'spec_helper'
describe "Exercises" do
describe "GET /Exercises" do
it "gives the expected status code." do
sign_in_as_valid_user
@user.role = 'admin'
get exercises_path
response.status.should be(200)
end
的完整性,這裏是調用的方法:
module ValidUserRequestHelper
def sign_in_as_valid_user
FactoryGirl.create :program
@user ||= FactoryGirl.create :user
post_via_redirect user_session_path, 'user[email]' => @user.email, 'user[password]' => @user.password
end
end
和工廠:
FactoryGirl.define do
sequence :email do |n|
"test#{n}@vitogo.com"
end
factory :user do
email
password '12345678'
password_confirmation '12345678'
goal_id 1
experience_level_id 1
gender 'Female'
end
end
我只是試圖改變它在重要的特定測試中的角色。
任何想法如何做到這一點?這讓我瘋狂。提前致謝!
有什麼理由不工作ING?測試失敗還是會引發錯誤? –
測試失敗,因爲我試圖訪問只能由管理員訪問的頁面,所以我得到重定向。 – Arel