Changeset View
Changeset View
Standalone View
Standalone View
src/tests/TestCaseTrait.php
Show First 20 Lines • Show All 206 Lines • ▼ Show 20 Lines | trait TestCaseTrait | ||||
/** | /** | ||||
* Get User object by email, create it if needed. | * Get User object by email, create it if needed. | ||||
* Skip LDAP jobs. | * Skip LDAP jobs. | ||||
*/ | */ | ||||
protected function getTestUser($email, $attrib = []) | protected function getTestUser($email, $attrib = []) | ||||
{ | { | ||||
// Disable jobs (i.e. skip LDAP oprations) | // Disable jobs (i.e. skip LDAP oprations) | ||||
Queue::fake(); | Queue::fake(); | ||||
$user = User::withTrashed()->where('email', $email)->first(); | $user = User::firstOrCreate(['email' => $email], $attrib); | ||||
if (!$user) { | |||||
return User::firstOrCreate(['email' => $email], $attrib); | |||||
} | |||||
if ($user->deleted_at) { | if ($user->trashed()) { | ||||
$user->restore(); | // Note: we do not want to use user restore here | ||||
User::where('id', $user->id)->forceDelete(); | |||||
$user = User::create(['email' => $email] + $attrib); | |||||
} | } | ||||
return $user; | return $user; | ||||
} | } | ||||
/** | /** | ||||
* Helper to access protected property of an object | * Helper to access protected property of an object | ||||
*/ | */ | ||||
Show All 27 Lines |