google_tag-8.x-1.x-dev/tests/src/Nightwatch/Assertions/dataLayerContains.js
tests/src/Nightwatch/Assertions/dataLayerContains.js
module.exports.assertion = function (expected) { this.message = `Testing if dataLayer contains ${JSON.stringify(expected)}`; this.expected = JSON.stringify(expected); this.pass = (val) => { return ( JSON.parse(val).filter((item) => { return this.expected === JSON.stringify(item); }).length > 0 ); }; this.value = (res) => { const val = res.value; if (!Array.isArray(val)) { return JSON.stringify([]); } return JSON.stringify(val); }; this.command = (cb) => { const self = this; return this.api.execute( () => window.dataLayer || [], [], (res) => cb.call(self, res), ); }; };