承接 ronappleton/spatie-laravel-permission-mock 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ronappleton/spatie-laravel-permission-mock

Composer 安装命令:

composer require ronappleton/spatie-laravel-permission-mock

包简介

Simple package to allow testing of packages with users that have permissions.

README 文档

README

Introduction

Simple package with a simple premise, to mock permissions in a simple way for feature testing.

If you are wanting to develop a package for laravel that uses permissions and policies, you may want to test that your package works as expected. This package allows you to mock permissions in a simple way.

I found this useful when building a monolithic application using packages that had permissions and policies.

I wanted to keep my tests simple and not have to worry about setting up permissions and policies in my tests. And I wanted to be able to define the permissions in my packages.

Installation

You can install the package via composer:

composer require --dev ronappleton/spatie-laravel-permission-mock

Usage

If using normal integer id fields for your models, you can use the following in your tests:

  • User
  • Role
  • Permission

If wanting to use uuids for your models, you can use the following in your tests:

  • UserUuid
  • RoleUuid
  • PermissionUuid

For Uuids you will need to set the following in your tests:

use DatabaseMigrations;

protected function setUp(): void
{
    parent::setUp();

    config()->set('mock-permissions.uuids', true);

    $this->artisan('migrate:fresh', ['--database' => 'testing']);
}

You can then create permissions and roles in your tests, and assign them to users.

Conclusion

You can now develop a package using permissions and policies and test them knowing your test will cover want you want within the package and you can rely on your code working when your package is pulled into your application.

Note

If you want to add whatever to this package simply PR it and ill add it in, please remember tests.

统计信息

  • 总下载量: 6
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 3
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-05-17