$this->permissions = new PermissionsProvider($this->users);
$this->files = new FileProvider();
- User::clearDefault();
parent::setUp();
// We can uncomment the below to run tests with failings upon deprecations.
* 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)
+ protected function runWithEnv(array $valuesByKey, callable $callback, bool $handleDatabase = true): void
{
Env::disablePutenv();
- $originalVal = $_SERVER[$name] ?? null;
-
- if (is_null($value)) {
- unset($_SERVER[$name]);
- } else {
- $_SERVER[$name] = $value;
+ $originals = [];
+ foreach ($valuesByKey as $key => $value) {
+ $originals[$key] = $_SERVER[$key] ?? null;
+
+ if (is_null($value)) {
+ unset($_SERVER[$key]);
+ } else {
+ $_SERVER[$key] = $value;
+ }
}
$database = config('database.connections.mysql_testing.database');
$this->refreshApplication();
- DB::purge();
- config()->set('database.connections.mysql_testing.database', $database);
- DB::beginTransaction();
+ if ($handleDatabase) {
+ DB::purge();
+ config()->set('database.connections.mysql_testing.database', $database);
+ DB::beginTransaction();
+ }
$callback();
- DB::rollBack();
+ if ($handleDatabase) {
+ DB::rollBack();
+ }
- if (is_null($originalVal)) {
- unset($_SERVER[$name]);
- } else {
- $_SERVER[$name] = $originalVal;
+ foreach ($originals as $key => $value) {
+ if (is_null($value)) {
+ unset($_SERVER[$key]);
+ } else {
+ $_SERVER[$key] = $value;
+ }
}
}
$detailsToCheck = ['type' => $type];
if ($entity) {
- $detailsToCheck['entity_type'] = $entity->getMorphClass();
- $detailsToCheck['entity_id'] = $entity->id;
+ $detailsToCheck['loggable_type'] = $entity->getMorphClass();
+ $detailsToCheck['loggable_id'] = $entity->id;
}
if ($detail) {