noHardware = [ // 'assets.view' => false, // 'assets.create' => false, // 'assets.edit' => false, // 'assets.delete' => false, // ]; // $this->noLicenses = [ // 'licenses.view' => false, // 'licenses.create' => false, // 'licenses.edit' => false, // 'licenses.delete' => false, // ]; // $this->noAccessories = [ // 'accessories.view' => false, // 'accessories.create' => false, // 'accessories.edit' => false, // 'accessories.delete' => false, // ]; // $this->noConsumables = [ // 'consumables.view' => false, // 'consumables.create' => false, // 'consumables.edit' => false, // 'consumables.delete' => false, // ]; // $this->noComponents = [ // 'components.view' => false, // 'components.create' => false, // 'components.edit' => false, // 'components.delete' => false, // ]; // $this->noUsers = [ // 'users.view' => false, // 'users.create' => false, // 'users.edit' => false, // 'users.delete' => false, // ]; // } // private $noHardware; // private $noLicenses; // private $noAccessories; // private $noConsumables; // private $noComponents; // private $noUsers; // // tests // /** // * @test // */ // public function a_user_with_no_permissions_sees_nothing() // { // $u = \App\Models\User::factory()->create(); // $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() // { // $u = \App\Models\User::factory()->viewAssets()->create(); // $permissions = $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers; // $permissions = array_merge($permissions, [ // 'assets.view' => true, // 'assets.create' => false, // 'assets.edit' => false, // 'assets.delete' => false, // ]); // $this->hitRoutes($permissions, $u); // } // /** // * @test // */ // public function a_user_with_create_asset_permissions_can_create_assets() // { // $u = \App\Models\User::factory()->createAssets()->create(); // $permissions = $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers; // $permissions = array_merge($permissions, [ // 'assets.view' => false, // 'assets.create' => true, // 'assets.edit' => false, // 'assets.delete' => false, // ]); // $this->hitRoutes($permissions, $u); // } // /** // * @test // */ // public function a_user_with_edit_assets_permissions_can_edit_assets() // { // $u = \App\Models\User::factory()->editAssets()->create(); // $permissions = $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers; // $permissions = array_merge($permissions, [ // '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 = \App\Models\User::factory()->deleteAssets()->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, // ]); // $this->hitRoutes($permissions, $u); // } // /** // * @test // */ // public function a_user_with_view_licenses_permissions_can_view_licenses() // { // $u = \App\Models\User::factory()->viewLicenses()->create(); // $permissions = $this->noHardware + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers; // $permissions = array_merge($permissions, [ // 'licenses.view' => true, // 'licenses.create' => false, // 'licenses.edit' => false, // 'licenses.delete' => false, // ]); // $this->hitRoutes($permissions, $u); // } // /** // * @test // */ // public function a_user_with_create_licenses_permissions_can_create_licenses() // { // $u = \App\Models\User::factory()->createLicenses()->create(); // $permissions = $this->noHardware + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers; // $permissions = array_merge($permissions, [ // 'licenses.view' => false, // 'licenses.create' => true, // 'licenses.edit' => false, // 'licenses.delete' => false, // ]); // $this->hitRoutes($permissions, $u); // } // /** // * @test // */ // public function a_user_with_edit_licenses_permissions_can_edit_licenses() // { // $u = \App\Models\User::factory()->editLicenses()->create(); // $permissions = $this->noHardware + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers; // $permissions = array_merge($permissions, [ // '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 = \App\Models\User::factory()->deleteLicenses()->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, // ]); // $this->hitRoutes($permissions, $u); // } // /** // * @test // */ // public function a_user_with_view_accessories_permissions_can_view_accessories() // { // $u = \App\Models\User::factory()->viewAccessories()->create(); // $permissions = $this->noHardware + $this->noLicenses + $this->noConsumables + $this->noComponents + $this->noUsers; // $permissions = array_merge($permissions, [ // 'accessories.view' => true, // 'accessories.create' => false, // 'accessories.edit' => false, // 'accessories.delete' => false, // ]); // $this->hitRoutes($permissions, $u); // } // /** // * @test // */ // public function a_user_with_create_accessories_permissions_can_create_accessories() // { // $u = \App\Models\User::factory()->createAccessories()->create(); // $permissions = $this->noHardware + $this->noLicenses + $this->noConsumables + $this->noComponents + $this->noUsers; // $permissions = array_merge($permissions, [ // 'accessories.view' => false, // 'accessories.create' => true, // 'accessories.edit' => false, // 'accessories.delete' => false, // ]); // $this->hitRoutes($permissions, $u); // } // /** // * @test // */ // public function a_user_with_edit_accessories_permissions_can_edit_accessories() // { // $u = \App\Models\User::factory()->editAccessories()->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 = \App\Models\User::factory()->deleteAccessories()->create(); // $permissions = $this->noHardware + $this->noLicenses + $this->noConsumables + $this->noComponents + $this->noUsers; // $permissions = array_merge($permissions, [ // 'accessories.view' => false, // 'accessories.create' => false, // 'accessories.edit' => false, // 'accessories.delete' => true, // ]); // $this->hitRoutes($permissions, $u); // } // /** // * @test // */ // public function a_user_with_view_consumables_permissions_can_view_consumables() // { // $u = \App\Models\User::factory()->viewConsumables()->create(); // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noComponents + $this->noUsers; // $permissions = array_merge($permissions, [ // 'consumables.view' => true, // 'consumables.create' => false, // 'consumables.edit' => false, // 'consumables.delete' => false, // ]); // $this->hitRoutes($permissions, $u); // } // /** // * @test // */ // public function a_user_with_create_consumables_permissions_can_create_consumables() // { // $u = \App\Models\User::factory()->createConsumables()->create(); // $permissions = $this->noHardware + $this->noLicenses + $this->noConsumables + $this->noComponents + $this->noUsers; // $permissions = array_merge($permissions, [ // 'consumables.view' => false, // 'consumables.create' => true, // 'consumables.edit' => false, // 'consumables.delete' => false, // ]); // $this->hitRoutes($permissions, $u); // } // /** // * @test // */ // public function a_user_with_edit_consumables_permissions_can_edit_consumables() // { // $u = \App\Models\User::factory()->editConsumables()->create(); // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noComponents + $this->noUsers; // $permissions = array_merge($permissions, [ // '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 = \App\Models\User::factory()->deleteConsumables()->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, // ]); // $this->hitRoutes($permissions, $u); // } // /** // * @test // */ // public function a_user_with_view_users_permissions_can_view_users() // { // $u = \App\Models\User::factory()->viewUsers()->create(); // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents; // $permissions = array_merge($permissions, [ // 'users.view' => true, // 'users.create' => false, // 'users.edit' => false, // 'users.delete' => false, // ]); // $this->hitRoutes($permissions, $u); // } // /** // * @test // */ // public function a_user_with_create_users_permissions_can_create_users() // { // $u = \App\Models\User::factory()->createUsers()->create(); // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents; // $permissions = array_merge($permissions, [ // 'users.view' => false, // 'users.create' => true, // 'users.edit' => false, // 'users.delete' => false, // ]); // $this->hitRoutes($permissions, $u); // } // /** // * @test // */ // public function a_user_with_edit_users_permissions_can_edit_users() // { // $u = \App\Models\User::factory()->editUsers()->create(); // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents; // $permissions = array_merge($permissions, [ // '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 = \App\Models\User::factory()->deleteUsers()->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, // ]); // $this->hitRoutes($permissions, $u); // } // /** // * @test // */ // public function a_user_with_view_components_permissions_can_view_components() // { // $u = \App\Models\User::factory()->viewComponents()->create(); // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noUsers; // $permissions = array_merge($permissions, [ // 'components.view' => true, // 'components.create' => false, // 'components.edit' => false, // 'components.delete' => false, // ]); // $this->hitRoutes($permissions, $u); // } // /** // * @test // */ // public function a_user_with_create_components_permissions_can_create_components() // { // $u = \App\Models\User::factory()->createComponents()->create(); // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noUsers; // $permissions = array_merge($permissions, [ // 'components.view' => false, // 'components.create' => true, // 'components.edit' => false, // 'components.delete' => false, // ]); // $this->hitRoutes($permissions, $u); // } // /** // * @test // */ // public function a_user_with_edit_components_permissions_can_edit_components() // { // $u = \App\Models\User::factory()->editComponents()->create(); // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noUsers; // $permissions = array_merge($permissions, [ // 'components.view' => false, // 'components.create' => false, // 'components.edit' => true, // 'components.delete' => false, // ]); // $this->hitRoutes($permissions, $u); // } // /** // * @test // */ // public function a_user_with_delete_components_permissions_can_delete_components() // { // $u = \App\Models\User::factory()->deleteComponents()->create(); // $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); // } // } }