+ /**
+ * Give the given user some permissions.
+ * @param \BookStack\Auth\User $user
+ * @param array $permissions
+ */
+ protected function giveUserPermissions(\BookStack\Auth\User $user, $permissions = [])
+ {
+ $newRole = $this->createNewRole($permissions);
+ $user->attachRole($newRole);
+ $user->load('roles');
+ $user->permissions(false);
+ }
+
+ /**
+ * Create a new basic role for testing purposes.
+ * @param array $permissions
+ * @return Role
+ */
+ protected function createNewRole($permissions = [])
+ {
+ $permissionRepo = app(PermissionsRepo::class);
+ $roleData = factory(Role::class)->make()->toArray();
+ $roleData['permissions'] = array_flip($permissions);
+ return $permissionRepo->saveNewRole($roleData);
+ }
+