Как проверить декларативную авторизацию с помощью rspec - PullRequest
1 голос
/ 29 марта 2010

Есть ли способ протестировать права декларативного_авторизации в отношении?

В документации есть несколько инструкций по использованию тестового модуля, но я не могу найти способ использовать rspec.

Ответы [ 3 ]

2 голосов
/ 30 марта 2010

Да, вы можете проверить разрешения. См. здесь в разделе Авторизация :: TestHelper - требуйте помощников в вашем файле spec_helper и включите Authorization :: TestHelper. Это включает методы, которые позволяют вам указать текущего пользователя и его привилегии в методе before rspec.

Еще один совет: чтобы упростить создание заводских объектов, у декларативного_авторизации есть метод without_access_control, который позволяет обойти авторизацию в ваших before разделах.

1 голос
/ 30 марта 2010

Мне удалось использовать огурец для проверки ролей.

Как это:

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
0 голосов
/ 29 марта 2010

Вы можете использовать все утверждения в rspec, поэтому вы можете использовать их или преобразовать в стиль rpsec.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...