2021-06-26 11:23:15 -04:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Tests;
|
2017-12-28 08:19:02 -05:00
|
|
|
|
2023-09-25 08:48:23 -04:00
|
|
|
use Illuminate\Foundation\Http\Middleware\ValidatePostSize;
|
2020-05-23 06:26:48 -04:00
|
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
|
2017-12-28 08:19:02 -05:00
|
|
|
class ErrorTest extends TestCase
|
|
|
|
{
|
|
|
|
public function test_404_page_does_not_show_login()
|
|
|
|
{
|
|
|
|
// Due to middleware being handled differently this will not fail
|
|
|
|
// if our custom, middleware-loaded handler fails but this is here
|
|
|
|
// as a reminder and as a general check in the event of other issues.
|
2023-01-21 06:08:34 -05:00
|
|
|
$editor = $this->users->editor();
|
2018-09-21 10:24:29 -04:00
|
|
|
$editor->name = 'tester';
|
|
|
|
$editor->save();
|
|
|
|
|
2017-12-28 08:19:02 -05:00
|
|
|
$this->actingAs($editor);
|
|
|
|
$notFound = $this->get('/fgfdngldfnotfound');
|
|
|
|
$notFound->assertStatus(404);
|
|
|
|
$notFound->assertDontSeeText('Log in');
|
2018-09-21 10:24:29 -04:00
|
|
|
$notFound->assertSeeText('tester');
|
2017-12-28 08:19:02 -05:00
|
|
|
}
|
2020-05-23 06:26:48 -04:00
|
|
|
|
|
|
|
public function test_item_not_found_does_not_get_logged_to_file()
|
|
|
|
{
|
2023-01-21 06:08:34 -05:00
|
|
|
$this->actingAs($this->users->viewer());
|
2020-05-23 06:26:48 -04:00
|
|
|
$handler = $this->withTestLogger();
|
2022-09-29 12:31:38 -04:00
|
|
|
$book = $this->entities->book();
|
2020-05-23 06:26:48 -04:00
|
|
|
|
|
|
|
// Ensure we're seeing errors
|
|
|
|
Log::error('cat');
|
|
|
|
$this->assertTrue($handler->hasErrorThatContains('cat'));
|
|
|
|
|
|
|
|
$this->get('/books/arandomnotfouindbook');
|
|
|
|
$this->get($book->getUrl('/chapter/arandomnotfouindchapter'));
|
|
|
|
$this->get($book->getUrl('/chapter/arandomnotfouindpages'));
|
|
|
|
|
|
|
|
$this->assertCount(1, $handler->getRecords());
|
|
|
|
}
|
2021-05-08 13:49:58 -04:00
|
|
|
|
|
|
|
public function test_access_to_non_existing_image_location_provides_404_response()
|
|
|
|
{
|
2023-01-21 06:08:34 -05:00
|
|
|
$resp = $this->actingAs($this->users->viewer())->get('/uploads/images/gallery/2021-05/anonexistingimage.png');
|
2021-05-08 13:49:58 -04:00
|
|
|
$resp->assertStatus(404);
|
|
|
|
$resp->assertSeeText('Image Not Found');
|
|
|
|
}
|
2023-09-25 08:48:23 -04:00
|
|
|
|
|
|
|
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.']);
|
|
|
|
}
|
2021-06-26 11:23:15 -04:00
|
|
|
}
|