true, '--name' => 'laraland']); } public function _before(FunctionalTester $I) { $this->initDatabase(); Passport::actingAs(Admin::find(1)); $I->seeAuthentication('api'); } public function _after(FunctionalTester $I) { } public function getAllRoles(FunctionalTester $I) { $role = Role::find(1); $I->sendGET($this->endpoint); $I->seeResponseContainsJson([ 'data' => [ ['name' => $role->name] ] ]); } public function getSingleRole(FunctionalTester $I) { $role = Role::find(1); $I->sendGET($this->endpoint . '/' . $role->id); $I->seeResponseContainsJson([ 'data' => [ 'name' => $role->name ] ]); } public function storeRole(FunctionalTester $I) { Auth::user()->givePermissionTo('create-role'); $role = [ 'name' => 'mahasiswa', 'guard_name' => 'web' ]; $I->sendPOST($this->endpoint, $role); $I->seeResponseContainsJson([ 'data' => [ 'name' => $role['name'] ] ]); } public function updateRole(FunctionalTester $I) { Auth::user()->givePermissionTo('update-role'); $role = Role::find(1); $update = [ 'name' => 'mahasiswa', 'guard_name' => 'web' ]; $I->sendPUT($this->endpoint . '/' . $role->id, $update); $I->seeResponseContainsJson([ 'data' => [ 'name' => $update['name'], 'guard_name' => $update['guard_name'] ] ]); } public function deleteRole(FunctionalTester $I) { $role = Role::find(1); $I->sendDELETE($this->endpoint . '/' . $role->id); $I->seeResponseCodeIsSuccessful(); $I->seeResponseContains('deleted'); } public function attachPermission(FunctionalTester $I) { $role = Role::find(1); $permission = Permission::find(1); $I->sendPATCH($this->endpoint . '/' . $role->id . '/attach-permission/' . $permission->id); $I->seeResponseContainsJson([ 'data' => [ 'permissions' => [ ['name' => $permission->name] ] ] ]); } public function attachMultiPermissions(FunctionalTester $I) { $role = Role::find(1); $permissions = [1, 2, 3]; $I->sendPATCH($this->endpoint . '/' . $role->id . '/attach-permissions', $permissions); $I->seeResponseContainsJson([ 'permissions' => [ ['id' => $permissions[0]], ['id' => $permissions[1]], ['id' => $permissions[2]] ] ]); } public function removePermission(FunctionalTester $I) { $role = Role::find(1); $permission = Permission::find(1); $I->sendPATCH($this->endpoint . '/' . $role->id . '/remove-permission/' . $permission->id); $I->dontSeeResponseContainsJson([ 'data' => [ 'permissions' => [ ['name' => $permission->id] ] ] ]); } }