diff --git a/tests/Actions/AuditLogTest.php b/tests/Actions/AuditLogTest.php index 8fbf66e76..f4eebb364 100644 --- a/tests/Actions/AuditLogTest.php +++ b/tests/Actions/AuditLogTest.php @@ -46,7 +46,7 @@ class AuditLogTest extends TestCase { $admin = $this->getAdmin(); $this->actingAs($admin); - $page = Page::query()->first(); + $page = $this->entities->page(); $this->activityService->add(ActivityType::PAGE_CREATE, $page); $activity = Activity::query()->orderBy('id', 'desc')->first(); @@ -60,7 +60,7 @@ class AuditLogTest extends TestCase public function test_shows_name_for_deleted_items() { $this->actingAs($this->getAdmin()); - $page = Page::query()->first(); + $page = $this->entities->page(); $pageName = $page->name; $this->activityService->add(ActivityType::PAGE_CREATE, $page); @@ -76,7 +76,7 @@ class AuditLogTest extends TestCase { $viewer = $this->getViewer(); $this->actingAs($viewer); - $page = Page::query()->first(); + $page = $this->entities->page(); $this->activityService->add(ActivityType::PAGE_CREATE, $page); $this->actingAs($this->getAdmin()); @@ -89,7 +89,7 @@ class AuditLogTest extends TestCase public function test_filters_by_key() { $this->actingAs($this->getAdmin()); - $page = Page::query()->first(); + $page = $this->entities->page(); $this->activityService->add(ActivityType::PAGE_CREATE, $page); $resp = $this->get('settings/audit'); @@ -102,7 +102,7 @@ class AuditLogTest extends TestCase public function test_date_filters() { $this->actingAs($this->getAdmin()); - $page = Page::query()->first(); + $page = $this->entities->page(); $this->activityService->add(ActivityType::PAGE_CREATE, $page); $yesterday = (Carbon::now()->subDay()->format('Y-m-d')); @@ -126,11 +126,11 @@ class AuditLogTest extends TestCase $admin = $this->getAdmin(); $editor = $this->getEditor(); $this->actingAs($admin); - $page = Page::query()->first(); + $page = $this->entities->page(); $this->activityService->add(ActivityType::PAGE_CREATE, $page); $this->actingAs($editor); - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $this->activityService->add(ActivityType::CHAPTER_UPDATE, $chapter); $resp = $this->actingAs($admin)->get('settings/audit?user=' . $admin->id); @@ -146,8 +146,7 @@ class AuditLogTest extends TestCase { config()->set('app.proxies', '*'); $editor = $this->getEditor(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $this->actingAs($editor)->put($page->getUrl(), [ 'name' => 'Updated page', @@ -171,8 +170,7 @@ class AuditLogTest extends TestCase { config()->set('app.proxies', '*'); $editor = $this->getEditor(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $this->actingAs($editor)->put($page->getUrl(), [ 'name' => 'Updated page', @@ -198,8 +196,7 @@ class AuditLogTest extends TestCase config()->set('app.proxies', '*'); config()->set('app.env', 'demo'); $editor = $this->getEditor(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $this->actingAs($editor)->put($page->getUrl(), [ 'name' => 'Updated page', @@ -222,8 +219,7 @@ class AuditLogTest extends TestCase config()->set('app.proxies', '*'); config()->set('app.ip_address_precision', 2); $editor = $this->getEditor(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $this->actingAs($editor)->put($page->getUrl(), [ 'name' => 'Updated page', diff --git a/tests/Actions/WebhookCallTest.php b/tests/Actions/WebhookCallTest.php index d9f9ddad5..7964fd8af 100644 --- a/tests/Actions/WebhookCallTest.php +++ b/tests/Actions/WebhookCallTest.php @@ -88,8 +88,7 @@ class WebhookCallTest extends TestCase '*' => Http::response('', 200), ]); $webhook = $this->newWebhook(['active' => true, 'endpoint' => 'https://wh.example.com'], ['all']); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $editor = $this->getEditor(); $this->runEvent(ActivityType::PAGE_UPDATE, $page, $editor); diff --git a/tests/Actions/WebhookFormatTesting.php b/tests/Actions/WebhookFormatTesting.php index 4e9ba5e47..35467a76a 100644 --- a/tests/Actions/WebhookFormatTesting.php +++ b/tests/Actions/WebhookFormatTesting.php @@ -32,8 +32,7 @@ class WebhookFormatTesting extends TestCase public function test_page_create_and_update_events_show_revision_info() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asEditor()->put($page->getUrl(), ['name' => 'Updated page', 'html' => 'new page html', 'summary' => 'Update a']); $data = $this->getWebhookData(ActivityType::PAGE_UPDATE, $page); diff --git a/tests/Api/AttachmentsApiTest.php b/tests/Api/AttachmentsApiTest.php index dfd57deb8..c295f7384 100644 --- a/tests/Api/AttachmentsApiTest.php +++ b/tests/Api/AttachmentsApiTest.php @@ -17,7 +17,7 @@ class AttachmentsApiTest extends TestCase public function test_index_endpoint_returns_expected_book() { $this->actingAsApiEditor(); - $page = Page::query()->first(); + $page = $this->entities->page(); $attachment = $this->createAttachmentForPage($page, [ 'name' => 'My test attachment', 'external' => true, @@ -37,8 +37,7 @@ class AttachmentsApiTest extends TestCase public function test_attachments_listing_based_upon_page_visibility() { $this->actingAsApiEditor(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $attachment = $this->createAttachmentForPage($page, [ 'name' => 'My test attachment', 'external' => true, @@ -66,8 +65,7 @@ class AttachmentsApiTest extends TestCase public function test_create_endpoint_for_link_attachment() { $this->actingAsApiAdmin(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $details = [ 'name' => 'My attachment', @@ -85,8 +83,7 @@ class AttachmentsApiTest extends TestCase public function test_create_endpoint_for_upload_attachment() { $this->actingAsApiAdmin(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $file = $this->getTestFile('textfile.txt'); $details = [ @@ -106,8 +103,7 @@ class AttachmentsApiTest extends TestCase public function test_upload_limit_restricts_attachment_uploads() { $this->actingAsApiAdmin(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); config()->set('app.upload_limit', 1); @@ -130,8 +126,7 @@ class AttachmentsApiTest extends TestCase public function test_name_needed_to_create() { $this->actingAsApiAdmin(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $details = [ 'uploaded_to' => $page->id, @@ -146,8 +141,7 @@ class AttachmentsApiTest extends TestCase public function test_link_or_file_needed_to_create() { $this->actingAsApiAdmin(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $details = [ 'name' => 'my attachment', @@ -165,8 +159,7 @@ class AttachmentsApiTest extends TestCase public function test_message_shown_if_file_is_not_a_valid_file() { $this->actingAsApiAdmin(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $details = [ 'name' => 'my attachment', @@ -182,8 +175,7 @@ class AttachmentsApiTest extends TestCase public function test_read_endpoint_for_link_attachment() { $this->actingAsApiAdmin(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $attachment = $this->createAttachmentForPage($page, [ 'name' => 'my attachment', @@ -216,8 +208,7 @@ class AttachmentsApiTest extends TestCase public function test_read_endpoint_for_file_attachment() { $this->actingAsApiAdmin(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $file = $this->getTestFile('textfile.txt'); $details = [ @@ -259,8 +250,7 @@ class AttachmentsApiTest extends TestCase $this->actingAsApiAdmin(); $editor = $this->getEditor(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $page->draft = true; $page->owned_by = $editor->id; $page->save(); @@ -280,8 +270,7 @@ class AttachmentsApiTest extends TestCase public function test_update_endpoint() { $this->actingAsApiAdmin(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $attachment = $this->createAttachmentForPage($page); $details = [ @@ -298,8 +287,7 @@ class AttachmentsApiTest extends TestCase public function test_update_link_attachment_to_file() { $this->actingAsApiAdmin(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $attachment = $this->createAttachmentForPage($page); $file = $this->getTestFile('textfile.txt'); @@ -318,8 +306,7 @@ class AttachmentsApiTest extends TestCase public function test_update_file_attachment_to_link() { $this->actingAsApiAdmin(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $file = $this->getTestFile('textfile.txt'); $this->call('POST', $this->baseEndpoint, ['name' => 'My file attachment', 'uploaded_to' => $page->id], [], ['file' => $file]); /** @var Attachment $attachment */ @@ -346,8 +333,7 @@ class AttachmentsApiTest extends TestCase public function test_delete_endpoint() { $this->actingAsApiAdmin(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $attachment = $this->createAttachmentForPage($page); $resp = $this->deleteJson("{$this->baseEndpoint}/{$attachment->id}"); diff --git a/tests/Api/ChaptersApiTest.php b/tests/Api/ChaptersApiTest.php index 8d31500eb..22be2482c 100644 --- a/tests/Api/ChaptersApiTest.php +++ b/tests/Api/ChaptersApiTest.php @@ -34,7 +34,7 @@ class ChaptersApiTest extends TestCase public function test_create_endpoint() { $this->actingAsApiEditor(); - $book = Book::query()->first(); + $book = $this->entities->book(); $details = [ 'name' => 'My API chapter', 'description' => 'A chapter created via the API', @@ -64,7 +64,7 @@ class ChaptersApiTest extends TestCase public function test_chapter_name_needed_to_create() { $this->actingAsApiEditor(); - $book = Book::query()->first(); + $book = $this->entities->book(); $details = [ 'book_id' => $book->id, 'description' => 'A chapter created via the API', diff --git a/tests/Api/PagesApiTest.php b/tests/Api/PagesApiTest.php index 20c6977dd..fe1fc8d36 100644 --- a/tests/Api/PagesApiTest.php +++ b/tests/Api/PagesApiTest.php @@ -35,7 +35,7 @@ class PagesApiTest extends TestCase public function test_create_endpoint() { $this->actingAsApiEditor(); - $book = Book::query()->first(); + $book = $this->entities->book(); $details = [ 'name' => 'My API page', 'book_id' => $book->id, @@ -67,7 +67,7 @@ class PagesApiTest extends TestCase public function test_page_name_needed_to_create() { $this->actingAsApiEditor(); - $book = Book::query()->first(); + $book = $this->entities->book(); $details = [ 'book_id' => $book->id, 'html' => '
A page created via the API
', diff --git a/tests/Api/RecycleBinApiTest.php b/tests/Api/RecycleBinApiTest.php index 83cd82480..cdb51f85a 100644 --- a/tests/Api/RecycleBinApiTest.php +++ b/tests/Api/RecycleBinApiTest.php @@ -50,8 +50,8 @@ class RecycleBinApiTest extends TestCase { $admin = $this->getAdmin(); - $page = Page::query()->first(); - $book = Book::query()->first(); + $page = $this->entities->page(); + $book = $this->entities->book(); $this->actingAs($admin)->delete($page->getUrl()); $this->delete($book->getUrl()); @@ -139,7 +139,7 @@ class RecycleBinApiTest extends TestCase public function test_restore_endpoint() { - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asAdmin()->delete($page->getUrl()); $page->refresh(); @@ -163,7 +163,7 @@ class RecycleBinApiTest extends TestCase public function test_destroy_endpoint() { - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asAdmin()->delete($page->getUrl()); $page->refresh(); diff --git a/tests/Api/SearchApiTest.php b/tests/Api/SearchApiTest.php index 1f38c7fd9..cdc954ec3 100644 --- a/tests/Api/SearchApiTest.php +++ b/tests/Api/SearchApiTest.php @@ -38,8 +38,7 @@ class SearchApiTest extends TestCase public function test_all_endpoint_returns_entity_url() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $page->update(['name' => 'name with superuniquevalue within']); $page->indexForSearch(); @@ -52,8 +51,7 @@ class SearchApiTest extends TestCase public function test_all_endpoint_returns_items_with_preview_html() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $book->update(['name' => 'name with superuniquevalue within', 'description' => 'Description with superuniquevalue within']); $book->indexForSearch(); diff --git a/tests/Auth/AuthTest.php b/tests/Auth/AuthTest.php index 849469766..4456ed459 100644 --- a/tests/Auth/AuthTest.php +++ b/tests/Auth/AuthTest.php @@ -58,8 +58,7 @@ class AuthTest extends TestCase public function test_login_redirects_to_initially_requested_url_correctly() { config()->set('app.url', 'http://localhost'); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $this->get($page->getUrl())->assertRedirect(url('/login')); $this->login('admin@admin.com', 'password') diff --git a/tests/Commands/ClearActivityCommandTest.php b/tests/Commands/ClearActivityCommandTest.php index 71baa0ca6..abc8bc7f4 100644 --- a/tests/Commands/ClearActivityCommandTest.php +++ b/tests/Commands/ClearActivityCommandTest.php @@ -14,8 +14,7 @@ class ClearActivityCommandTest extends TestCase public function test_clear_activity_command() { $this->asEditor(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); Activity::add(ActivityType::PAGE_UPDATE, $page); $this->assertDatabaseHas('activities', [ diff --git a/tests/Commands/CopyShelfPermissionsCommandTest.php b/tests/Commands/CopyShelfPermissionsCommandTest.php index dd39317ae..bd96f2cc5 100644 --- a/tests/Commands/CopyShelfPermissionsCommandTest.php +++ b/tests/Commands/CopyShelfPermissionsCommandTest.php @@ -36,7 +36,7 @@ class CopyShelfPermissionsCommandTest extends TestCase public function test_copy_shelf_permissions_command_using_all() { - $shelf = Bookshelf::query()->first(); + $shelf = $this->entities->shelf(); Bookshelf::query()->where('id', '!=', $shelf->id)->delete(); $child = $shelf->books()->first(); $editorRole = $this->getEditor()->roles()->first(); diff --git a/tests/Commands/RegenerateReferencesCommandTest.php b/tests/Commands/RegenerateReferencesCommandTest.php index 27dde749b..2c737712a 100644 --- a/tests/Commands/RegenerateReferencesCommandTest.php +++ b/tests/Commands/RegenerateReferencesCommandTest.php @@ -10,8 +10,7 @@ class RegenerateReferencesCommandTest extends TestCase { public function test_regenerate_references_command() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $book = $page->book; $page->html = 'Book Link'; diff --git a/tests/Commands/UpdateUrlCommandTest.php b/tests/Commands/UpdateUrlCommandTest.php index 0acccd80c..c4b09162e 100644 --- a/tests/Commands/UpdateUrlCommandTest.php +++ b/tests/Commands/UpdateUrlCommandTest.php @@ -10,7 +10,7 @@ class UpdateUrlCommandTest extends TestCase { public function test_command_updates_page_content() { - $page = Page::query()->first(); + $page = $this->entities->page(); $page->html = ''; $page->save(); diff --git a/tests/Entity/BookShelfTest.php b/tests/Entity/BookShelfTest.php index 748f63da8..798edeadf 100644 --- a/tests/Entity/BookShelfTest.php +++ b/tests/Entity/BookShelfTest.php @@ -62,7 +62,7 @@ class BookShelfTest extends TestCase config()->set([ 'setting-defaults.user.bookshelves_view_type' => 'list', ]); - $shelf = Bookshelf::query()->first(); + $shelf = $this->entities->shelf(); $book = $shelf->books()->first(); $resp = $this->asEditor()->get('/shelves'); @@ -160,7 +160,7 @@ class BookShelfTest extends TestCase public function test_shelf_view_has_sort_control_that_defaults_to_default() { - $shelf = Bookshelf::query()->first(); + $shelf = $this->entities->shelf(); $resp = $this->asAdmin()->get($shelf->getUrl()); $this->withHtml($resp)->assertElementExists('form[action$="change-sort/shelf_books"]'); $this->withHtml($resp)->assertElementContains('form[action$="change-sort/shelf_books"] [aria-haspopup="true"]', 'Default'); @@ -373,8 +373,7 @@ class BookShelfTest extends TestCase public function test_cancel_on_child_book_creation_returns_to_original_shelf() { - /** @var Bookshelf $shelf */ - $shelf = Bookshelf::query()->first(); + $shelf = $this->entities->shelf(); $resp = $this->asEditor()->get($shelf->getUrl('/create-book')); $this->withHtml($resp)->assertElementContains('form a[href="' . $shelf->getUrl() . '"]', 'Cancel'); } diff --git a/tests/Entity/BookTest.php b/tests/Entity/BookTest.php index ec430ae84..2914162cf 100644 --- a/tests/Entity/BookTest.php +++ b/tests/Entity/BookTest.php @@ -80,8 +80,7 @@ class BookTest extends TestCase public function test_update() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); // Cheeky initial update to refresh slug $this->asEditor()->put($book->getUrl(), ['name' => $book->name . '5', 'description' => $book->description]); $book->refresh(); @@ -104,8 +103,7 @@ class BookTest extends TestCase public function test_update_sets_tags() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $this->assertEquals(0, $book->tags()->count()); @@ -167,15 +165,14 @@ class BookTest extends TestCase public function test_cancel_on_edit_book_page_leads_back_to_book() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $resp = $this->asEditor()->get($book->getUrl('/edit')); $this->withHtml($resp)->assertElementContains('form a[href="' . $book->getUrl() . '"]', 'Cancel'); } public function test_next_previous_navigation_controls_show_within_book_content() { - $book = Book::query()->first(); + $book = $this->entities->book(); $chapter = $book->chapters->first(); $resp = $this->asEditor()->get($chapter->getUrl()); @@ -270,8 +267,7 @@ class BookTest extends TestCase public function test_show_view_has_copy_button() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $resp = $this->asEditor()->get($book->getUrl()); $this->withHtml($resp)->assertElementContains("a[href=\"{$book->getUrl('/copy')}\"]", 'Copy'); @@ -279,8 +275,7 @@ class BookTest extends TestCase public function test_copy_view() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $resp = $this->asEditor()->get($book->getUrl('/copy')); $resp->assertOk(); @@ -338,8 +333,7 @@ class BookTest extends TestCase public function test_copy_clones_cover_image_if_existing() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $bookRepo = $this->app->make(BookRepo::class); $coverImageFile = $this->getTestImage('cover.png'); $bookRepo->updateCoverImage($book, $coverImageFile); @@ -357,8 +351,7 @@ class BookTest extends TestCase /** @var Bookshelf $shelfA */ /** @var Bookshelf $shelfB */ [$shelfA, $shelfB] = Bookshelf::query()->take(2)->get(); - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $shelfA->appendBook($book); $shelfB->appendBook($book); diff --git a/tests/Entity/ChapterTest.php b/tests/Entity/ChapterTest.php index c1c746102..fc8adb01d 100644 --- a/tests/Entity/ChapterTest.php +++ b/tests/Entity/ChapterTest.php @@ -11,8 +11,7 @@ class ChapterTest extends TestCase { public function test_create() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $chapter = Chapter::factory()->make([ 'name' => 'My First Chapter', @@ -58,8 +57,7 @@ class ChapterTest extends TestCase public function test_show_view_has_copy_button() { - /** @var Chapter $chapter */ - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $resp = $this->asEditor()->get($chapter->getUrl()); $this->withHtml($resp)->assertElementContains("a[href$=\"{$chapter->getUrl('/copy')}\"]", 'Copy'); @@ -67,8 +65,7 @@ class ChapterTest extends TestCase public function test_copy_view() { - /** @var Chapter $chapter */ - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $resp = $this->asEditor()->get($chapter->getUrl('/copy')); $resp->assertOk(); @@ -149,8 +146,7 @@ class ChapterTest extends TestCase public function test_sort_book_action_visible_if_permissions_allow() { - /** @var Chapter $chapter */ - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $resp = $this->actingAs($this->getViewer())->get($chapter->getUrl()); $this->withHtml($resp)->assertLinkNotExists($chapter->book->getUrl('sort')); diff --git a/tests/Entity/ConvertTest.php b/tests/Entity/ConvertTest.php index 58f694f60..15205c9ad 100644 --- a/tests/Entity/ConvertTest.php +++ b/tests/Entity/ConvertTest.php @@ -14,8 +14,7 @@ class ConvertTest extends TestCase { public function test_chapter_edit_view_shows_convert_option() { - /** @var Chapter $chapter */ - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $resp = $this->asEditor()->get($chapter->getUrl('/edit')); $resp->assertSee('Convert to Book'); @@ -50,8 +49,7 @@ class ConvertTest extends TestCase public function test_convert_chapter_to_book_requires_permissions() { - /** @var Chapter $chapter */ - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $user = $this->getViewer(); $permissions = ['chapter-delete-all', 'book-create-all', 'chapter-update-all']; @@ -71,7 +69,7 @@ class ConvertTest extends TestCase public function test_book_edit_view_shows_convert_option() { - $book = Book::query()->first(); + $book = $this->entities->book(); $resp = $this->asEditor()->get($book->getUrl('/edit')); $resp->assertSee('Convert to Shelf'); @@ -124,8 +122,7 @@ class ConvertTest extends TestCase public function test_book_convert_to_shelf_requires_permissions() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $user = $this->getViewer(); $permissions = ['book-delete-all', 'bookshelf-create-all', 'book-update-all', 'book-create-all']; diff --git a/tests/Entity/EntitySearchTest.php b/tests/Entity/EntitySearchTest.php index eabcf6f76..82b97e6f3 100644 --- a/tests/Entity/EntitySearchTest.php +++ b/tests/Entity/EntitySearchTest.php @@ -23,8 +23,7 @@ class EntitySearchTest extends TestCase public function test_bookshelf_search() { - /** @var Bookshelf $shelf */ - $shelf = Bookshelf::query()->first(); + $shelf = $this->entities->shelf(); $search = $this->asEditor()->get('/search?term=' . urlencode($shelf->name) . ' {type:bookshelf}'); $search->assertSee('Search Results'); @@ -232,7 +231,7 @@ class EntitySearchTest extends TestCase public function test_ajax_entity_search_reflects_items_without_permission() { - $page = Page::query()->first(); + $page = $this->entities->page(); $baseSelector = 'a[data-entity-type="page"][data-entity-id="' . $page->id . '"]'; $searchUrl = '/ajax/search/entities?permission=update&term=' . urlencode($page->name); @@ -318,7 +317,7 @@ class EntitySearchTest extends TestCase public function test_search_works_on_updated_page_content() { - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asEditor(); $update = $this->put($page->getUrl(), [ diff --git a/tests/Entity/ExportTest.php b/tests/Entity/ExportTest.php index 0d13d208e..1d4a23560 100644 --- a/tests/Entity/ExportTest.php +++ b/tests/Entity/ExportTest.php @@ -15,7 +15,7 @@ class ExportTest extends TestCase { public function test_page_text_export() { - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asEditor(); $resp = $this->get($page->getUrl('/export/plaintext')); @@ -26,7 +26,7 @@ class ExportTest extends TestCase public function test_page_pdf_export() { - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asEditor(); $resp = $this->get($page->getUrl('/export/pdf')); @@ -36,7 +36,7 @@ class ExportTest extends TestCase public function test_page_html_export() { - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asEditor(); $resp = $this->get($page->getUrl('/export/html')); @@ -47,7 +47,7 @@ class ExportTest extends TestCase public function test_book_text_export() { - $page = Page::query()->first(); + $page = $this->entities->page(); $book = $page->book; $this->asEditor(); @@ -60,7 +60,7 @@ class ExportTest extends TestCase public function test_book_pdf_export() { - $page = Page::query()->first(); + $page = $this->entities->page(); $book = $page->book; $this->asEditor(); @@ -71,7 +71,7 @@ class ExportTest extends TestCase public function test_book_html_export() { - $page = Page::query()->first(); + $page = $this->entities->page(); $book = $page->book; $this->asEditor(); @@ -85,7 +85,7 @@ class ExportTest extends TestCase public function test_book_html_export_shows_chapter_descriptions() { $chapterDesc = 'My custom test chapter description ' . Str::random(12); - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $chapter->description = $chapterDesc; $chapter->save(); @@ -98,7 +98,7 @@ class ExportTest extends TestCase public function test_chapter_text_export() { - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $page = $chapter->pages[0]; $this->asEditor(); @@ -111,7 +111,7 @@ class ExportTest extends TestCase public function test_chapter_pdf_export() { - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $this->asEditor(); $resp = $this->get($chapter->getUrl('/export/pdf')); @@ -121,7 +121,7 @@ class ExportTest extends TestCase public function test_chapter_html_export() { - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $page = $chapter->pages[0]; $this->asEditor(); @@ -134,7 +134,7 @@ class ExportTest extends TestCase public function test_page_html_export_contains_custom_head_if_set() { - $page = Page::query()->first(); + $page = $this->entities->page(); $customHeadContent = ''; $this->setSettings(['app-custom-head' => $customHeadContent]); @@ -145,7 +145,7 @@ class ExportTest extends TestCase public function test_page_html_export_does_not_break_with_only_comments_in_custom_head() { - $page = Page::query()->first(); + $page = $this->entities->page(); $customHeadContent = ''; $this->setSettings(['app-custom-head' => $customHeadContent]); @@ -157,7 +157,7 @@ class ExportTest extends TestCase public function test_page_html_export_use_absolute_dates() { - $page = Page::query()->first(); + $page = $this->entities->page(); $resp = $this->asEditor()->get($page->getUrl('/export/html')); $resp->assertSee($page->created_at->formatLocalized('%e %B %Y %H:%M:%S')); @@ -168,7 +168,7 @@ class ExportTest extends TestCase public function test_page_export_does_not_include_user_or_revision_links() { - $page = Page::query()->first(); + $page = $this->entities->page(); $resp = $this->asEditor()->get($page->getUrl('/export/html')); $resp->assertDontSee($page->getUrl('/revisions')); @@ -178,7 +178,7 @@ class ExportTest extends TestCase public function test_page_export_sets_right_data_type_for_svg_embeds() { - $page = Page::query()->first(); + $page = $this->entities->page(); Storage::disk('local')->makeDirectory('uploads/images/gallery'); Storage::disk('local')->put('uploads/images/gallery/svg_test.svg', ''); $page->html = 'Hello, This is a test
This is a second block of content
"; @@ -44,7 +44,7 @@ class PageContentTest extends TestCase public function test_saving_page_with_includes() { - $page = Page::query()->first(); + $page = $this->entities->page(); $secondPage = Page::query()->where('id', '!=', $page->id)->first(); $this->asEditor(); @@ -62,10 +62,8 @@ class PageContentTest extends TestCase public function test_page_includes_do_not_break_tables() { - /** @var Page $page */ - $page = Page::query()->first(); - /** @var Page $secondPage */ - $secondPage = Page::query()->where('id', '!=', $page->id)->first(); + $page = $this->entities->page(); + $secondPage = $this->entities->page(); $content = 'test |
var cat = null;
';
$secondPage->html = $content;
@@ -98,7 +94,7 @@ class PageContentTest extends TestCase
public function test_page_includes_rendered_on_book_export()
{
- $page = Page::query()->first();
+ $page = $this->entities->page();
$secondPage = Page::query()
->where('book_id', '!=', $page->book_id)
->first();
@@ -118,7 +114,7 @@ class PageContentTest extends TestCase
public function test_page_content_scripts_removed_by_default()
{
$this->asEditor();
- $page = Page::query()->first();
+ $page = $this->entities->page();
$script = 'abc123abc123';
$page->html = "escape {$script}";
$page->save();
@@ -141,7 +137,7 @@ class PageContentTest extends TestCase
];
$this->asEditor();
- $page = Page::query()->first();
+ $page = $this->entities->page();
foreach ($checks as $check) {
$page->html = $check;
@@ -177,7 +173,7 @@ class PageContentTest extends TestCase
];
$this->asEditor();
- $page = Page::query()->first();
+ $page = $this->entities->page();
foreach ($checks as $check) {
$page->html = $check;
@@ -206,7 +202,7 @@ class PageContentTest extends TestCase
];
$this->asEditor();
- $page = Page::query()->first();
+ $page = $this->entities->page();
foreach ($checks as $check) {
$page->html = $check;
@@ -230,7 +226,7 @@ class PageContentTest extends TestCase
];
$this->asEditor();
- $page = Page::query()->first();
+ $page = $this->entities->page();
foreach ($checks as $check) {
$page->html = $check;
@@ -255,7 +251,7 @@ class PageContentTest extends TestCase
];
$this->asEditor();
- $page = Page::query()->first();
+ $page = $this->entities->page();
foreach ($checks as $check) {
$page->html = $check;
@@ -273,7 +269,7 @@ class PageContentTest extends TestCase
public function test_page_inline_on_attributes_removed_by_default()
{
$this->asEditor();
- $page = Page::query()->first();
+ $page = $this->entities->page();
$script = 'Hello
'; $page->html = "escape {$script}"; $page->save(); @@ -298,7 +294,7 @@ class PageContentTest extends TestCase ]; $this->asEditor(); - $page = Page::query()->first(); + $page = $this->entities->page(); foreach ($checks as $check) { $page->html = $check; @@ -313,7 +309,7 @@ class PageContentTest extends TestCase public function test_page_content_scripts_show_when_configured() { $this->asEditor(); - $page = Page::query()->first(); + $page = $this->entities->page(); config()->push('app.allow_content_scripts', 'true'); $script = 'abc123abc123'; @@ -339,7 +335,7 @@ class PageContentTest extends TestCase ]; $this->asEditor(); - $page = Page::query()->first(); + $page = $this->entities->page(); foreach ($checks as $check) { $page->html = $check; @@ -358,7 +354,7 @@ class PageContentTest extends TestCase public function test_page_inline_on_attributes_show_if_configured() { $this->asEditor(); - $page = Page::query()->first(); + $page = $this->entities->page(); config()->push('app.allow_content_scripts', 'true'); $script = 'Hello
'; @@ -390,7 +386,7 @@ class PageContentTest extends TestCase public function test_duplicate_ids_fixed_on_page_save() { $this->asEditor(); - $page = Page::query()->first(); + $page = $this->entities->page(); $content = 'Simple Test |
'; $this->asEditor()->put($page->getUrl(), [ diff --git a/tests/Entity/PageDraftTest.php b/tests/Entity/PageDraftTest.php index 8ca73847a..acf6b01e8 100644 --- a/tests/Entity/PageDraftTest.php +++ b/tests/Entity/PageDraftTest.php @@ -85,8 +85,7 @@ class PageDraftTest extends TestCase { $admin = $this->getAdmin(); $editor = $this->getEditor(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $this->actingAs($editor)->put('/ajax/page/' . $page->id . '/save-draft', [ 'name' => $page->name, @@ -120,8 +119,7 @@ class PageDraftTest extends TestCase { $admin = $this->getAdmin(); $editor = $this->getEditor(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $this->actingAs($admin)->put('/ajax/page/' . $page->id . '/save-draft', [ 'name' => $page->name, @@ -140,8 +138,7 @@ class PageDraftTest extends TestCase public function test_draft_pages_show_on_homepage() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $resp = $this->asAdmin()->get('/'); $this->withHtml($resp)->assertElementNotContains('#recent-drafts', 'New Page'); @@ -152,8 +149,7 @@ class PageDraftTest extends TestCase public function test_draft_pages_not_visible_by_others() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $chapter = $book->chapters->first(); $newUser = $this->getEditor(); @@ -171,8 +167,7 @@ class PageDraftTest extends TestCase public function test_page_html_in_ajax_fetch_response() { $this->asAdmin(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $this->getJson('/ajax/page/' . $page->id)->assertJson([ 'html' => $page->html, @@ -181,8 +176,7 @@ class PageDraftTest extends TestCase public function test_updating_page_draft_with_markdown_retains_markdown_content() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $this->asEditor()->get($book->getUrl('/create-page')); /** @var Page $draft */ $draft = Page::query()->where('draft', '=', true)->where('book_id', '=', $book->id)->firstOrFail(); @@ -207,8 +201,7 @@ class PageDraftTest extends TestCase public function test_slug_generated_on_draft_publish_to_page_when_no_name_change() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $this->asEditor()->get($book->getUrl('/create-page')); /** @var Page $draft */ $draft = Page::query()->where('draft', '=', true)->where('book_id', '=', $book->id)->firstOrFail(); diff --git a/tests/Entity/PageEditorTest.php b/tests/Entity/PageEditorTest.php index e5aa549b3..6ce649a54 100644 --- a/tests/Entity/PageEditorTest.php +++ b/tests/Entity/PageEditorTest.php @@ -58,8 +58,7 @@ class PageEditorTest extends TestCase public function test_empty_markdown_still_saves_without_error() { $this->setSettings(['app-editor' => 'markdown']); - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $this->asEditor()->get($book->getUrl('/create-page')); $draft = Page::query()->where('book_id', '=', $book->id) @@ -108,8 +107,7 @@ class PageEditorTest extends TestCase public function test_switching_from_html_to_clean_markdown_works() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $page->html = '
Some bold content.
'; $page->save(); @@ -121,8 +119,7 @@ class PageEditorTest extends TestCase public function test_switching_from_html_to_stable_markdown_works() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $page->html = 'Some bold content.
'; $page->save(); @@ -134,8 +131,7 @@ class PageEditorTest extends TestCase public function test_switching_from_markdown_to_wysiwyg_works() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $page->html = ''; $page->markdown = "## A Header\n\nSome content with **bold** text!"; $page->save(); @@ -180,8 +176,7 @@ class PageEditorTest extends TestCase public function test_page_editor_type_switch_does_not_work_without_change_editor_permissions() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $page->html = 'Some bold content.
'; $page->save(); @@ -193,8 +188,7 @@ class PageEditorTest extends TestCase public function test_page_save_does_not_change_active_editor_without_change_editor_permissions() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $page->html = 'Some bold content.
'; $page->editor = 'wysiwyg'; $page->save(); diff --git a/tests/Entity/PageRevisionTest.php b/tests/Entity/PageRevisionTest.php index 05c86c97d..eabece4c6 100644 --- a/tests/Entity/PageRevisionTest.php +++ b/tests/Entity/PageRevisionTest.php @@ -10,8 +10,7 @@ class PageRevisionTest extends TestCase { public function test_revision_links_visible_to_viewer() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $html = $this->withHtml($this->asViewer()->get($page->getUrl())); $html->assertLinkExists($page->getUrl('/revisions')); @@ -143,8 +142,7 @@ class PageRevisionTest extends TestCase public function test_revision_deletion() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $this->createRevisions($page, 2); $beforeRevisionCount = $page->revisions->count(); @@ -208,8 +206,7 @@ class PageRevisionTest extends TestCase public function test_revision_restore_action_only_visible_with_permission() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $this->createRevisions($page, 2); $viewer = $this->getViewer(); @@ -227,8 +224,7 @@ class PageRevisionTest extends TestCase public function test_revision_delete_action_only_visible_with_permission() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $this->createRevisions($page, 2); $viewer = $this->getViewer(); diff --git a/tests/Entity/PageTest.php b/tests/Entity/PageTest.php index 0f906460b..067fceeb4 100644 --- a/tests/Entity/PageTest.php +++ b/tests/Entity/PageTest.php @@ -12,8 +12,7 @@ class PageTest extends TestCase { public function test_create() { - /** @var Chapter $chapter */ - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $page = Page::factory()->make([ 'name' => 'My First Page', ]); @@ -39,7 +38,7 @@ class PageTest extends TestCase public function test_page_view_when_creator_is_deleted_but_owner_exists() { - $page = Page::query()->first(); + $page = $this->entities->page(); $user = $this->getViewer(); $owner = $this->getEditor(); $page->created_by = $user->id; @@ -55,7 +54,7 @@ class PageTest extends TestCase public function test_page_creation_with_markdown_content() { $this->setSettings(['app-editor' => 'markdown']); - $book = Book::query()->first(); + $book = $this->entities->book(); $this->asEditor()->get($book->getUrl('/create-page')); $draft = Page::query()->where('book_id', '=', $book->id) @@ -83,7 +82,7 @@ class PageTest extends TestCase public function test_page_delete() { - $page = Page::query()->first(); + $page = $this->entities->page(); $this->assertNull($page->deleted_at); $deleteViewReq = $this->asEditor()->get($page->getUrl('/delete')); @@ -103,8 +102,7 @@ class PageTest extends TestCase public function test_page_full_delete_removes_all_revisions() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $page->revisions()->create([ 'html' => 'ducks
', 'name' => 'my page revision', @@ -221,8 +219,7 @@ class PageTest extends TestCase public function test_old_page_slugs_redirect_to_new_pages() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); // Need to save twice since revisions are not generated in seeder. $this->asAdmin()->put($page->getUrl(), [ @@ -244,8 +241,7 @@ class PageTest extends TestCase public function test_page_within_chapter_deletion_returns_to_chapter() { - /** @var Chapter $chapter */ - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $page = $chapter->pages()->first(); $this->asEditor()->delete($page->getUrl()) @@ -264,8 +260,7 @@ class PageTest extends TestCase public function test_recently_updated_pages_view_shows_updated_by_details() { $user = $this->getEditor(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $this->actingAs($user)->put($page->getUrl(), [ 'name' => 'Updated title', diff --git a/tests/Entity/SortTest.php b/tests/Entity/SortTest.php index 93b668a0e..83a8f7005 100644 --- a/tests/Entity/SortTest.php +++ b/tests/Entity/SortTest.php @@ -33,7 +33,7 @@ class SortTest extends TestCase public function test_page_move_into_book() { - $page = Page::query()->first(); + $page = $this->entities->page(); $currentBook = $page->book; $newBook = Book::query()->where('id', '!=', $currentBook->id)->first(); @@ -55,7 +55,7 @@ class SortTest extends TestCase public function test_page_move_into_chapter() { - $page = Page::query()->first(); + $page = $this->entities->page(); $currentBook = $page->book; $newBook = Book::query()->where('id', '!=', $currentBook->id)->first(); $newChapter = $newBook->chapters()->first(); @@ -93,7 +93,7 @@ class SortTest extends TestCase public function test_page_move_requires_create_permissions_on_parent() { - $page = Page::query()->first(); + $page = $this->entities->page(); $currentBook = $page->book; $newBook = Book::query()->where('id', '!=', $currentBook->id)->first(); $editor = $this->getEditor(); @@ -118,7 +118,7 @@ class SortTest extends TestCase public function test_page_move_requires_delete_permissions() { - $page = Page::query()->first(); + $page = $this->entities->page(); $currentBook = $page->book; $newBook = Book::query()->where('id', '!=', $currentBook->id)->first(); $editor = $this->getEditor(); @@ -145,7 +145,7 @@ class SortTest extends TestCase public function test_chapter_move() { - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $currentBook = $chapter->book; $pageToCheck = $chapter->pages->first(); $newBook = Book::query()->where('id', '!=', $currentBook->id)->first(); @@ -173,7 +173,7 @@ class SortTest extends TestCase public function test_chapter_move_requires_delete_permissions() { - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $currentBook = $chapter->book; $newBook = Book::query()->where('id', '!=', $currentBook->id)->first(); $editor = $this->getEditor(); @@ -200,7 +200,7 @@ class SortTest extends TestCase public function test_chapter_move_requires_create_permissions_in_new_book() { - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $currentBook = $chapter->book; $newBook = Book::query()->where('id', '!=', $currentBook->id)->first(); $editor = $this->getEditor(); diff --git a/tests/Entity/TagTest.php b/tests/Entity/TagTest.php index d22dc2f44..18ee31826 100644 --- a/tests/Entity/TagTest.php +++ b/tests/Entity/TagTest.php @@ -102,8 +102,7 @@ class TagTest extends TestCase public function test_tags_index_shows_tag_name_as_expected_with_right_counts() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $page->tags()->create(['name' => 'Category', 'value' => 'GreatTestContent']); $page->tags()->create(['name' => 'Category', 'value' => 'OtherTestContent']); @@ -120,8 +119,7 @@ class TagTest extends TestCase $html->assertElementContains('a[title="Assigned to Shelves"]', '0'); $html->assertElementContains('a[href$="/tags?name=Category"]', '2 unique values'); - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $book->tags()->create(['name' => 'Category', 'value' => 'GreatTestContent']); $resp = $this->asEditor()->get('/tags'); $this->withHtml($resp)->assertElementContains('a[title="Total tag usages"]', '3'); @@ -131,8 +129,7 @@ class TagTest extends TestCase public function test_tag_index_can_be_searched() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $page->tags()->create(['name' => 'Category', 'value' => 'GreatTestContent']); $resp = $this->asEditor()->get('/tags?search=cat'); @@ -148,8 +145,7 @@ class TagTest extends TestCase public function test_tag_index_search_will_show_mulitple_values_of_a_single_tag_name() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $page->tags()->create(['name' => 'Animal', 'value' => 'Catfish']); $page->tags()->create(['name' => 'Animal', 'value' => 'Catdog']); @@ -160,8 +156,7 @@ class TagTest extends TestCase public function test_tag_index_can_be_scoped_to_specific_tag_name() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $page->tags()->create(['name' => 'Category', 'value' => 'GreatTestContent']); $page->tags()->create(['name' => 'Category', 'value' => 'OtherTestContent']); $page->tags()->create(['name' => 'OtherTagName', 'value' => 'OtherValue']); @@ -178,8 +173,7 @@ class TagTest extends TestCase public function test_tags_index_adheres_to_page_permissions() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $page->tags()->create(['name' => 'SuperCategory', 'value' => 'GreatTestContent']); $resp = $this->asEditor()->get('/tags'); @@ -216,7 +210,7 @@ class TagTest extends TestCase public function test_tag_classes_are_escaped() { - $page = Page::query()->first(); + $page = $this->entities->page(); $page->tags()->create(['name' => '<>']); $resp = $this->asEditor()->get($page->getUrl()); $resp->assertDontSee('tag-name-<>', false); diff --git a/tests/ErrorTest.php b/tests/ErrorTest.php index 2eeb6537e..c46d65bde 100644 --- a/tests/ErrorTest.php +++ b/tests/ErrorTest.php @@ -27,7 +27,7 @@ class ErrorTest extends TestCase { $this->actingAs($this->getViewer()); $handler = $this->withTestLogger(); - $book = Book::query()->first(); + $book = $this->entities->book(); // Ensure we're seeing errors Log::error('cat'); diff --git a/tests/FavouriteTest.php b/tests/FavouriteTest.php index de36c77e1..03a712316 100644 --- a/tests/FavouriteTest.php +++ b/tests/FavouriteTest.php @@ -13,7 +13,7 @@ class FavouriteTest extends TestCase { public function test_page_add_favourite_flow() { - $page = Page::query()->first(); + $page = $this->entities->page(); $editor = $this->getEditor(); $resp = $this->actingAs($editor)->get($page->getUrl()); @@ -36,7 +36,7 @@ class FavouriteTest extends TestCase public function test_page_remove_favourite_flow() { - $page = Page::query()->first(); + $page = $this->entities->page(); $editor = $this->getEditor(); Favourite::query()->forceCreate([ 'user_id' => $editor->id, @@ -62,8 +62,7 @@ class FavouriteTest extends TestCase public function test_favourite_flow_with_own_permissions() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $user = User::factory()->create(); $book->owned_by = $user->id; $book->save(); @@ -115,8 +114,7 @@ class FavouriteTest extends TestCase $resp = $this->actingAs($editor)->get('/'); $this->withHtml($resp)->assertElementNotExists('#top-favourites'); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $page->favourites()->save((new Favourite())->forceFill(['user_id' => $editor->id])); $resp = $this->get('/'); @@ -126,8 +124,7 @@ class FavouriteTest extends TestCase public function test_favourites_list_page_shows_favourites_and_has_working_pagination() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $editor = $this->getEditor(); $resp = $this->actingAs($editor)->get('/favourites'); diff --git a/tests/Helpers/EntityProvider.php b/tests/Helpers/EntityProvider.php index d3888e71f..152f7a3ac 100644 --- a/tests/Helpers/EntityProvider.php +++ b/tests/Helpers/EntityProvider.php @@ -141,7 +141,7 @@ class EntityProvider */ public function newPage(array $input = ['name' => 'test page', 'html' => 'My new test page']): Page { - $book = Book::query()->first(); + $book = $this->book(); $pageRepo = app(PageRepo::class); $draftPage = $pageRepo->getNewDraftPage($book); $this->addToCache($draftPage); diff --git a/tests/HomepageTest.php b/tests/HomepageTest.php index bb42f49f2..60e10a087 100644 --- a/tests/HomepageTest.php +++ b/tests/HomepageTest.php @@ -81,8 +81,7 @@ class HomepageTest extends TestCase public function test_custom_homepage_cannot_be_deleted_from_parent_deletion() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $this->setSettings([ 'app-homepage' => $page->id, 'app-homepage-type' => 'page', @@ -161,7 +160,7 @@ class HomepageTest extends TestCase $this->setSettings(['app-homepage-type' => 'bookshelves']); $this->asEditor(); - $shelf = Bookshelf::query()->first(); + $shelf = $this->entities->shelf(); $book = $shelf->books()->first(); // Ensure initially visible diff --git a/tests/OpenGraphTest.php b/tests/OpenGraphTest.php index 3f807f024..f3c439767 100644 --- a/tests/OpenGraphTest.php +++ b/tests/OpenGraphTest.php @@ -18,7 +18,7 @@ class OpenGraphTest extends TestCase public function test_page_tags() { - $page = Page::query()->first(); + $page = $this->entities->page(); $resp = $this->asEditor()->get($page->getUrl()); $tags = $this->getOpenGraphTags($resp); @@ -29,7 +29,7 @@ class OpenGraphTest extends TestCase public function test_chapter_tags() { - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $resp = $this->asEditor()->get($chapter->getUrl()); $tags = $this->getOpenGraphTags($resp); @@ -40,7 +40,7 @@ class OpenGraphTest extends TestCase public function test_book_tags() { - $book = Book::query()->first(); + $book = $this->entities->book(); $resp = $this->asEditor()->get($book->getUrl()); $tags = $this->getOpenGraphTags($resp); @@ -60,7 +60,7 @@ class OpenGraphTest extends TestCase public function test_shelf_tags() { - $shelf = Bookshelf::query()->first(); + $shelf = $this->entities->shelf(); $resp = $this->asEditor()->get($shelf->getUrl()); $tags = $this->getOpenGraphTags($resp); diff --git a/tests/Permissions/EntityOwnerChangeTest.php b/tests/Permissions/EntityOwnerChangeTest.php index fe508668e..65a67dc0f 100644 --- a/tests/Permissions/EntityOwnerChangeTest.php +++ b/tests/Permissions/EntityOwnerChangeTest.php @@ -13,7 +13,7 @@ class EntityOwnerChangeTest extends TestCase { public function test_changing_page_owner() { - $page = Page::query()->first(); + $page = $this->entities->page(); $user = User::query()->where('id', '!=', $page->owned_by)->first(); $this->asAdmin()->put($page->getUrl('permissions'), ['owned_by' => $user->id]); @@ -22,7 +22,7 @@ class EntityOwnerChangeTest extends TestCase public function test_changing_chapter_owner() { - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $user = User::query()->where('id', '!=', $chapter->owned_by)->first(); $this->asAdmin()->put($chapter->getUrl('permissions'), ['owned_by' => $user->id]); @@ -31,7 +31,7 @@ class EntityOwnerChangeTest extends TestCase public function test_changing_book_owner() { - $book = Book::query()->first(); + $book = $this->entities->book(); $user = User::query()->where('id', '!=', $book->owned_by)->first(); $this->asAdmin()->put($book->getUrl('permissions'), ['owned_by' => $user->id]); @@ -40,7 +40,7 @@ class EntityOwnerChangeTest extends TestCase public function test_changing_shelf_owner() { - $shelf = Bookshelf::query()->first(); + $shelf = $this->entities->shelf(); $user = User::query()->where('id', '!=', $shelf->owned_by)->first(); $this->asAdmin()->put($shelf->getUrl('permissions'), ['owned_by' => $user->id]); diff --git a/tests/Permissions/EntityPermissionsTest.php b/tests/Permissions/EntityPermissionsTest.php index 9e80b752a..9312b88cf 100644 --- a/tests/Permissions/EntityPermissionsTest.php +++ b/tests/Permissions/EntityPermissionsTest.php @@ -41,8 +41,7 @@ class EntityPermissionsTest extends TestCase public function test_bookshelf_view_restriction() { - /** @var Bookshelf $shelf */ - $shelf = Bookshelf::query()->first(); + $shelf = $this->entities->shelf(); $this->actingAs($this->user) ->get($shelf->getUrl()) @@ -61,8 +60,7 @@ class EntityPermissionsTest extends TestCase public function test_bookshelf_update_restriction() { - /** @var Bookshelf $shelf */ - $shelf = Bookshelf::query()->first(); + $shelf = $this->entities->shelf(); $this->actingAs($this->user) ->get($shelf->getUrl('/edit')) @@ -82,8 +80,7 @@ class EntityPermissionsTest extends TestCase public function test_bookshelf_delete_restriction() { - /** @var Bookshelf $shelf */ - $shelf = Bookshelf::query()->first(); + $shelf = $this->entities->shelf(); $this->actingAs($this->user) ->get($shelf->getUrl('/delete')) @@ -103,8 +100,7 @@ class EntityPermissionsTest extends TestCase public function test_book_view_restriction() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $bookPage = $book->pages->first(); $bookChapter = $book->chapters->first(); @@ -134,8 +130,7 @@ class EntityPermissionsTest extends TestCase public function test_book_create_restriction() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $bookUrl = $book->getUrl(); $resp = $this->actingAs($this->viewer)->get($bookUrl); @@ -181,8 +176,7 @@ class EntityPermissionsTest extends TestCase public function test_book_update_restriction() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $bookPage = $book->pages->first(); $bookChapter = $book->chapters->first(); @@ -209,8 +203,7 @@ class EntityPermissionsTest extends TestCase public function test_book_delete_restriction() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $bookPage = $book->pages->first(); $bookChapter = $book->chapters->first(); @@ -236,8 +229,7 @@ class EntityPermissionsTest extends TestCase public function test_chapter_view_restriction() { - /** @var Chapter $chapter */ - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $chapterPage = $chapter->pages->first(); $chapterUrl = $chapter->getUrl(); @@ -256,8 +248,7 @@ class EntityPermissionsTest extends TestCase public function test_chapter_create_restriction() { - /** @var Chapter $chapter */ - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $chapterUrl = $chapter->getUrl(); $resp = $this->actingAs($this->user)->get($chapterUrl); @@ -285,8 +276,7 @@ class EntityPermissionsTest extends TestCase public function test_chapter_update_restriction() { - /** @var Chapter $chapter */ - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $chapterPage = $chapter->pages->first(); $chapterUrl = $chapter->getUrl(); @@ -308,8 +298,7 @@ class EntityPermissionsTest extends TestCase public function test_chapter_delete_restriction() { - /** @var Chapter $chapter */ - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $chapterPage = $chapter->pages->first(); $chapterUrl = $chapter->getUrl(); @@ -332,8 +321,7 @@ class EntityPermissionsTest extends TestCase public function test_page_view_restriction() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $pageUrl = $page->getUrl(); $this->actingAs($this->user)->get($pageUrl)->assertOk(); @@ -349,8 +337,7 @@ class EntityPermissionsTest extends TestCase public function test_page_update_restriction() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $pageUrl = $page->getUrl(); $resp = $this->actingAs($this->user) @@ -371,8 +358,7 @@ class EntityPermissionsTest extends TestCase public function test_page_delete_restriction() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $pageUrl = $page->getUrl(); $this->actingAs($this->user) @@ -436,8 +422,7 @@ class EntityPermissionsTest extends TestCase public function test_restricted_pages_not_visible_in_book_navigation_on_pages() { - /** @var Chapter $chapter */ - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $page = $chapter->pages->first(); $page2 = $chapter->pages[2]; @@ -449,8 +434,7 @@ class EntityPermissionsTest extends TestCase public function test_restricted_pages_not_visible_in_book_navigation_on_chapters() { - /** @var Chapter $chapter */ - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $page = $chapter->pages->first(); $this->setRestrictionsForTestRoles($page, []); @@ -461,8 +445,7 @@ class EntityPermissionsTest extends TestCase public function test_restricted_pages_not_visible_on_chapter_pages() { - /** @var Chapter $chapter */ - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $page = $chapter->pages->first(); $this->setRestrictionsForTestRoles($page, []); @@ -474,8 +457,7 @@ class EntityPermissionsTest extends TestCase public function test_restricted_chapter_pages_not_visible_on_book_page() { - /** @var Chapter $chapter */ - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $this->actingAs($this->user) ->get($chapter->book->getUrl()) ->assertSee($chapter->pages->first()->name); @@ -491,8 +473,7 @@ class EntityPermissionsTest extends TestCase public function test_bookshelf_update_restriction_override() { - /** @var Bookshelf $shelf */ - $shelf = Bookshelf::query()->first(); + $shelf = $this->entities->shelf(); $this->actingAs($this->viewer) ->get($shelf->getUrl('/edit')) @@ -510,8 +491,7 @@ class EntityPermissionsTest extends TestCase public function test_bookshelf_delete_restriction_override() { - /** @var Bookshelf $shelf */ - $shelf = Bookshelf::query()->first(); + $shelf = $this->entities->shelf(); $this->actingAs($this->viewer) ->get($shelf->getUrl('/delete')) @@ -529,8 +509,7 @@ class EntityPermissionsTest extends TestCase public function test_book_create_restriction_override() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $bookUrl = $book->getUrl(); $resp = $this->actingAs($this->viewer)->get($bookUrl); @@ -571,8 +550,7 @@ class EntityPermissionsTest extends TestCase public function test_book_update_restriction_override() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $bookPage = $book->pages->first(); $bookChapter = $book->chapters->first(); @@ -598,8 +576,7 @@ class EntityPermissionsTest extends TestCase public function test_book_delete_restriction_override() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $bookPage = $book->pages->first(); $bookChapter = $book->chapters->first(); @@ -626,8 +603,7 @@ class EntityPermissionsTest extends TestCase public function test_page_visible_if_has_permissions_when_book_not_visible() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $bookChapter = $book->chapters->first(); $bookPage = $bookChapter->pages->first(); @@ -667,8 +643,7 @@ class EntityPermissionsTest extends TestCase public function test_can_create_page_if_chapter_has_permissions_when_book_not_visible() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $this->setRestrictionsForTestRoles($book, []); $bookChapter = $book->chapters->first(); $this->setRestrictionsForTestRoles($bookChapter, ['view']); diff --git a/tests/Permissions/ExportPermissionsTest.php b/tests/Permissions/ExportPermissionsTest.php index 7e9ce6100..44f1a35cc 100644 --- a/tests/Permissions/ExportPermissionsTest.php +++ b/tests/Permissions/ExportPermissionsTest.php @@ -11,7 +11,7 @@ class ExportPermissionsTest extends TestCase { public function test_page_content_without_view_access_hidden_on_chapter_export() { - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $page = $chapter->pages()->firstOrFail(); $pageContent = Str::random(48); $page->html = '' . $pageContent . '
'; @@ -39,7 +39,7 @@ class ExportPermissionsTest extends TestCase public function test_page_content_without_view_access_hidden_on_book_export() { - $book = Book::query()->first(); + $book = $this->entities->book(); $page = $book->pages()->firstOrFail(); $pageContent = Str::random(48); $page->html = '' . $pageContent . '
'; diff --git a/tests/Permissions/RolesTest.php b/tests/Permissions/RolesTest.php index a24d5f8d8..23bfde74c 100644 --- a/tests/Permissions/RolesTest.php +++ b/tests/Permissions/RolesTest.php @@ -520,8 +520,7 @@ class RolesTest extends TestCase public function test_chapter_create_all_permissions() { - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $this->checkAccessPermission('chapter-create-all', [ $book->getUrl('/create-chapter'), ], [ @@ -603,10 +602,8 @@ class RolesTest extends TestCase public function test_page_create_own_permissions() { - /** @var Book $book */ - $book = Book::query()->first(); - /** @var Chapter $chapter */ - $chapter = Chapter::query()->first(); + $book = $this->entities->book(); + $chapter = $this->entities->chapter(); $entities = $this->entities->createChainBelongingToUser($this->user); $ownBook = $entities['book']; @@ -652,10 +649,8 @@ class RolesTest extends TestCase public function test_page_create_all_permissions() { - /** @var Book $book */ - $book = Book::query()->first(); - /** @var Chapter $chapter */ - $chapter = Chapter::query()->first(); + $book = $this->entities->book(); + $chapter = $this->entities->chapter(); $createUrl = $book->getUrl('/create-page'); $createUrlChapter = $chapter->getUrl('/create-page'); @@ -806,8 +801,7 @@ class RolesTest extends TestCase public function test_image_delete_own_permission() { $this->giveUserPermissions($this->user, ['image-update-all']); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $image = Image::factory()->create([ 'uploaded_to' => $page->id, 'created_by' => $this->user->id, @@ -826,8 +820,7 @@ class RolesTest extends TestCase { $this->giveUserPermissions($this->user, ['image-update-all']); $admin = $this->getAdmin(); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $image = Image::factory()->create(['uploaded_to' => $page->id, 'created_by' => $admin->id, 'updated_by' => $admin->id]); $this->actingAs($this->user)->json('delete', '/images/' . $image->id)->assertStatus(403); @@ -845,8 +838,7 @@ class RolesTest extends TestCase public function test_role_permission_removal() { // To cover issue fixed in f99c8ff99aee9beb8c692f36d4b84dc6e651e50a. - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $viewerRole = Role::getRole('viewer'); $viewer = $this->getViewer(); $this->actingAs($viewer)->get($page->getUrl())->assertOk(); diff --git a/tests/PublicActionTest.php b/tests/PublicActionTest.php index 309e09600..14759c578 100644 --- a/tests/PublicActionTest.php +++ b/tests/PublicActionTest.php @@ -17,11 +17,11 @@ class PublicActionTest extends TestCase public function test_app_not_public() { $this->setSettings(['app-public' => 'false']); - $book = Book::query()->first(); + $book = $this->entities->book(); $this->get('/books')->assertRedirect('/login'); $this->get($book->getUrl())->assertRedirect('/login'); - $page = Page::query()->first(); + $page = $this->entities->page(); $this->get($page->getUrl())->assertRedirect('/login'); } @@ -93,8 +93,7 @@ class PublicActionTest extends TestCase $this->app->make(JointPermissionBuilder::class)->rebuildForRole($publicRole); user()->clearPermissionCache(); - /** @var Chapter $chapter */ - $chapter = Chapter::query()->first(); + $chapter = $this->entities->chapter(); $resp = $this->get($chapter->getUrl()); $resp->assertSee('New Page'); $this->withHtml($resp)->assertElementExists('a[href="' . $chapter->getUrl('/create-page') . '"]'); @@ -118,7 +117,7 @@ class PublicActionTest extends TestCase public function test_content_not_listed_on_404_for_public_users() { - $page = Page::query()->first(); + $page = $this->entities->page(); $page->fill(['name' => 'my testing random unique page name'])->save(); $this->asAdmin()->get($page->getUrl()); // Fake visit to show on recents $resp = $this->get('/cats/dogs/hippos'); @@ -162,8 +161,7 @@ class PublicActionTest extends TestCase public function test_public_view_then_login_redirects_to_previous_content() { $this->setSettings(['app-public' => 'true']); - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $resp = $this->get($book->getUrl()); $resp->assertSee($book->name); @@ -175,8 +173,7 @@ class PublicActionTest extends TestCase public function test_access_hidden_content_then_login_redirects_to_intended_content() { $this->setSettings(['app-public' => 'true']); - /** @var Book $book */ - $book = Book::query()->first(); + $book = $this->entities->book(); $this->entities->setPermissions($book); $resp = $this->get($book->getUrl()); diff --git a/tests/References/CrossLinkParserTest.php b/tests/References/CrossLinkParserTest.php index 43b8a36ae..eb862a9fd 100644 --- a/tests/References/CrossLinkParserTest.php +++ b/tests/References/CrossLinkParserTest.php @@ -40,7 +40,7 @@ class CrossLinkParserTest extends TestCase public function test_similar_page_and_book_reference_links_dont_conflict() { - $page = Page::query()->first(); + $page = $this->entities->page(); $book = $page->book; $html = ' diff --git a/tests/References/ReferencesTest.php b/tests/References/ReferencesTest.php index 59263ee0c..16ea19ac5 100644 --- a/tests/References/ReferencesTest.php +++ b/tests/References/ReferencesTest.php @@ -97,7 +97,7 @@ class ReferencesTest extends TestCase { /** @var Page $page */ /** @var Page $pageB */ - $page = Page::query()->first(); + $page = $this->entities->page(); $pageB = Page::query()->where('id', '!=', $page->id)->first(); $this->createReference($pageB, $page); @@ -109,8 +109,7 @@ class ReferencesTest extends TestCase public function test_reference_page_shows_empty_state_with_no_references() { - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asEditor() ->get($page->getUrl('/references')) @@ -124,7 +123,7 @@ class ReferencesTest extends TestCase /** @var Book $book */ $pageA = Page::query()->first(); $pageB = Page::query()->where('id', '!=', $pageA->id)->first(); - $book = Book::query()->first(); + $book = $this->entities->book(); foreach ([$pageA, $pageB] as $page) { $page->html = 'Link'; @@ -200,8 +199,8 @@ class ReferencesTest extends TestCase { /** @var Page $page */ /** @var Book $book */ - $page = Page::query()->first(); - $book = Book::query()->first(); + $page = $this->entities->page(); + $book = $this->entities->book(); $bookUrl = $book->getUrl(); $markdown = ' diff --git a/tests/Settings/RecycleBinTest.php b/tests/Settings/RecycleBinTest.php index 465c1aaad..8b5705afd 100644 --- a/tests/Settings/RecycleBinTest.php +++ b/tests/Settings/RecycleBinTest.php @@ -16,7 +16,7 @@ class RecycleBinTest extends TestCase { public function test_recycle_bin_routes_permissions() { - $page = Page::query()->first(); + $page = $this->entities->page(); $editor = $this->getEditor(); $this->actingAs($editor)->delete($page->getUrl()); $deletion = Deletion::query()->firstOrFail(); @@ -57,7 +57,7 @@ class RecycleBinTest extends TestCase public function test_recycle_bin_view() { - $page = Page::query()->first(); + $page = $this->entities->page(); $book = Book::query()->whereHas('pages')->whereHas('chapters')->withCount(['pages', 'chapters'])->first(); $editor = $this->getEditor(); $this->actingAs($editor)->delete($page->getUrl()); @@ -74,7 +74,7 @@ class RecycleBinTest extends TestCase public function test_recycle_bin_empty() { - $page = Page::query()->first(); + $page = $this->entities->page(); $book = Book::query()->where('id', '!=', $page->book_id)->whereHas('pages')->whereHas('chapters')->with(['pages', 'chapters'])->firstOrFail(); $editor = $this->getEditor(); $this->actingAs($editor)->delete($page->getUrl()); diff --git a/tests/ThemeTest.php b/tests/ThemeTest.php index ac4b35de2..4d612a870 100644 --- a/tests/ThemeTest.php +++ b/tests/ThemeTest.php @@ -64,7 +64,7 @@ class ThemeTest extends TestCase }; Theme::listen(ThemeEvents::COMMONMARK_ENVIRONMENT_CONFIGURE, $callback); - $page = Page::query()->first(); + $page = $this->entities->page(); $content = new PageContent($page); $content->setNewMarkdown('# test'); @@ -199,7 +199,7 @@ class ThemeTest extends TestCase public function test_event_activity_logged() { - $book = Book::query()->first(); + $book = $this->entities->book(); $args = []; $callback = function (...$eventArgs) use (&$args) { $args = $eventArgs; @@ -218,7 +218,7 @@ class ThemeTest extends TestCase { /** @var Page $page */ /** @var Page $otherPage */ - $page = Page::query()->first(); + $page = $this->entities->page(); $otherPage = Page::query()->where('id', '!=', $page->id)->first(); $otherPage->html = 'This is a really cool section
'; $page->html = "{{@{$otherPage->id}#bkmrk-cool}}
"; @@ -324,8 +324,7 @@ class ThemeTest extends TestCase { $bodyStartStr = 'garry-fought-against-the-panther'; $bodyEndStr = 'garry-lost-his-fight-with-grace'; - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $this->usingThemeFolder(function (string $folder) use ($bodyStartStr, $bodyEndStr, $page) { $viewDir = theme_path('layouts/parts'); diff --git a/tests/Uploads/AttachmentTest.php b/tests/Uploads/AttachmentTest.php index 7280510f3..915a9ba4d 100644 --- a/tests/Uploads/AttachmentTest.php +++ b/tests/Uploads/AttachmentTest.php @@ -73,7 +73,7 @@ class AttachmentTest extends TestCase public function test_file_upload() { - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asAdmin(); $admin = $this->getAdmin(); $fileName = 'upload_test_file.txt'; @@ -101,7 +101,7 @@ class AttachmentTest extends TestCase public function test_file_upload_does_not_use_filename() { - $page = Page::query()->first(); + $page = $this->entities->page(); $fileName = 'upload_test_file.txt'; $upload = $this->asAdmin()->uploadFile($fileName, $page->id); @@ -115,7 +115,7 @@ class AttachmentTest extends TestCase public function test_file_display_and_access() { - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asAdmin(); $fileName = 'upload_test_file.txt'; @@ -136,7 +136,7 @@ class AttachmentTest extends TestCase public function test_attaching_link_to_page() { - $page = Page::query()->first(); + $page = $this->entities->page(); $admin = $this->getAdmin(); $this->asAdmin(); @@ -173,7 +173,7 @@ class AttachmentTest extends TestCase public function test_attachment_updating() { - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asAdmin(); $attachment = $this->createAttachment($page); @@ -197,7 +197,7 @@ class AttachmentTest extends TestCase public function test_file_deletion() { - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asAdmin(); $fileName = 'deletion_test.txt'; $this->uploadFile($fileName, $page->id); @@ -219,7 +219,7 @@ class AttachmentTest extends TestCase public function test_attachment_deletion_on_page_deletion() { - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asAdmin(); $fileName = 'deletion_test.txt'; $this->uploadFile($fileName, $page->id); @@ -247,7 +247,7 @@ class AttachmentTest extends TestCase { $admin = $this->getAdmin(); $viewer = $this->getViewer(); - $page = Page::query()->first(); /** @var Page $page */ + $page = $this->entities->page(); /** @var Page $page */ $this->actingAs($admin); $fileName = 'permission_test.txt'; $this->uploadFile($fileName, $page->id); @@ -269,7 +269,7 @@ class AttachmentTest extends TestCase public function test_data_and_js_links_cannot_be_attached_to_a_page() { - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asAdmin(); $badLinks = [ @@ -310,7 +310,7 @@ class AttachmentTest extends TestCase public function test_file_access_with_open_query_param_provides_inline_response_with_correct_content_type() { - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asAdmin(); $fileName = 'upload_test_file.txt'; @@ -329,7 +329,7 @@ class AttachmentTest extends TestCase public function test_html_file_access_with_open_forces_plain_content_type() { - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asAdmin(); $attachment = $this->createUploadAttachment($page, 'test_file.html', 'testing
', 'text/html'); @@ -346,7 +346,7 @@ class AttachmentTest extends TestCase { config()->set('filesystems.attachments', 'local_secure_restricted'); - $page = Page::query()->first(); + $page = $this->entities->page(); $fileName = 'upload_test_file.txt'; $upload = $this->asAdmin()->uploadFile($fileName, $page->id); diff --git a/tests/Uploads/ImageTest.php b/tests/Uploads/ImageTest.php index 184da214c..e929d63ec 100644 --- a/tests/Uploads/ImageTest.php +++ b/tests/Uploads/ImageTest.php @@ -15,7 +15,7 @@ class ImageTest extends TestCase public function test_image_upload() { - $page = Page::query()->first(); + $page = $this->entities->page(); $admin = $this->getAdmin(); $this->actingAs($admin); @@ -39,7 +39,7 @@ class ImageTest extends TestCase public function test_image_display_thumbnail_generation_does_not_increase_image_size() { - $page = Page::query()->first(); + $page = $this->entities->page(); $admin = $this->getAdmin(); $this->actingAs($admin); @@ -63,7 +63,7 @@ class ImageTest extends TestCase public function test_image_display_thumbnail_generation_for_apng_images_uses_original_file() { - $page = Page::query()->first(); + $page = $this->entities->page(); $admin = $this->getAdmin(); $this->actingAs($admin); @@ -125,7 +125,7 @@ class ImageTest extends TestCase public function test_image_usage() { - $page = Page::query()->first(); + $page = $this->entities->page(); $editor = $this->getEditor(); $this->actingAs($editor); @@ -145,7 +145,7 @@ class ImageTest extends TestCase public function test_php_files_cannot_be_uploaded() { - $page = Page::query()->first(); + $page = $this->entities->page(); $admin = $this->getAdmin(); $this->actingAs($admin); @@ -167,7 +167,7 @@ class ImageTest extends TestCase public function test_php_like_files_cannot_be_uploaded() { - $page = Page::query()->first(); + $page = $this->entities->page(); $admin = $this->getAdmin(); $this->actingAs($admin); @@ -184,7 +184,7 @@ class ImageTest extends TestCase public function test_files_with_double_extensions_will_get_sanitized() { - $page = Page::query()->first(); + $page = $this->entities->page(); $admin = $this->getAdmin(); $this->actingAs($admin); @@ -219,7 +219,7 @@ class ImageTest extends TestCase ]; foreach ($badNames as $name) { $galleryFile = $this->getTestImage($name); - $page = Page::query()->first(); + $page = $this->entities->page(); $badPath = $this->getTestImagePath('gallery', $name); $this->deleteImage($badPath); @@ -244,7 +244,7 @@ class ImageTest extends TestCase config()->set('filesystems.images', 'local_secure'); $this->asEditor(); $galleryFile = $this->getTestImage('my-secure-test-upload.png'); - $page = Page::query()->first(); + $page = $this->entities->page(); $expectedPath = storage_path('uploads/images/gallery/' . date('Y-m') . '/my-secure-test-upload.png'); $upload = $this->call('POST', '/images/gallery', ['uploaded_to' => $page->id], [], ['file' => $galleryFile], []); @@ -292,7 +292,7 @@ class ImageTest extends TestCase config()->set('filesystems.images', 'local_secure'); $this->asEditor(); $galleryFile = $this->getTestImage('my-secure-test-upload.png'); - $page = Page::query()->first(); + $page = $this->entities->page(); $expectedPath = storage_path('uploads/images/gallery/' . date('Y-m') . '/my-secure-test-upload.png'); $upload = $this->call('POST', '/images/gallery', ['uploaded_to' => $page->id], [], ['file' => $galleryFile], []); @@ -332,8 +332,7 @@ class ImageTest extends TestCase config()->set('filesystems.images', 'local_secure_restricted'); $this->asEditor(); $galleryFile = $this->getTestImage('my-secure-restricted-test-upload.png'); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $upload = $this->call('POST', '/images/gallery', ['uploaded_to' => $page->id], [], ['file' => $galleryFile], []); $upload->assertStatus(200); @@ -357,8 +356,7 @@ class ImageTest extends TestCase config()->set('filesystems.images', 'local_secure_restricted'); $this->asEditor(); $galleryFile = $this->getTestImage('my-secure-restricted-thumb-test-test.png'); - /** @var Page $page */ - $page = Page::query()->first(); + $page = $this->entities->page(); $upload = $this->call('POST', '/images/gallery', ['uploaded_to' => $page->id], [], ['file' => $galleryFile], []); $upload->assertStatus(200); @@ -412,7 +410,7 @@ class ImageTest extends TestCase public function test_image_delete() { - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asAdmin(); $imageName = 'first-image.png'; $relPath = $this->getTestImagePath('gallery', $imageName); @@ -434,7 +432,7 @@ class ImageTest extends TestCase public function test_image_delete_does_not_delete_similar_images() { - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asAdmin(); $imageName = 'first-image.png'; @@ -459,7 +457,7 @@ class ImageTest extends TestCase public function test_image_manager_delete_button_only_shows_with_permission() { - $page = Page::query()->first(); + $page = $this->entities->page(); $this->asAdmin(); $imageName = 'first-image.png'; $relPath = $this->getTestImagePath('gallery', $imageName); @@ -539,7 +537,7 @@ class ImageTest extends TestCase public function test_deleted_unused_images() { - $page = Page::query()->first(); + $page = $this->entities->page(); $admin = $this->getAdmin(); $this->actingAs($admin); diff --git a/tests/Uploads/UsesImages.php b/tests/Uploads/UsesImages.php index b55572248..e2c16c37c 100644 --- a/tests/Uploads/UsesImages.php +++ b/tests/Uploads/UsesImages.php @@ -91,7 +91,7 @@ trait UsesImages protected function uploadGalleryImage(Page $page = null, ?string $testDataFileName = null) { if ($page === null) { - $page = Page::query()->first(); + $page = $this->entities->page(); } $imageName = $testDataFileName ?? 'first-image.png'; diff --git a/tests/User/UserManagementTest.php b/tests/User/UserManagementTest.php index 71d50e8d6..114088338 100644 --- a/tests/User/UserManagementTest.php +++ b/tests/User/UserManagementTest.php @@ -150,7 +150,7 @@ class UserManagementTest extends TestCase public function test_delete_with_new_owner_id_changes_ownership() { - $page = Page::query()->first(); + $page = $this->entities->page(); $owner = $page->ownedBy; $newOwner = User::query()->where('id', '!=', $owner->id)->first(); diff --git a/tests/User/UserPreferencesTest.php b/tests/User/UserPreferencesTest.php index 88d54d316..2273be2b4 100644 --- a/tests/User/UserPreferencesTest.php +++ b/tests/User/UserPreferencesTest.php @@ -132,8 +132,7 @@ class UserPreferencesTest extends TestCase public function test_shelf_view_type_change() { $editor = $this->getEditor(); - /** @var Bookshelf $shelf */ - $shelf = Bookshelf::query()->first(); + $shelf = $this->entities->shelf(); setting()->putUser($editor, 'bookshelf_view_type', 'list'); $resp = $this->actingAs($editor)->get($shelf->getUrl())->assertSee('Grid View'); @@ -155,7 +154,7 @@ class UserPreferencesTest extends TestCase public function test_update_code_language_favourite() { $editor = $this->getEditor(); - $page = Page::query()->first(); + $page = $this->entities->page(); $this->actingAs($editor); $this->patch('/settings/users/update-code-language-favourite', ['language' => 'php', 'active' => true]);