From 2c47ad9026161ef667876c5b17fdb0e9a62735b1 Mon Sep 17 00:00:00 2001 From: Joost de Valk Date: Tue, 15 Sep 2026 16:54:56 +0200 Subject: [PATCH] Serialize automated event settings as explicit booleans --- src/Scripts/AutomatedEventsScript.php | 4 ++-- tests/Browser/pluginSettings.spec.ts | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/Scripts/AutomatedEventsScript.php b/src/Scripts/AutomatedEventsScript.php index af7c9a6..5688986 100644 --- a/src/Scripts/AutomatedEventsScript.php +++ b/src/Scripts/AutomatedEventsScript.php @@ -25,8 +25,8 @@ public function attributes(): array return array_filter([ 'data-collect' => Setting::get(SettingName::EVENT_COLLECT_DOWNLOADS), 'data-extensions' => Setting::get(SettingName::EVENT_EXTENSIONS), - 'data-use-title' => Setting::get(SettingName::EVENT_USE_TITLE), - 'data-full-urls' => Setting::get(SettingName::EVENT_FULL_URLS), + 'data-use-title' => Setting::boolean(SettingName::EVENT_USE_TITLE) ? 'true' : 'false', + 'data-full-urls' => Setting::boolean(SettingName::EVENT_FULL_URLS) ? 'true' : 'false', 'data-sa-global' => Setting::get(SettingName::EVENT_SA_GLOBAL), ]); } diff --git a/tests/Browser/pluginSettings.spec.ts b/tests/Browser/pluginSettings.spec.ts index c409661..57ef260 100644 --- a/tests/Browser/pluginSettings.spec.ts +++ b/tests/Browser/pluginSettings.spec.ts @@ -258,7 +258,12 @@ test('adds automated events script with use titles of page enabled', async ({ pa await expect(page.locator('[name="simpleanalytics_event_use_title"]')).toBeChecked(); const guest = await visitAsGuest(browser); - expect(await guest.content()).toContain('data-use-title'); + const eventsScript = guest.locator('script[src="https://scripts.simpleanalyticscdn.com/auto-events.js"]'); + await expect(eventsScript).toHaveAttribute('data-use-title', 'true'); + await page.locator('[name="simpleanalytics_event_use_title"]').uncheck(); + await saveSettings(page); + await guest.reload(); + await expect(eventsScript).toHaveAttribute('data-use-title', 'false'); await guest.context().close(); }); @@ -272,7 +277,12 @@ test('adds automated events script with use full urls enabled', async ({ page, b await expect(page.locator('[name="simpleanalytics_event_full_urls"]')).toBeChecked(); const guest = await visitAsGuest(browser); - expect(await guest.content()).toContain('data-full-urls'); + const eventsScript = guest.locator('script[src="https://scripts.simpleanalyticscdn.com/auto-events.js"]'); + await expect(eventsScript).toHaveAttribute('data-full-urls', 'true'); + await page.locator('[name="simpleanalytics_event_full_urls"]').uncheck(); + await saveSettings(page); + await guest.reload(); + await expect(eventsScript).toHaveAttribute('data-full-urls', 'false'); await guest.context().close(); });