logger = $this->getMockBuilder(LoggerInterface::class) ->disableOriginalConstructor() ->getMock(); $this->jobService = $this->getMockBuilder(Job::class) ->disableOriginalConstructor() ->getMock(); $this->defaultWorker = $this->getMockBuilder(Worker::class) ->disableOriginalConstructor() ->getMock(); } public function testRegister(): void { $queue = new Queue($this->logger, $this->jobService, $this->defaultWorker); $worker = $this->getMockBuilder(Worker::class) ->disableOriginalConstructor() ->getMock(); $queue->register('test', $worker); $this->assertTrue(true); } public function testEnqueue(): void { $queue = new Queue($this->logger, $this->jobService, $this->defaultWorker); $jobData = ['test' => 'test']; $result = $queue->enqueue($jobData); $this->assertTrue($result); $result = $queue->push($jobData); $this->assertTrue($result); } public function testRun(): void { $queue = new Queue($this->logger, $this->jobService, $this->defaultWorker); $result = $queue->run(); $this->assertTrue($result); $jobData = [ 'type' => 'test', ]; $job = new Model\Job(); $job->id = 1; $job->configuration = $jobData; $this->jobService->method('isPending')->willReturn(true); $this->jobService->method('get')->willReturn($job); $result = $queue->run(); $this->assertTrue($result); } }