2010-03-29 4 views

답변

0

rspec에서 모든 어설 션을 사용할 수 있으므로 사용하거나 rpsec 스타일로 변환 할 수 있습니다.

+0

죄송합니다. 나는 그것을 얻지 못했다. 좀 더 구체적 일 수 있습니까? –

1

오이를 사용하여 역할을 테스트했습니다. 이처럼

:

require 'machinist/active_record' 
require 'spec/blueprints.rb' 

def user 
    @user ||= User.make 
end 

Given /^I am an Administrator$/ do 
    user 
    @user.assignments.delete_all 
    @user.roles.delete_all 
    @user.assignments << Assignment.create(:user_id => @user.id, 
        :role_id => Role.find_by_name("admin").id) 
    @user.roles.count.should == 1 
    @user.roles << Role.find_by_name("admin") 
    Authorization.current_user = @user 
end 
2

예, 테스트 할 수 있습니다 권한. Authorization :: TestHelper 아래의 here을 참조하십시오. spec_helper 파일에서 도우미가 필요하며 Authorization :: TestHelper가 포함되어야합니다. 이렇게하면 rspec의 before 메소드에서 현재 사용자와 권한을 지정할 수있는 메소드가 생깁니다.

또 다른 팁 : 팩토리 객체를보다 쉽게 ​​만들 수 있도록 declarative_authorization에는 섹션에서 인증을 무시할 수있는 without_access_control 메소드가 있습니다.

관련 문제