hasInvalidTimes($payload); } }; $this->assertSame($expected, $command->matches($payload)); } public function payloads() { return [ 'incident' => [json_encode(['leaveTime' => '2026-11-26 59:59:58', 'failureTime' => '2026-11-26 59:59:59']), true], 'corrected' => [json_encode(['leaveTime' => '2026-11-26 23:59:58', 'failureTime' => '2026-11-26 23:59:59']), false], 'only one wrong field' => [json_encode(['leaveTime' => '2026-11-26 59:59:58', 'failureTime' => '2026-11-26 23:59:59']), false], 'missing fields' => ['{}', false], 'unrelated occurrence' => [json_encode(['message' => '59:59:59']), false], 'invalid json' => ['not-json', false], 'invalid types' => [json_encode(['leaveTime' => [], 'failureTime' => []]), false], ]; } }