1
0
mirror of https://github.com/BookStackApp/BookStack.git synced 2025-07-30 04:23:11 +03:00

Made adjustments to fit copied work into dev branch

Ported non-compatible elements, Now all tests passing apart from some
specific permission scenario tests which are probably correctly failing.
Updates some tests to better avoid messing environment state.
This commit is contained in:
Dan Brown
2023-01-21 13:03:47 +00:00
parent c724bfe4d3
commit e2a72d16aa
8 changed files with 31 additions and 413 deletions

View File

@ -3,6 +3,8 @@
namespace Tests\Commands;
use BookStack\Auth\Permissions\CollapsedPermission;
use BookStack\Auth\Permissions\EntityPermission;
use BookStack\Auth\Permissions\JointPermission;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\DB;
use Tests\TestCase;
@ -14,21 +16,25 @@ class RegeneratePermissionsCommandTest extends TestCase
DB::rollBack();
$page = $this->entities->page();
$editor = $this->users->editor();
$this->permissions->addEntityPermission($page, ['view'], null, $editor);
CollapsedPermission::query()->truncate();
$role = $editor->roles()->first();
$this->permissions->addEntityPermission($page, ['view'], $role);
JointPermission::query()->truncate();
$this->assertDatabaseMissing('entity_permissions_collapsed', ['entity_id' => $page->id]);
$this->assertDatabaseMissing('joint_permissions', ['entity_id' => $page->id]);
$exitCode = Artisan::call('bookstack:regenerate-permissions');
$this->assertTrue($exitCode === 0, 'Command executed successfully');
$this->assertDatabaseHas('entity_permissions_collapsed', [
$this->assertDatabaseHas('joint_permissions', [
'entity_id' => $page->id,
'user_id' => $editor->id,
'view' => 1,
'entity_type' => 'page',
'role_id' => $role->id,
'has_permission' => 1,
]);
CollapsedPermission::query()->truncate();
$page->permissions()->delete();
$page->rebuildPermissions();
DB::beginTransaction();
}
}