google_tag-8.x-1.x-dev/tests/src/Nightwatch/Tests/integrationTest.js
tests/src/Nightwatch/Tests/integrationTest.js
module.exports = { '@tags': ['google_tag'], before(browser) { browser.drupalInstall({ setupFile: `${__dirname}/../TestSiteInstallTestScript.php`, }); }, after(browser) { browser.drupalUninstall(); }, 'gtag exists': (browser) => { browser .drupalRelativeURL('/test-page') .assert.googleTagExists() .assert.googleTagValueEquals('tagId', 'GT-XXXXXX') .assert.googleTagValueEquals('otherIds', [ 'G-XXXXXX', 'AW-XXXXXX', 'DC-XXXXXX', 'UA-XXXXXX', ]) .drupalLogAndEnd({ onlyOnError: false }); }, 'gtag events bubbled': (browser) => { browser .drupalRelativeURL('/test-page') .assert.googleTagExists() .assert.not.googleTagValueEquals('events', []) .assert.googleTagValueEquals('events', [ { data: { route_name: 'test_page_test.test_page', }, name: 'route_name', }, ]) .drupalLogAndEnd({ onlyOnError: false }); }, 'dataLayer contains events': (browser) => { browser .drupalRelativeURL('/test-page') .assert.googleTagExists() .assert.not.googleTagValueEquals('events', []) .assert.dataLayerContains([ 'config', 'GT-XXXXXX', { foo: 6, langcode: 'en', }, ]) .assert.dataLayerContains(['config', 'G-XXXXXX']) .assert.dataLayerContains(['config', 'AW-XXXXXX']) .assert.dataLayerContains(['config', 'DC-XXXXXX']) .assert.dataLayerContains(['config', 'UA-XXXXXX']) .assert.dataLayerContains(['set', 'developer_id.dMDhkMT', true]) .assert.dataLayerContains([ 'event', 'route_name', { route_name: 'test_page_test.test_page' }, ]) .drupalLogAndEnd({ onlyOnError: false }); }, 'custom metrics and dimensions set': (browser) => { browser .drupalRelativeURL('/test-page') .assert.googleTagExists() .assert.not.googleTagValueEquals('dimensions_metrics', []) .assert.dataLayerContains([ 'config', 'GT-XXXXXX', { foo: 6, langcode: 'en', }, ]); }, };