generate($event); // THEN expect($ics)->toContain('BEGIN:VCALENDAR') ->toContain('VERSION:2.0') ->toContain('PRODID:-//La Boutique de Cocotte//NONSGML v1.0//EN') ->toContain('BEGIN:VEVENT') ->toContain('UID:test-uid@laboutiquedecocotte.fr') ->toContain('DTSTAMP:20240101T100000Z') // 12:00 Europe/Paris in winter is 11:00 UTC ->toContain('DTSTART:20240101T110000Z') ->toContain('DTEND:20240101T111500Z') ->toContain('SUMMARY:Test Event') ->toContain('DESCRIPTION:This is a test description with a comma\, and a newline\n') ->toContain('URL:https://laboutiquedecocotte.fr') ->toContain('END:VEVENT') ->toContain('END:VCALENDAR'); });