22 lines
918 B
PHP
22 lines
918 B
PHP
<?php
|
|
|
|
namespace Tests\Support;
|
|
|
|
use App\Modules\Services\ServicePermissions;
|
|
|
|
final class ServicesFixture
|
|
{
|
|
public static function create(): array
|
|
{
|
|
$fixture = IdentityFixture::create();
|
|
foreach (ServicePermissions::AREAS as $area) {
|
|
$unit = ServicePermissions::unitScoped($area) ? $fixture['unit'] : null;
|
|
foreach (ServicePermissions::ACTIONS as $action) { IdentityFixture::grant($fixture['manager']->id, $fixture['tenant'], $fixture['company'], "$area.$action", $unit); }
|
|
IdentityFixture::grant($fixture['reader']->id, $fixture['tenant'], $fixture['company'], "$area.view", $unit);
|
|
}
|
|
IdentityFixture::grant($fixture['limited']->id, $fixture['tenant'], $fixture['company'], 'clients.view');
|
|
IdentityFixture::grant($fixture['limited']->id, $fixture['tenant'], $fixture['company'], 'clients.manage');
|
|
return $fixture;
|
|
}
|
|
}
|