Files
SGF/tests/Support/ServicesFixture.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;
}
}