Changeset View
Changeset View
Standalone View
Standalone View
src/tests/Feature/UserTest.php
Show First 20 Lines • Show All 44 Lines • ▼ Show 20 Lines | class UserTest extends TestCase | ||||
* Tests for User::assignPlan() | * Tests for User::assignPlan() | ||||
*/ | */ | ||||
public function testAssignPlan(): void | public function testAssignPlan(): void | ||||
{ | { | ||||
$this->markTestIncomplete(); | $this->markTestIncomplete(); | ||||
} | } | ||||
/** | /** | ||||
* Tests for User::assignSku() | |||||
*/ | |||||
public function testAssignSku(): void | |||||
{ | |||||
$this->markTestIncomplete(); | |||||
} | |||||
/** | |||||
* Verify user creation process | * Verify user creation process | ||||
*/ | */ | ||||
public function testUserCreateJob(): void | public function testUserCreateJob(): void | ||||
{ | { | ||||
// Fake the queue, assert that no jobs were pushed... | // Fake the queue, assert that no jobs were pushed... | ||||
$queue = Queue::fake(); | Queue::fake(); | ||||
$queue->assertNothingPushed(); | Queue::assertNothingPushed(); | ||||
$user = User::create([ | $user = User::create([ | ||||
'email' => 'user-create-test@' . \config('app.domain') | 'email' => 'user-create-test@' . \config('app.domain') | ||||
]); | ]); | ||||
$queue->assertPushed(\App\Jobs\UserCreate::class, 1); | Queue::assertPushed(\App\Jobs\UserCreate::class, 1); | ||||
$queue->assertPushed(\App\Jobs\UserCreate::class, function ($job) use ($user) { | Queue::assertPushed(\App\Jobs\UserCreate::class, function ($job) use ($user) { | ||||
$job_user = TestCase::getObjectProperty($job, 'user'); | $job_user = TestCase::getObjectProperty($job, 'user'); | ||||
return $job_user->id === $user->id | return $job_user->id === $user->id | ||||
&& $job_user->email === $user->email; | && $job_user->email === $user->email; | ||||
}); | }); | ||||
$queue->assertPushedWithChain(\App\Jobs\UserCreate::class, [ | Queue::assertPushedWithChain(\App\Jobs\UserCreate::class, [ | ||||
\App\Jobs\UserVerify::class, | \App\Jobs\UserVerify::class, | ||||
]); | ]); | ||||
/* | /* | ||||
FIXME: Looks like we can't really do detailed assertions on chained jobs | FIXME: Looks like we can't really do detailed assertions on chained jobs | ||||
Another thing to consider is if we maybe should run these jobs | Another thing to consider is if we maybe should run these jobs | ||||
independently (not chained) and make sure there's no race-condition | independently (not chained) and make sure there's no race-condition | ||||
in status update | in status update | ||||
$queue->assertPushed(\App\Jobs\UserVerify::class, 1); | Queue::assertPushed(\App\Jobs\UserVerify::class, 1); | ||||
$queue->assertPushed(\App\Jobs\UserVerify::class, function ($job) use ($user) { | Queue::assertPushed(\App\Jobs\UserVerify::class, function ($job) use ($user) { | ||||
$job_user = TestCase::getObjectProperty($job, 'user'); | $job_user = TestCase::getObjectProperty($job, 'user'); | ||||
return $job_user->id === $user->id | return $job_user->id === $user->id | ||||
&& $job_user->email === $user->email; | && $job_user->email === $user->email; | ||||
}); | }); | ||||
*/ | */ | ||||
} | } | ||||
▲ Show 20 Lines • Show All 274 Lines • Show Last 20 Lines |