Files
ECShopX/tests/ShuyunOpenPlatform/ProcessShuyunOfflineBenefitSendBatchJobTest.php
wanghai 058673559c 4.7.0
2026-06-26 19:20:24 +08:00

32 lines
1.3 KiB
PHP

<?php
declare(strict_types=1);
namespace Tests\ShuyunOpenPlatform;
use ShuyunOpenPlatformBundle\Entities\ShuyunOfflineBenefitSendBatch;
use ShuyunOpenPlatformBundle\Jobs\ProcessShuyunOfflineBenefitSendBatchJob;
use ShuyunOpenPlatformBundle\Repositories\ShuyunOfflineBenefitSendBatchRepository;
use ShuyunOpenPlatformBundle\Services\ShuyunOfflineBenefitSendBatchProcessor;
use TestCase;
class ProcessShuyunOfflineBenefitSendBatchJobTest extends TestCase
{
public function testHandleInvokesProcessorWithBatchPrimaryKey(): void
{
$batch = $this->createMock(ShuyunOfflineBenefitSendBatch::class);
$batch->method('getId')->willReturn(99);
$repo = $this->createMock(ShuyunOfflineBenefitSendBatchRepository::class);
$repo->expects($this->once())->method('findOneByCompanyAndRequestId')->with(100, 'req-x')->willReturn($batch);
$this->app->instance(ShuyunOfflineBenefitSendBatchRepository::class, $repo);
$processor = $this->createMock(ShuyunOfflineBenefitSendBatchProcessor::class);
$processor->expects($this->once())->method('process')->with(99);
$this->app->instance(ShuyunOfflineBenefitSendBatchProcessor::class, $processor);
$job = new ProcessShuyunOfflineBenefitSendBatchJob(100, 'req-x');
$this->assertTrue($job->handle());
}
}