2016-12-19 11:04:28 -08:00
|
|
|
<?php
|
|
|
|
|
|
|
|
use App\Models\Accessory;
|
|
|
|
use App\Models\Asset;
|
|
|
|
use App\Models\Component;
|
|
|
|
use App\Models\Consumable;
|
|
|
|
use App\Models\License;
|
|
|
|
use App\Models\User;
|
|
|
|
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
|
|
|
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
|
|
|
use Illuminate\Foundation\Testing\WithoutMiddleware;
|
|
|
|
|
2017-06-12 17:39:03 -07:00
|
|
|
class PermissionsTest extends \Codeception\TestCase\Test
|
2016-12-19 11:04:28 -08:00
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
|
|
|
|
public function _before()
|
2016-12-19 11:04:28 -08:00
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
Artisan::call('migrate');
|
2016-12-19 11:04:28 -08:00
|
|
|
$this->noHardware = [
|
2017-06-12 17:39:03 -07:00
|
|
|
'assets.view' => false,
|
|
|
|
'assets.create' => false,
|
|
|
|
'assets.edit' => false,
|
|
|
|
'assets.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
];
|
|
|
|
|
|
|
|
$this->noLicenses = [
|
2017-06-12 17:39:03 -07:00
|
|
|
'licenses.view' => false,
|
|
|
|
'licenses.create' => false,
|
|
|
|
'licenses.edit' => false,
|
|
|
|
'licenses.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
];
|
|
|
|
|
|
|
|
$this->noAccessories = [
|
2017-06-12 17:39:03 -07:00
|
|
|
'accessories.view' => false,
|
|
|
|
'accessories.create' => false,
|
|
|
|
'accessories.edit' => false,
|
|
|
|
'accessories.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
];
|
|
|
|
|
|
|
|
$this->noConsumables = [
|
2017-06-12 17:39:03 -07:00
|
|
|
'consumables.view' => false,
|
|
|
|
'consumables.create' => false,
|
|
|
|
'consumables.edit' => false,
|
|
|
|
'consumables.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
];
|
|
|
|
|
|
|
|
$this->noComponents = [
|
2017-06-12 17:39:03 -07:00
|
|
|
'components.view' => false,
|
|
|
|
'components.create' => false,
|
|
|
|
'components.edit' => false,
|
|
|
|
'components.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
];
|
|
|
|
|
|
|
|
$this->noUsers = [
|
2017-06-12 17:39:03 -07:00
|
|
|
'users.view' => false,
|
|
|
|
'users.create' => false,
|
|
|
|
'users.edit' => false,
|
|
|
|
'users.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
];
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
private $noHardware;
|
|
|
|
private $noLicenses;
|
|
|
|
private $noAccessories;
|
|
|
|
private $noConsumables;
|
|
|
|
private $noComponents;
|
|
|
|
private $noUsers;
|
|
|
|
|
|
|
|
// tests
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_no_permissions_sees_nothing()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
$permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers;
|
|
|
|
// $permissions = $this->noHardware;
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_view_asset_permissions_can_view_assets()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('view-assets')->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
$permissions = $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
2017-06-12 17:39:03 -07:00
|
|
|
'assets.view' => true,
|
|
|
|
'assets.create' => false,
|
|
|
|
'assets.edit' => false,
|
|
|
|
'assets.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_create_asset_permissions_can_create_assets()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('create-assets')->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
$permissions = $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
2017-06-12 17:39:03 -07:00
|
|
|
'assets.view' => false,
|
|
|
|
'assets.create' => true,
|
|
|
|
'assets.edit' => false,
|
|
|
|
'assets.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_edit_assets_permissions_can_edit_assets()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('edit-assets')->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
|
|
|
|
$permissions = $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
2017-06-12 17:39:03 -07:00
|
|
|
'assets.view' => false,
|
|
|
|
'assets.create' => false,
|
|
|
|
'assets.edit' => true,
|
|
|
|
'assets.delete' => false,
|
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_delete_assets_permissions_can_delete_assets()
|
|
|
|
{
|
|
|
|
$u = factory(App\Models\User::class)->states('delete-assets')->create();
|
|
|
|
$permissions = $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers;
|
|
|
|
$permissions = array_merge($permissions, [
|
|
|
|
'assets.view' => false,
|
|
|
|
'assets.create' => false,
|
|
|
|
'assets.edit' => false,
|
|
|
|
'assets.delete' => true,
|
2016-12-19 11:04:28 -08:00
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_view_licenses_permissions_can_view_licenses()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('view-licenses')->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
$permissions = $this->noHardware + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
2017-06-12 17:39:03 -07:00
|
|
|
'licenses.view' => true,
|
|
|
|
'licenses.create' => false,
|
|
|
|
'licenses.edit' => false,
|
|
|
|
'licenses.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_create_licenses_permissions_can_create_licenses()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('create-licenses')->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
$permissions = $this->noHardware + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
2017-06-12 17:39:03 -07:00
|
|
|
'licenses.view' => false,
|
|
|
|
'licenses.create' => true,
|
|
|
|
'licenses.edit' => false,
|
|
|
|
'licenses.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_edit_licenses_permissions_can_edit_licenses()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('edit-licenses')->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
$permissions = $this->noHardware + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
2017-06-12 17:39:03 -07:00
|
|
|
'licenses.view' => false,
|
|
|
|
'licenses.create' => false,
|
|
|
|
'licenses.edit' => true,
|
|
|
|
'licenses.delete' => false,
|
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_delete_licenses_permissions_can_delete_licenses()
|
|
|
|
{
|
|
|
|
$u = factory(App\Models\User::class)->states('delete-licenses')->create();
|
|
|
|
$permissions = $this->noHardware + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
|
|
|
'licenses.view' => false,
|
|
|
|
'licenses.create' => false,
|
|
|
|
'licenses.edit' => false,
|
|
|
|
'licenses.delete' => true,
|
2016-12-19 11:04:28 -08:00
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_view_accessories_permissions_can_view_accessories()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('view-accessories')->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
|
|
|
|
$permissions = $this->noHardware + $this->noLicenses + $this->noConsumables + $this->noComponents + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
2017-06-12 17:39:03 -07:00
|
|
|
'accessories.view' => true,
|
|
|
|
'accessories.create' => false,
|
|
|
|
'accessories.edit' => false,
|
|
|
|
'accessories.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_create_accessories_permissions_can_create_accessories()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('create-accessories')->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
|
|
|
|
$permissions = $this->noHardware + $this->noLicenses + $this->noConsumables + $this->noComponents + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
2017-06-12 17:39:03 -07:00
|
|
|
'accessories.view' => false,
|
|
|
|
'accessories.create' => true,
|
|
|
|
'accessories.edit' => false,
|
|
|
|
'accessories.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_edit_accessories_permissions_can_edit_accessories()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('edit-accessories')->create();
|
|
|
|
|
|
|
|
$permissions = $this->noHardware + $this->noLicenses + $this->noConsumables + $this->noComponents + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
|
|
|
'accessories.view' => false,
|
|
|
|
'accessories.create' => false,
|
|
|
|
'accessories.edit' => true,
|
|
|
|
'accessories.delete' => false,
|
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_delete_accessories_permissions_can_delete_accessories()
|
|
|
|
{
|
|
|
|
$u = factory(App\Models\User::class)->states('delete-accessories')->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
|
|
|
|
$permissions = $this->noHardware + $this->noLicenses + $this->noConsumables + $this->noComponents + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
2017-06-12 17:39:03 -07:00
|
|
|
'accessories.view' => false,
|
|
|
|
'accessories.create' => false,
|
|
|
|
'accessories.edit' => false,
|
|
|
|
'accessories.delete' => true,
|
2016-12-19 11:04:28 -08:00
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_view_consumables_permissions_can_view_consumables()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('view-consumables')->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
|
|
|
|
$permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noComponents + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
2017-06-12 17:39:03 -07:00
|
|
|
'consumables.view' => true,
|
|
|
|
'consumables.create' => false,
|
|
|
|
'consumables.edit' => false,
|
|
|
|
'consumables.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_create_consumables_permissions_can_create_consumables()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('create-consumables')->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
|
|
|
|
$permissions = $this->noHardware + $this->noLicenses + $this->noConsumables + $this->noComponents + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
2017-06-12 17:39:03 -07:00
|
|
|
'consumables.view' => false,
|
|
|
|
'consumables.create' => true,
|
|
|
|
'consumables.edit' => false,
|
|
|
|
'consumables.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_edit_consumables_permissions_can_edit_consumables()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('edit-consumables')->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
|
|
|
|
$permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noComponents + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
2017-06-12 17:39:03 -07:00
|
|
|
'consumables.view' => false,
|
|
|
|
'consumables.create' => false,
|
|
|
|
'consumables.edit' => true,
|
|
|
|
'consumables.delete' => false,
|
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_delete_consumables_permissions_can_delete_consumables()
|
|
|
|
{
|
|
|
|
$u = factory(App\Models\User::class)->states('delete-consumables')->create();
|
|
|
|
|
|
|
|
$permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noComponents + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
|
|
|
'consumables.view' => false,
|
|
|
|
'consumables.create' => false,
|
|
|
|
'consumables.edit' => false,
|
|
|
|
'consumables.delete' => true,
|
2016-12-19 11:04:28 -08:00
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_view_users_permissions_can_view_users()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('view-users')->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
|
|
|
|
$permissions = $this->noHardware + $this->noLicenses + $this->noAccessories +$this->noConsumables + $this->noComponents;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
2017-06-12 17:39:03 -07:00
|
|
|
'users.view' => true,
|
|
|
|
'users.create' => false,
|
|
|
|
'users.edit' => false,
|
|
|
|
'users.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_create_users_permissions_can_create_users()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('create-users')->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
|
|
|
|
$permissions = $this->noHardware + $this->noLicenses + $this->noAccessories +$this->noConsumables + $this->noComponents;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
2017-06-12 17:39:03 -07:00
|
|
|
'users.view' => false,
|
|
|
|
'users.create' => true,
|
|
|
|
'users.edit' => false,
|
|
|
|
'users.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_edit_users_permissions_can_edit_users()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('edit-users')->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
|
|
|
|
$permissions = $this->noHardware + $this->noLicenses + $this->noAccessories +$this->noConsumables + $this->noComponents;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
2017-06-12 17:39:03 -07:00
|
|
|
'users.view' => false,
|
|
|
|
'users.create' => false,
|
|
|
|
'users.edit' => true,
|
|
|
|
'users.delete' => false,
|
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_delete_users_permissions_can_delete_users()
|
|
|
|
{
|
|
|
|
$u = factory(App\Models\User::class)->states('delete-users')->create();
|
|
|
|
|
|
|
|
$permissions = $this->noHardware + $this->noLicenses + $this->noAccessories +$this->noConsumables + $this->noComponents;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
|
|
|
'users.view' => false,
|
|
|
|
'users.create' => false,
|
|
|
|
'users.edit' => false,
|
|
|
|
'users.delete' => true,
|
2016-12-19 11:04:28 -08:00
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_view_components_permissions_can_view_components()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('view-components')->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
|
|
|
|
$permissions = $this->noHardware + $this->noLicenses + $this->noAccessories +$this->noConsumables + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
2017-06-12 17:39:03 -07:00
|
|
|
'components.view' => true,
|
|
|
|
'components.create' => false,
|
|
|
|
'components.edit' => false,
|
|
|
|
'components.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_create_components_permissions_can_create_components()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('create-components')->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
$permissions = $this->noHardware + $this->noLicenses + $this->noAccessories +$this->noConsumables + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
2017-06-12 17:39:03 -07:00
|
|
|
'components.view' => false,
|
|
|
|
'components.create' => true,
|
|
|
|
'components.edit' => false,
|
|
|
|
'components.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_edit_components_permissions_can_edit_components()
|
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('edit-components')->create();
|
2016-12-19 11:04:28 -08:00
|
|
|
|
|
|
|
$permissions = $this->noHardware + $this->noLicenses + $this->noAccessories +$this->noConsumables + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
2017-06-12 17:39:03 -07:00
|
|
|
'components.view' => false,
|
|
|
|
'components.create' => false,
|
|
|
|
'components.edit' => true,
|
|
|
|
'components.delete' => false,
|
2016-12-19 11:04:28 -08:00
|
|
|
]);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
2017-06-12 17:39:03 -07:00
|
|
|
/**
|
|
|
|
* @test
|
|
|
|
*/
|
|
|
|
public function a_user_with_delete_components_permissions_can_delete_components()
|
2016-12-19 11:04:28 -08:00
|
|
|
{
|
2017-06-12 17:39:03 -07:00
|
|
|
$u = factory(App\Models\User::class)->states('delete-components')->create();
|
2016-12-19 22:00:50 -08:00
|
|
|
|
2017-06-12 17:39:03 -07:00
|
|
|
$permissions = $this->noHardware + $this->noLicenses + $this->noAccessories +$this->noConsumables + $this->noUsers;
|
|
|
|
|
|
|
|
$permissions = array_merge($permissions, [
|
|
|
|
'components.view' => false,
|
|
|
|
'components.create' => false,
|
|
|
|
'components.edit' => false,
|
|
|
|
'components.delete' => true,
|
|
|
|
]);
|
|
|
|
// dd($u);
|
|
|
|
$this->hitRoutes($permissions, $u);
|
|
|
|
}
|
|
|
|
|
|
|
|
private function hitRoutes(array $routes, User $user)
|
|
|
|
{
|
|
|
|
foreach ($routes as $route => $expectation) {
|
|
|
|
$this->assertEquals($user->hasAccess($route), $expectation);
|
2016-12-19 11:04:28 -08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|