use Illuminate\Foundation\Testing\TestCase as BaseTestCase;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Env;
+use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Testing\Assert as PHPUnit;
use Monolog\Handler\TestHandler;
return $this->editor;
}
+ /**
+ * Set the current user context to be a viewer.
+ */
+ public function asViewer()
+ {
+ return $this->actingAs($this->getViewer());
+ }
+
/**
* Get an instance of a user with 'viewer' permissions.
*/
/**
* Run a set test with the given env variable.
* Remembers the original and resets the value after test.
+ * Database config is juggled so the value can be restored when
+ * parallel testing are used, where multiple databases exist.
*/
protected function runWithEnv(string $name, $value, callable $callback)
{
$_SERVER[$name] = $value;
}
+ $database = config('database.connections.mysql_testing.database');
$this->refreshApplication();
+
+ DB::purge();
+ config()->set('database.connections.mysql_testing.database', $database);
+
$callback();
if (is_null($originalVal)) {
}
/**
- * @return Entity[]
+ * @return array{page: Page, chapter: Chapter, book: Book, bookshelf: Bookshelf}
*/
protected function getEachEntityType(): array
{