ronappleton / spatie-laravel-permission-mock
一个简单的包,允许测试具有权限的用户包。
dev-master
2024-05-19 15:42 UTC
Requires
- php: >=8.2
- spatie/laravel-permission: ^6.7
Requires (Dev)
- larastan/larastan: ^2.9
- laravel/pint: ^1.15
- orchestra/testbench: ^9.0
This package is auto-updated.
Last update: 2024-09-19 16:28:09 UTC
README
简介
一个简单的包,以简单的方式模拟权限,以便进行功能测试。
如果您想开发一个使用权限和策略的laravel包,您可能想测试您的包是否按预期工作。此包允许您以简单的方式模拟权限。
我在构建具有权限和策略的单体应用程序时发现了这个很有用。
我想保持我的测试简单,不必担心在测试中设置权限和策略。我还想在我的包中定义权限。
安装
您可以通过composer安装此包
composer require --dev ronappleton/spatie-laravel-permission-mock
用法
如果您的模型使用正常的整数ID字段,您可以在测试中使用以下内容
- 用户
- 角色
- 权限
如果想要为您的模型使用uuids,您可以在测试中使用以下内容
- 用户Uuid
- 角色Uuid
- 权限Uuid
对于uuids,您需要在测试中设置以下内容
use DatabaseMigrations; protected function setUp(): void { parent::setUp(); config()->set('mock-permissions.uuids', true); $this->artisan('migrate:fresh', ['--database' => 'testing']); }
然后您可以在测试中创建权限和角色,并将它们分配给用户。
结论
现在您可以使用权限和策略开发包,并测试它们,知道您的测试将覆盖包内的内容,并且您可以依靠当包被拉入您的应用程序时代码能够正常工作。
注意
如果您想向此包添加任何内容,请简单地提交PR,我会添加它,请记住测试。