X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/a6633642232efd164d4708967ab59e498fbff896..refs/pull/4726/head:/tests/ErrorTest.php diff --git a/tests/ErrorTest.php b/tests/ErrorTest.php index 1558df78d..0d2ef808c 100644 --- a/tests/ErrorTest.php +++ b/tests/ErrorTest.php @@ -1,17 +1,18 @@ -getEditor(); + $editor = $this->users->editor(); $editor->name = 'tester'; $editor->save(); @@ -24,9 +25,9 @@ class ErrorTest extends TestCase public function test_item_not_found_does_not_get_logged_to_file() { - $this->actingAs($this->getViewer()); + $this->actingAs($this->users->viewer()); $handler = $this->withTestLogger(); - $book = Book::query()->first(); + $book = $this->entities->book(); // Ensure we're seeing errors Log::error('cat'); @@ -38,4 +39,23 @@ class ErrorTest extends TestCase $this->assertCount(1, $handler->getRecords()); } -} \ No newline at end of file + + public function test_access_to_non_existing_image_location_provides_404_response() + { + $resp = $this->actingAs($this->users->viewer())->get('/uploads/images/gallery/2021-05/anonexistingimage.png'); + $resp->assertStatus(404); + $resp->assertSeeText('Image Not Found'); + } + + public function test_posts_above_php_limit_shows_friendly_error() + { + // Fake super large JSON request + $resp = $this->asEditor()->call('GET', '/books', [], [], [], [ + 'CONTENT_LENGTH' => '10000000000', + 'HTTP_ACCEPT' => 'application/json', + ]); + + $resp->assertStatus(413); + $resp->assertJson(['error' => 'The server cannot receive the provided amount of data. Try again with less data or a smaller file.']); + } +}