11const { 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 ( / w p - a d m i n / ) ;
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 : / U l o ž i t | S a v e c h a n g e s / i } ) . click ( ) ;
42- await page . waitForURL ( / s e t t i n g s - u p d a t e d = t r u e / , { 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
4559test ( '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} ) ;
0 commit comments