Skip to content

Commit 79f8957

Browse files
committed
Updated E2E tests, removed GA4 ss tracking, ...
1 parent f754244 commit 79f8957

12 files changed

Lines changed: 262 additions & 259 deletions

e2e/cmp-cookieyes.spec.js

Lines changed: 14 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,87 +1,48 @@
11
const { test, expect } = require('@playwright/test');
2-
3-
const adminUser = process.env.WP_ADMIN_USER || 'test';
4-
const adminPass = process.env.WP_ADMIN_PASS || 'asdf123jkl;';
5-
const pageUrl = process.env.WP_TEST_PAGE_URL || '/?page_id=2';
6-
7-
async function loginIfNeeded(page) {
8-
await page.goto('/wp-admin/');
9-
if (page.url().includes('wp-login.php')) {
10-
await page.fill('#user_login', adminUser);
11-
await page.fill('#user_pass', adminPass);
12-
await page.click('#wp-submit');
13-
await page.waitForURL(/wp-admin/);
14-
}
15-
}
16-
17-
async function resetPlugin(page) {
18-
await page.request.post('/wp-json/fapi-signals/v1/reset');
19-
}
2+
const {
3+
pageUrl,
4+
loginIfNeeded,
5+
resetPlugin,
6+
gotoFapiSettings,
7+
setCheckbox,
8+
fillInput,
9+
saveSettings,
10+
} = require('./helpers');
2011

