10, 'userId' => 5015, 'dates' => [1744063200, 1744149600], 'metrics' => ['metrika_item_4' => 11], 'observationPatients' => [], 'unwantedEvents' => [], ], persistedReportId: 55, ); $snapshot = new ReportSnapshot( departmentId: 10, userId: 5015, actorUserId: 15, periodStart: new DateTimeImmutable('2026-04-08 06:00:00'), periodEnd: new DateTimeImmutable('2026-04-09 06:00:00'), metrics: [4 => 11], ); $repository = \Mockery::mock(ReportRepository::class); $repository->shouldReceive('findSnapshot')->once()->with(55)->andReturn($snapshot); $adapter = \Mockery::mock(LegacyReportServiceAdapter::class); $adapter->shouldReceive('buildSnapshotFromInput')->once()->with($input)->andReturn($snapshot); $result = (new CompareLegacyAndNewReportUseCase($repository, $adapter))->handle($input); expect($result->status)->toBe('matched') ->and($result->diff)->toBe([]); });