有沒有一種方法來測試declarative_authorization權限?如何使用rspec測試declarative_authorization
在文檔中它有一些使用測試單元的說明,但我似乎無法找到使用rspec的方法。
有沒有一種方法來測試declarative_authorization權限?如何使用rspec測試declarative_authorization
在文檔中它有一些使用測試單元的說明,但我似乎無法找到使用rspec的方法。
您可以在rspec中使用所有斷言,以便您可以使用它或以rpsec樣式轉換它。
我已經設法使用黃瓜來測試角色。
像這樣:
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
是的,你可以測試權限。請參閱Authorization :: TestHelper下的here - 在spec_helper文件中需要助手,幷包含Authorization :: TestHelper。這引入了一些方法,允許您在rspec的before
方法中指定當前用戶及其權限。
另一個提示:爲了更容易創建工廠對象,declarative_authorization有一個without_access_control
方法,它允許您繞過before
部分的授權。
對不起。我沒有得到。你能更具體一點嗎? – 2010-03-29 19:47:55