123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- namespace Illuminate\Tests\Queue;
- use Illuminate\Container\Container;
- use Illuminate\Queue\Jobs\RedisJob;
- use Illuminate\Queue\RedisQueue;
- use Mockery as m;
- use PHPUnit\Framework\TestCase;
- use stdClass;
- class QueueRedisJobTest extends TestCase
- {
- protected function tearDown(): void
- {
- m::close();
- }
- public function testFireProperlyCallsTheJobHandler()
- {
- $job = $this->getJob();
- $job->getContainer()->shouldReceive('make')->once()->with('foo')->andReturn($handler = m::mock(stdClass::class));
- $handler->shouldReceive('fire')->once()->with($job, ['data']);
- $job->fire();
- }
- public function testDeleteRemovesTheJobFromRedis()
- {
- $job = $this->getJob();
- $job->getRedisQueue()->shouldReceive('deleteReserved')->once()
- ->with('default', $job);
- $job->delete();
- }
- public function testReleaseProperlyReleasesJobOntoRedis()
- {
- $job = $this->getJob();
- $job->getRedisQueue()->shouldReceive('deleteAndRelease')->once()
- ->with('default', $job, 1);
- $job->release(1);
- }
- protected function getJob()
- {
- return new RedisJob(
- m::mock(Container::class),
- m::mock(RedisQueue::class),
- json_encode(['job' => 'foo', 'data' => ['data'], 'attempts' => 1]),
- json_encode(['job' => 'foo', 'data' => ['data'], 'attempts' => 2]),
- 'connection-name',
- 'default'
- );
- }
- }
|