X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/6669998c10e66ebfa2d492290efd23f34ae66463..refs/pull/3068/head:/tests/TestCase.php diff --git a/tests/TestCase.php b/tests/TestCase.php index e0455f447..98e0dfbac 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -1,31 +1,80 @@ 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); + } /** - * Creates the application. + * Create the test response instance from the given response. + * + * @param \Illuminate\Http\Response $response * - * @return \Illuminate\Foundation\Application + * @return TestResponse */ - public function createApplication() + protected function createTestResponse($response) { - $app = require __DIR__.'/../bootstrap/app.php'; + return TestResponse::fromBaseResponse($response); + } + + /** + * Assert that an activity entry exists of the given key. + * Checks the activity belongs to the given entity if provided. + */ + protected function assertActivityExists(string $type, ?Entity $entity = null, string $detail = '') + { + $detailsToCheck = ['type' => $type]; + + if ($entity) { + $detailsToCheck['entity_type'] = $entity->getMorphClass(); + $detailsToCheck['entity_id'] = $entity->id; + } - $app->make(Kernel::class)->bootstrap(); + if ($detail) { + $detailsToCheck['detail'] = $detail; + } - return $app; + $this->assertDatabaseHas('activities', $detailsToCheck); } }