Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Feature/Jobs/UserCreateTest.php
<?php | <?php | ||||
namespace Tests\Feature\Jobs; | namespace Tests\Feature\Jobs; | ||||
use App\User; | |||||
use Tests\TestCase; | use Tests\TestCase; | ||||
class UserCreateTest extends TestCase | class UserCreateTest extends TestCase | ||||
{ | { | ||||
/** | /** | ||||
* {@inheritDoc} | * {@inheritDoc} | ||||
*/ | */ | ||||
public function setUp(): void | public function setUp(): void | ||||
Show All 20 Lines | public function testHandle(): void | ||||
$user = $this->getTestUser('new-job-user@' . \config('app.domain')); | $user = $this->getTestUser('new-job-user@' . \config('app.domain')); | ||||
$this->assertFalse($user->isLdapReady()); | $this->assertFalse($user->isLdapReady()); | ||||
$job = new \App\Jobs\User\CreateJob($user->id); | $job = new \App\Jobs\User\CreateJob($user->id); | ||||
$job->handle(); | $job->handle(); | ||||
$this->assertTrue($user->fresh()->isLdapReady()); | $this->assertTrue($user->fresh()->isLdapReady()); | ||||
$this->assertFalse($job->hasFailed()); | |||||
// Test job failures | |||||
$job = new \App\Jobs\User\CreateJob($user->id); | |||||
$job->handle(); | |||||
$this->assertTrue($job->hasFailed()); | |||||
$this->assertSame("User {$user->id} is already marked as ldap-ready.", $job->failureMessage); | |||||
$user->status |= User::STATUS_DELETED; | |||||
$user->save(); | |||||
$job = new \App\Jobs\User\CreateJob($user->id); | |||||
$job->handle(); | |||||
$this->assertTrue($job->hasFailed()); | |||||
$this->assertSame("User {$user->id} is marked as deleted.", $job->failureMessage); | |||||
$user->status ^= User::STATUS_DELETED; | |||||
$user->save(); | |||||
$user->delete(); | |||||
$job = new \App\Jobs\User\CreateJob($user->id); | |||||
$job->handle(); | |||||
$this->assertTrue($job->hasFailed()); | |||||
$this->assertSame("User {$user->id} is actually deleted.", $job->failureMessage); | |||||
// TODO: Test failures on domain sanity checks | |||||
$job = new \App\Jobs\User\CreateJob(123); | |||||
$job->handle(); | |||||
$this->assertTrue($job->hasFailed()); | |||||
$this->assertSame("User 123 could not be found in the database.", $job->failureMessage); | |||||
} | } | ||||
} | } |