为rails app设置Rolify灯具设置

时间:2014-08-11 21:36:42

标签: ruby-on-rails minitest rolify

有一个应用程序,我使用Rolify和Pundit进行授权,使用Minitest / fixtures进行测试。

当我使用灯具设置用户作为管理员时,我没有得到断言的真实。

/fixtures/users.yml
  administrator:
    email: admin@example.com
    roles: admin

/fixtures/roles.yml
  admin:
    id: 1
    name: admin

test.rb
  it "is administrator" do 
    User.first.has_role?('admin').must_equal true
  end

测试结果是假的,我已尝试使用符号管理员,但仍然得到相同的东西。

当该开发环境中的用户具有管理员时,当我询问该角色是否为管理员时,我才会成功。

测试框架是最小的,我的用户模型是滚动的

1 个答案:

答案 0 :(得分:1)

好的,所以这个问题与正确设置roles.yml有关。我正在使用id:上面,如果你只是使用用户:它工作

/fixtures/users.yml
  administrator:
    email: admin@example.com
    roles: admin

/fixtures/roles.yml
  admin:
    users: administrator
    name: admin

test.rb
  it "is administrator" do 
    User.first.has_role?('admin').must_equal true
  end