X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/c724bfe4d37037e90a305b5ff9410070ccf90bb9..refs/pull/5721/head:/tests/Commands/RegeneratePermissionsCommandTest.php diff --git a/tests/Commands/RegeneratePermissionsCommandTest.php b/tests/Commands/RegeneratePermissionsCommandTest.php index cc53b460d..75c6c1b38 100644 --- a/tests/Commands/RegeneratePermissionsCommandTest.php +++ b/tests/Commands/RegeneratePermissionsCommandTest.php @@ -3,6 +3,7 @@ namespace Tests\Commands; use BookStack\Auth\Permissions\CollapsedPermission; +use BookStack\Permissions\Models\JointPermission; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\DB; use Tests\TestCase; @@ -14,21 +15,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, + 'status' => 3, // Explicit allow ]); - CollapsedPermission::query()->truncate(); + $page->permissions()->delete(); + $page->rebuildPermissions(); + DB::beginTransaction(); } }