describe('Tracker created domain cookies', () => { it('contain the expected cookie names', () => { browser.url('/cookies.html'); browser.waitUntil(() => $('#init').getText() === 'true', { timeout: 5000, timeoutMsg: 'expected init after 5s', interval: 250, }); browser.waitUntil(() => $('#cookies').getText() !== '', { timeout: 5000, timeoutMsg: 'expected cookie to be set after 5s', interval: 250, }); const cookies = $('#cookies').getText(); expect(cookies).not.toContain('_mbt_0ses.'); // Missing as tests are not HTTPS and `cookieSecure: true` by default expect(cookies).not.toContain('_mbt_0id.'); expect(cookies).not.toContain('_mbt_3ses.'); // Missing as cookie lifetime is too short (1) expect(cookies).not.toContain('_mbt_3id.'); expect(cookies).not.toContain('_mbt_4ses.'); // Missing as anonymous tracking enabled expect(cookies).not.toContain('_mbt_4id.'); expect(cookies).not.toContain('_mbt_5ses.'); // Missing as only using local storage expect(cookies).not.toContain('_mbt_5id.'); expect(cookies).not.toContain('_mbt_7ses.'); // Can't set a cookie for another domain expect(cookies).not.toContain('_mbt_7id.'); expect(cookies).toContain('_mbt_1ses.'); expect(cookies).toContain('_mbt_1id.'); expect(cookies).toContain('_mbt_2ses.'); expect(cookies).toContain('_mbt_2id.'); expect(cookies).toContain('_mbt_6ses.'); expect(cookies).toContain('_mbt_6id.'); expect($('#getDomainUserId').getText()).toMatch( /\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b/i ); expect($('#getDomainUserInfo').getText()).toMatch( /\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b.[0-9]+.[0-9].[0-9]+.[0-9]+.\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b/i ); expect($('#getUserId').getText()).toBe('Dave'); expect($('#getCookieName').getText()).toMatch(/_mbt_1id.[0-9a-z]{4}/i); expect($('#getPageViewId').getText()).toMatch( /\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b/i ); }); });