2112
async function activateCookieYes(page) {
2213
await page.goto('/wp-admin/plugins.php');
2314
const row = page.locator('tr[data-slug="cookie-law-info"]');
24-
if (await row.count()) {
15+
if ((await row.count()) > 0) {
2516
const activate = row.locator('a.activate');
26-
if (await activate.count()) {
27-
await activate.click();
28-
}
17+
if ((await activate.count()) > 0) await activate.click();
2918
}
3019
}
3120

3221
async function deactivateCookieYes(page) {
3322
await page.goto('/wp-admin/plugins.php');
3423
const row = page.locator('tr[data-slug="cookie-law-info"]');
35-
if (await row.count()) {
24+
if ((await row.count()) > 0) {
3625
const deactivate = row.locator('a.deactivate');
37-
if (await deactivate.count()) {
38-
await deactivate.click();
39-
}
40-
}
41-
}
42-
43-
async function setCheckbox(page, name) {
44-
const selector = `input[type="checkbox"][name="${name}"]`;
45-
const checkbox = page.locator(selector);
46-
if (await checkbox.count()) {
47-
if (!(await checkbox.isChecked())) {
48-
await checkbox.check({ force: true });
49-
}
50-
}
51-
}
52-
53-
async function fillInput(page, name, value) {
54-
const selector = `input[name="${name}"]`;
55-
const input = page.locator(selector);
56-
if (await input.count()) {
57-
await input.fill(value);
26+
if ((await deactivate.count()) > 0) await deactivate.click();
5827
}
5928
}
6029

61-
async function saveSettings(page) {
62-
await page.locator('form[action="options.php"]').waitFor({ state: 'visible', timeout: 30000 });
63-
await page.getByRole('button', { name: /Uložit|Save changes/i }).click();
64-
await page.waitForURL(/settings-updated=true/, { timeout: 15000 });
65-
}
66-
6730
test('cookieyes CMP triggers injection after consent', async ({ page }) => {
6831
test.skip(!!process.env.CI, 'CookieYes plugin not installed in CI');
6932
test.setTimeout(120000);
7033
await loginIfNeeded(page);
7134
await resetPlugin(page);
7235
await activateCookieYes(page);
7336

74-
await page.goto('/wp-admin/options-general.php?page=fapi-signals-settings');
37+
await gotoFapiSettings(page);
7538
await setCheckbox(page, 'fapi_signals_settings[meta_pixel_enabled]');
7639
await fillInput(page, 'fapi_signals_settings[meta_pixel_id]', '1234567890');
7740
await setCheckbox(page, 'fapi_signals_settings[meta_conversion_enabled]');
7841
await setCheckbox(page, 'fapi_signals_settings[fapi_js_enabled]');
7942
await setCheckbox(page, 'fapi_signals_settings[rewards_script_enabled]');
80-
8143
await saveSettings(page);
8244

8345
await page.goto(pageUrl);
84-
8546
const html = await page.content();
8647
expect(html).toContain('FapiSignalsConfig');
8748
expect(html).toContain('FAPI_CONVERSION.simpleFacebookPixelTransaction');

e2e/consent-ignore.spec.js

Lines changed: 57 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,66 @@
11
const { test, expect } = require('@playwright/test');
2-
3-
const adminUser = process.env.WP_ADMIN_USER || 'test';
4-
const adminPass = process.env.WP_ADMIN_PASS || 'asdf123jkl;';
5-
const pageUrl = process.env.WP_TEST_PAGE_URL || '/?page_id=2';
6-
7-
async function loginIfNeeded(page) {
8-
await page.goto('/wp-admin/');
9-
if (page.url().includes('wp-login.php')) {
10-
await page.fill('#user_login', adminUser);
11-
await page.fill('#user_pass', adminPass);
12-
await page.click('#wp-submit');
13-
await page.waitForURL(/wp-admin/);
14-
}
15-
}
16-
17-
async function resetPlugin(page) {
18-
await page.request.post('/wp-json/fapi-signals/v1/reset');
19-
}
20-
21-
async function setCheckbox(page, name) {
22-
const selector = `input[type="checkbox"][name="${name}"]`;
23-
const checkbox = page.locator(selector);
24-
if (await checkbox.count()) {
25-
if (!(await checkbox.isChecked())) {
26-
await checkbox.check({ force: true });
27-
}
28-
}
29-
}
30-
31-
async function fillInput(page, name, value) {
32-
const selector = `input[name="${name}"]`;
33-
const input = page.locator(selector);
34-
if (await input.count()) {
35-
await input.fill(value);
36-
}
37-
}
38-
39-
async function saveSettings(page) {
40-
await page.locator('form[action="options.php"]').waitFor({ state: 'visible', timeout: 30000 });
41-
await page.getByRole('button', { name: /Uložit|Save changes/i }).click();
42-
await page.waitForURL(/settings-updated=true/, { timeout: 15000 });
2+
const {
3+
pageUrl,
4+
loginIfNeeded,
5+
resetPlugin,
6+
gotoFapiSettings,
7+
setCheckbox,
8+
fillInput,
9+
saveSettings,
10+
} = require('./helpers');
11+
12+
const p = (name) => `fapi_signals_settings[${name}]`;
13+
14+
async function enableAllTools(page) {
15+
await setCheckbox(page, p('meta_pixel_enabled'));
16+
await fillInput(page, p('meta_pixel_id'), '1234567890');
17+
await setCheckbox(page, p('meta_conversion_enabled'));
18+
19+
await setCheckbox(page, p('ga4_pixel_enabled'));
20+
await fillInput(page, p('ga4_measurement_id'), 'G-TEST123456');
21+
await setCheckbox(page, p('ga4_conversion_enabled'));
22+
23+
await setCheckbox(page, p('gtm_pixel_enabled'));
24+
await fillInput(page, p('gtm_container_id'), 'GTM-TEST123');
25+
await setCheckbox(page, p('gtm_conversion_enabled'));
26+
27+
await setCheckbox(page, p('google_ads_pixel_enabled'));
28+
await fillInput(page, p('google_ads_id'), 'AW-123456789');
29+
await setCheckbox(page, p('google_ads_conversion_enabled'));
30+
31+
await setCheckbox(page, p('tiktok_pixel_enabled'));
32+
await fillInput(page, p('tiktok_pixel_id'), 'C0ABCDEFGHIJ');
33+
await setCheckbox(page, p('tiktok_conversion_enabled'));
34+
35+
await setCheckbox(page, p('pinterest_pixel_enabled'));
36+
await fillInput(page, p('pinterest_tag_id'), '1234567890123');
37+
await setCheckbox(page, p('pinterest_conversion_enabled'));
38+
39+
await setCheckbox(page, p('linkedin_pixel_enabled'));
40+
await fillInput(page, p('linkedin_partner_id'), '123456');
41+
42+
await setCheckbox(page, p('affilbox_conversion_enabled'));
43+
await fillInput(page, p('affilbox_url'), 'demo.affilbox.cz');
44+
await fillInput(page, p('affilbox_campaign_id'), '1');
45+
46+
await setCheckbox(page, p('cj_conversion_enabled'));
47+
await fillInput(page, p('cj_enterprise_id'), 'enterpriseId');
48+
await fillInput(page, p('cj_action_tracker_id'), 'actionTrackerId');
49+
await fillInput(page, p('cj_cjevent_order'), 'cjeventOrder');
50+
51+
await setCheckbox(page, p('sklik_conversion_enabled'));
52+
await fillInput(page, p('sklik_id'), '123456');
53+
await fillInput(page, p('sklik_zbozi_id'), '123456');
54+
55+
await setCheckbox(page, p('fapi_js_enabled'));
56+
await setCheckbox(page, p('rewards_script_enabled'));
4357
}
4458

4559
test('injects scripts for all tools when consent ignored', async ({ page, request }) => {
4660
await loginIfNeeded(page);
4761
await resetPlugin(page);
48-
await page.goto('/wp-admin/options-general.php?page=fapi-signals-settings');
49-
50-
await setCheckbox(page, 'fapi_signals_settings[meta_pixel_enabled]');
51-
await fillInput(page, 'fapi_signals_settings[meta_pixel_id]', '1234567890');
52-
await setCheckbox(page, 'fapi_signals_settings[meta_conversion_enabled]');
53-
54-
await setCheckbox(page, 'fapi_signals_settings[ga4_pixel_enabled]');
55-
await fillInput(page, 'fapi_signals_settings[ga4_measurement_id]', 'G-TEST123456');
56-
await setCheckbox(page, 'fapi_signals_settings[ga4_conversion_enabled]');
57-
58-
await setCheckbox(page, 'fapi_signals_settings[gtm_pixel_enabled]');
59-
await fillInput(page, 'fapi_signals_settings[gtm_container_id]', 'GTM-TEST123');
60-
await setCheckbox(page, 'fapi_signals_settings[gtm_conversion_enabled]');
61-
62-
await setCheckbox(page, 'fapi_signals_settings[google_ads_pixel_enabled]');
63-
await fillInput(page, 'fapi_signals_settings[google_ads_id]', 'AW-123456789');
64-
await setCheckbox(page, 'fapi_signals_settings[google_ads_conversion_enabled]');
65-
66-
await setCheckbox(page, 'fapi_signals_settings[tiktok_pixel_enabled]');
67-
await fillInput(page, 'fapi_signals_settings[tiktok_pixel_id]', 'C0ABCDEFGHIJ');
68-
await setCheckbox(page, 'fapi_signals_settings[tiktok_conversion_enabled]');
69-
70-
await setCheckbox(page, 'fapi_signals_settings[pinterest_pixel_enabled]');
71-
await fillInput(page, 'fapi_signals_settings[pinterest_tag_id]', '1234567890123');
72-
await setCheckbox(page, 'fapi_signals_settings[pinterest_conversion_enabled]');
73-
74-
await setCheckbox(page, 'fapi_signals_settings[linkedin_pixel_enabled]');
75-
await fillInput(page, 'fapi_signals_settings[linkedin_partner_id]', '123456');
76-
77-
await setCheckbox(page, 'fapi_signals_settings[affilbox_conversion_enabled]');
78-
await fillInput(page, 'fapi_signals_settings[affilbox_url]', 'demo.affilbox.cz');
79-
await fillInput(page, 'fapi_signals_settings[affilbox_campaign_id]', '1');
80-
81-
await setCheckbox(page, 'fapi_signals_settings[cj_conversion_enabled]');
82-
await fillInput(page, 'fapi_signals_settings[cj_enterprise_id]', 'enterpriseId');
83-
await fillInput(page, 'fapi_signals_settings[cj_action_tracker_id]', 'actionTrackerId');
84-
await fillInput(page, 'fapi_signals_settings[cj_cjevent_order]', 'cjeventOrder');
85-
86-
await setCheckbox(page, 'fapi_signals_settings[sklik_conversion_enabled]');
87-
await fillInput(page, 'fapi_signals_settings[sklik_id]', '123456');
88-
await fillInput(page, 'fapi_signals_settings[sklik_zbozi_id]', '123456');
89-
90-
await setCheckbox(page, 'fapi_signals_settings[fapi_js_enabled]');
91-
await setCheckbox(page, 'fapi_signals_settings[rewards_script_enabled]');
92-
62+
await gotoFapiSettings(page);
63+
await enableAllTools(page);
9364
await saveSettings(page);
9465

9566
const response = await request.get(pageUrl);
@@ -102,7 +73,6 @@ test('injects scripts for all tools when consent ignored', async ({ page, reques
10273
expect(html).toContain("ttq.load('C0ABCDEFGHIJ')");
10374
expect(html).toContain('pintrk(\'load\'');
10475
expect(html).toContain('linkedin_data_partner_ids');
105-
10676
expect(html).toContain('FAPI_CONVERSION.simpleFacebookPixelTransaction');
10777
expect(html).toContain('FAPI_CONVERSION.simpleGA4Transaction');
10878
expect(html).toContain('FAPI_CONVERSION.simpleGoogleTagManagerTransaction');
@@ -112,7 +82,6 @@ test('injects scripts for all tools when consent ignored', async ({ page, reques
11282
expect(html).toContain('FAPI_CONVERSION.simpleAffilboxTransaction');
11383
expect(html).toContain('FAPI_CONVERSION.simpleCJTransaction');
11484
expect(html).toContain('FAPI_CONVERSION.simpleSklikTransaction');
115-
11685
expect(html).toContain('fapi.js');
11786
expect(html).toContain('fapi-rewards-tracking.js');
11887
});

e2e/consent-wait.spec.js

Lines changed: 19 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,26 @@
11
const { test, expect } = require('@playwright/test');
2-
3-
const adminUser = process.env.WP_ADMIN_USER || 'test';
4-
const adminPass = process.env.WP_ADMIN_PASS || 'asdf123jkl;';
5-
const pageUrl = process.env.WP_TEST_PAGE_URL || '/?page_id=2';
6-
7-
async function loginIfNeeded(page) {
8-
await page.goto('/wp-admin/');
9-
if (page.url().includes('wp-login.php')) {
10-
await page.fill('#user_login', adminUser);
11-
await page.fill('#user_pass', adminPass);
12-
await page.click('#wp-submit');
13-
await page.waitForURL(/wp-admin/);
14-
}
15-
}
16-
17-
async function resetPlugin(page) {
18-
await page.request.post('/wp-json/fapi-signals/v1/reset');
19-
}
20-
21-
async function setCheckbox(page, name) {
22-
const selector = `input[type="checkbox"][name="${name}"]`;
23-
const checkbox = page.locator(selector);
24-
if (await checkbox.count()) {
25-
if (!(await checkbox.isChecked())) {
26-
await checkbox.check({ force: true });
27-
}
28-
}
29-
}
30-
31-
async function fillInput(page, name, value) {
32-
const selector = `input[name="${name}"]`;
33-
const input = page.locator(selector);
34-
if (await input.count()) {
35-
await input.fill(value);
36-
}
37-
}
38-
39-
async function saveSettings(page) {
40-
await page.locator('form[action="options.php"]').waitFor({ state: 'visible', timeout: 30000 });
41-
await page.getByRole('button', { name: /Uložit|Save changes/i }).click();
42-
await page.waitForURL(/settings-updated=true/, { timeout: 15000 });
43-
}
44-
45-
test('does not inject scripts when consent waiting and no CMP', async ({ page, request }) => {
2+
const {
3+
pageUrl,
4+
loginIfNeeded,
5+
resetPlugin,
6+
gotoFapiSettings,
7+
setCheckbox,
8+
fillInput,
9+
saveSettings,
10+
} = require('./helpers');
11+
12+
const p = (name) => `fapi_signals_settings[${name}]`;
13+
14+
test('does not inject scripts when consent waiting and no CMP', async ({ page }) => {
4615
await loginIfNeeded(page);
4716
await resetPlugin(page);
48-
await page.goto('/wp-admin/options-general.php?page=fapi-signals-settings');
49-
await setCheckbox(page, 'fapi_signals_settings[meta_pixel_enabled]');
50-
await fillInput(page, 'fapi_signals_settings[meta_pixel_id]', '1234567890');
51-
await setCheckbox(page, 'fapi_signals_settings[meta_conversion_enabled]');
52-
53-
await setCheckbox(page, 'fapi_signals_settings[fapi_js_enabled]');
54-
await setCheckbox(page, 'fapi_signals_settings[rewards_script_enabled]');
17+
await gotoFapiSettings(page);
5518

19+
await setCheckbox(page, p('meta_pixel_enabled'));
20+
await fillInput(page, p('meta_pixel_id'), '1234567890');
21+
await setCheckbox(page, p('meta_conversion_enabled'));
22+
await setCheckbox(page, p('fapi_js_enabled'));
23+
await setCheckbox(page, p('rewards_script_enabled'));
5624
await saveSettings(page);
5725

5826
await page.goto(pageUrl);

0 commit comments

Comments
 (0)