employeeSites)->toBe($sites); }); it('creates an empty input', function (): void { // GIVEN $sites = []; // WHEN $input = new UpdateSettingsInput(employeeSites: $sites); // THEN expect($input->employeeSites)->toBeEmpty(); }); it('throws when site elements are not ShopperSiteCode', function (): void { // GIVEN $invalidSites = ['PA', 'LY']; // WHEN / THEN /** @phpstan-ignore argument.type */ expect(fn () => new UpdateSettingsInput(employeeSites: $invalidSites)) ->toThrow(\InvalidArgumentException::class); }); });