有一个应用程序,我使用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
测试结果是假的,我已尝试使用符号管理员,但仍然得到相同的东西。
当该开发环境中的用户具有管理员时,当我询问该角色是否为管理员时,我才会成功。
测试框架是最小的,我的用户模型是滚动的
答案 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