2

承認に Rolify と Pundit を使用し、テストに Minitest/fixtures を使用しているアプリがあります。

フィクスチャを使用してユーザーを管理者として設定すると、アサーションに対して true が返されません。

/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

テストは false として返されます。シンボルを使用して管理者を試してみましたが、それでも同じ結果が得られます。

その開発環境のユーザーに管理者がいる場合、ロールが管理者かどうかを尋ねると true になります。

テスト フレームワークは minitest であり、ユーザー モデルはロール化されています

4

1 に答える 1