X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/3ac34b584930aad5625d29ca6c2e59b85e9d2ef8..refs/pull/1756/head:/tests/TestCase.php diff --git a/tests/TestCase.php b/tests/TestCase.php index e0f160eed..939a1a91e 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -2,13 +2,13 @@ use Illuminate\Foundation\Testing\DatabaseTransactions; use Illuminate\Foundation\Testing\TestCase as BaseTestCase; -use Illuminate\Foundation\Testing\TestResponse; abstract class TestCase extends BaseTestCase { use CreatesApplication; use DatabaseTransactions; use SharedTestHelpers; + /** * The base URL to use while testing the application. * @var string @@ -18,11 +18,46 @@ abstract class TestCase extends BaseTestCase /** * Assert a permission error has occurred. * @param TestResponse $response + * @return TestCase */ protected function assertPermissionError(TestResponse $response) { $response->assertRedirect('/'); - $this->assertTrue(session()->has('error')); + $this->assertSessionHas('error'); session()->remove('error'); + return $this; + } + + /** + * Assert the session contains a specific entry. + * @param string $key + * @return $this + */ + protected function assertSessionHas(string $key) + { + $this->assertTrue(session()->has($key), "Session does not contain a [{$key}] entry"); + return $this; + } + + /** + * Override of the get method so we can get visibility of custom TestResponse methods. + * @param string $uri + * @param array $headers + * @return TestResponse + */ + public function get($uri, array $headers = []) + { + return parent::get($uri, $headers); + } + + /** + * Create the test response instance from the given response. + * + * @param \Illuminate\Http\Response $response + * @return TestResponse + */ + protected function createTestResponse($response) + { + return TestResponse::fromBaseResponse($response); } } \ No newline at end of file