createToken(['uid' => 10, 'email' => 'staff@example.com']); $payload = $service->parseToken($token); $this->assertNotNull($payload); $this->assertSame(10, $payload['uid']); $this->assertSame('staff@example.com', $payload['email']); } public function test_token_invalid_on_expiry(): void { $service = new StaffTimeOffLinkService('secret', 1); $token = $service->createToken(['uid' => 10]); sleep(2); $payload = $service->parseToken($token); $this->assertNull($payload); } }