0
0
Fork 0
mirror of https://github.com/BookStackApp/BookStack.git synced 2025-03-08 17:53:03 +00:00

Notifications: Fixed issues causing failing tests

- Ensured watch options passed in all meta template usage to fix failing
  scenarios where watch options did not exist.
- Fixed testing issue caused by guest user permission caching.
This commit is contained in:
Dan Brown 2023-08-17 14:59:28 +01:00
parent 79470ea4b7
commit ee9e342b58
No known key found for this signature in database
GPG key ID: 46D9F943C24A2EF9
9 changed files with 14 additions and 8 deletions

View file

@ -88,8 +88,6 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
/**
* This holds the default user when loaded.
*
* @var null|User
*/
protected static ?User $defaultUser = null;
@ -107,6 +105,11 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
return static::$defaultUser;
}
public static function clearDefault(): void
{
static::$defaultUser = null;
}
/**
* Check if the user is the default public user.
*/

View file

@ -70,7 +70,7 @@
<div class="mb-xl">
<h5>{{ trans('common.details') }}</h5>
<div class="blended-links">
@include('entities.meta', ['entity' => $book])
@include('entities.meta', ['entity' => $book, 'watchOptions' => $watchOptions])
@if($book->hasPermissions())
<div class="active-restriction">
@if(userCan('restrictions-manage', $book))

View file

@ -67,7 +67,7 @@
<div class="mb-xl">
<h5>{{ trans('common.details') }}</h5>
<div class="blended-links">
@include('entities.meta', ['entity' => $chapter])
@include('entities.meta', ['entity' => $chapter, 'watchOptions' => $watchOptions])
@if($book->hasPermissions())
<div class="active-restriction">

View file

@ -4,7 +4,7 @@
<div id="revision-details" class="entity-details mb-xl">
<h5>{{ trans('common.details') }}</h5>
<div class="body text-small text-muted">
@include('entities.meta', ['entity' => $revision])
@include('entities.meta', ['entity' => $revision, 'watchOptions' => null])
</div>
</div>
@stop

View file

@ -81,7 +81,7 @@
<div id="page-details" class="entity-details mb-xl">
<h5>{{ trans('common.details') }}</h5>
<div class="blended-links">
@include('entities.meta', ['entity' => $page])
@include('entities.meta', ['entity' => $page, 'watchOptions' => $watchOptions])
@if($book->hasPermissions())
<div class="active-restriction">

View file

@ -79,7 +79,7 @@
<div id="details" class="mb-xl">
<h5>{{ trans('common.details') }}</h5>
<div class="blended-links">
@include('entities.meta', ['entity' => $shelf])
@include('entities.meta', ['entity' => $shelf, 'watchOptions' => null])
@if($shelf->hasPermissions())
<div class="active-restriction">
@if(userCan('restrictions-manage', $shelf))

View file

@ -102,6 +102,7 @@ class WatchTest extends TestCase
]);
$this->assertPermissionError($resp);
$guest->unsetRelations();
}
public function test_watch_detail_display_reflects_state()

View file

@ -55,7 +55,7 @@ class UserRoleProvider
*/
public function guest(): User
{
return User::where('system_name', '=', 'public')->firstOrFail();
return User::getDefault();
}
/**

View file

@ -5,6 +5,7 @@ namespace Tests;
use BookStack\Entities\Models\Entity;
use BookStack\Settings\SettingService;
use BookStack\Uploads\HttpFetcher;
use BookStack\Users\Models\User;
use GuzzleHttp\Client;
use GuzzleHttp\Handler\MockHandler;
use GuzzleHttp\HandlerStack;
@ -46,6 +47,7 @@ abstract class TestCase extends BaseTestCase
$this->permissions = new PermissionsProvider($this->users);
$this->files = new FileProvider();
User::clearDefault();
parent::setUp();
// We can uncomment the below to run tests with failings upon deprecations.