@guardian/ophan-tracker-js 5.1.2 → 5.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24,6 +24,18 @@ export const getContainingComponent = (el) => {
24
24
  return null;
25
25
  return (el.getAttribute('data-component') || getContainingComponent(el.parentNode));
26
26
  };
27
+ /**
28
+ * Retrieves the value of the `data-fronts-test-uuid` attribute from the closest ancestor.
29
+ *
30
+ * @param {Element} el - The element to start searching from.
31
+ * @returns {string|null} The Fronts test UUID or null if not found.
32
+ */
33
+ export const getContainingFrontsTestUUID = (el) => {
34
+ if (!el || el.nodeName?.toLowerCase() === 'body')
35
+ return null;
36
+ return (el.getAttribute('data-fronts-test-uuid') ||
37
+ getContainingFrontsTestUUID(el.parentNode));
38
+ };
27
39
  /**
28
40
  * Collects all `data-link-name` attribute values from the ancestor elements.
29
41
  *
@@ -54,6 +66,7 @@ export const trackClickComponentEvent = (element) => {
54
66
  from: [location.protocol, '//', location.host, location.pathname].join(''),
55
67
  to: element.href || undefined,
56
68
  referringComponent: getContainingComponent(element),
69
+ frontsTestUUID: getContainingFrontsTestUUID(element),
57
70
  referringDataLinkNames: getDataLinkNames(element),
58
71
  refPlatform: ophan.servingPlatform(),
59
72
  refViewId: ophan.viewId,
@@ -1 +1 @@
1
- {"version":3,"file":"click-path-capture.js","sourceRoot":"","sources":["../src/click-path-capture.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"click-path-capture.js","sourceRoot":"","sources":["../src/click-path-capture.js"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import clickPathCapture, { getContainingComponent, validAncestorAnchorElement, trackClickComponentEvent, } from '../click-path-capture.js';
1
+ import clickPathCapture, { getContainingComponent, getContainingFrontsTestUUID, validAncestorAnchorElement, trackClickComponentEvent, } from '../click-path-capture.js';
2
2
  import ophan from '../core.js';
3
3
  import transmit from '../transmit.js';
4
4
  const { getDataLinkNames } = clickPathCapture;
@@ -51,6 +51,25 @@ describe('click-path-capture.js', () => {
51
51
  expect(getContainingComponent(element)).toBe('nested-component');
52
52
  });
53
53
  });
54
+ describe('getContainingFrontsTestUUID', () => {
55
+ test('should find the closest ancestor with a data-fronts-test-uuid attribute', () => {
56
+ document.body.innerHTML = `
57
+ <div data-fronts-test-uuid="outer-test-uuid">
58
+ <div data-fronts-test-uuid="inner-test-uuid">
59
+ <a href="#" id="frontsTestLink">
60
+ <span id="frontsTestElement"></span>
61
+ </a>
62
+ </div>
63
+ </div>
64
+ `;
65
+ const element = document.getElementById('frontsTestElement');
66
+ expect(getContainingFrontsTestUUID(element)).toBe('inner-test-uuid');
67
+ });
68
+ test('should return null if no data-fronts-test-uuid ancestor is found', () => {
69
+ const element = document.createElement('div');
70
+ expect(getContainingFrontsTestUUID(element)).toBeNull();
71
+ });
72
+ });
54
73
  describe('getDataLinkNames', () => {
55
74
  test('should collect data-link-name attributes from ancestors', () => {
56
75
  const element = document.getElementById('testElement1');
@@ -214,6 +233,7 @@ describe('click-path-capture.js', () => {
214
233
  from: 'http://localhost/',
215
234
  to: 'http://localhost/next-page',
216
235
  referringComponent: 'navigation',
236
+ frontsTestUUID: null,
217
237
  referringDataLinkNames: ['nav-link'],
218
238
  refPlatform: 'web',
219
239
  refViewId: 'test-view-id',
@@ -237,11 +257,32 @@ describe('click-path-capture.js', () => {
237
257
  from: 'http://localhost/',
238
258
  to: undefined, // span elements don't have href
239
259
  referringComponent: 'content',
260
+ frontsTestUUID: null,
240
261
  referringDataLinkNames: ['inner-span', 'outer-anchor'],
241
262
  refPlatform: 'web',
242
263
  refViewId: 'test-view-id',
243
264
  });
244
265
  });
266
+ test('should store the Fronts test UUID for the referred page view', () => {
267
+ document.body.innerHTML = `
268
+ <div data-component="container" data-fronts-test-uuid="1e2c761c-25ef-4b1a-987d-f5b6e8f9116f">
269
+ <a id="frontsTestAnchor" href="/tested-article" data-link-name="article-link">
270
+ Tested article
271
+ </a>
272
+ </div>
273
+ `;
274
+ const anchor = document.getElementById('frontsTestAnchor');
275
+ trackClickComponentEvent(anchor);
276
+ expect(ophanStoreDataToSendOnNextEventSpy).toHaveBeenCalledWith({
277
+ from: 'http://localhost/',
278
+ to: 'http://localhost/tested-article',
279
+ referringComponent: 'container',
280
+ frontsTestUUID: '1e2c761c-25ef-4b1a-987d-f5b6e8f9116f',
281
+ referringDataLinkNames: ['article-link'],
282
+ refPlatform: 'web',
283
+ refViewId: 'test-view-id',
284
+ });
285
+ });
245
286
  test('should not send data if no data-link-names are present', () => {
246
287
  document.body.innerHTML = `
247
288
  <div data-component="empty-component">
@@ -1 +1 @@
1
- {"version":3,"file":"click-path-capture.test.js","sourceRoot":"","sources":["../../src/tests/click-path-capture.test.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"click-path-capture.test.js","sourceRoot":"","sources":["../../src/tests/click-path-capture.test.js"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export function validAncestorAnchorElement(el: Element): Element | null;
2
2
  export function getContainingComponent(el: Element): string | null;
3
+ export function getContainingFrontsTestUUID(el: Element): string | null;
3
4
  export function trackClickComponentEvent(element: Element): void;
4
5
  declare namespace _default {
5
6
  export { getDataLinkNames };
@@ -1 +1 @@
1
- {"version":3,"file":"click-path-capture.d.ts","sourceRoot":"","sources":["../../src/click-path-capture.js"],"names":[],"mappings":"AASO,+CAHI,OAAO,GACL,OAAO,GAAC,IAAI,CAOxB;AAQM,2CAHI,OAAO,GACL,MAAM,GAAC,IAAI,CAOvB;AAyBM,kDAFI,OAAO,QA0BjB;;;;;;AA/CD;;;;;;GAMG;AACH,sCAJW,OAAO,kBACP,MAAM,EAAE,GACN,MAAM,EAAE,CAUpB"}
1
+ {"version":3,"file":"click-path-capture.d.ts","sourceRoot":"","sources":["../../src/click-path-capture.js"],"names":[],"mappings":"AASO,+CAHI,OAAO,GACL,OAAO,GAAC,IAAI,CAOxB;AAQM,2CAHI,OAAO,GACL,MAAM,GAAC,IAAI,CAOvB;AAQM,gDAHI,OAAO,GACL,MAAM,GAAC,IAAI,CAQvB;AAyBM,kDAFI,OAAO,QA2BjB;;;;;;AAhDD;;;;;;GAMG;AACH,sCAJW,OAAO,kBACP,MAAM,EAAE,GACN,MAAM,EAAE,CAUpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guardian/ophan-tracker-js",
3
- "version": "5.1.2",
3
+ "version": "5.1.3",
4
4
  "repository": {
5
5
  "url": "git+https://github.com/guardian/ophan.git",
6
6
  "directory": "tracker-js"
@@ -33,9 +33,11 @@
33
33
  "@rollup/plugin-terser": "0.4.3",
34
34
  "@rollup/plugin-typescript": "^11.1.6",
35
35
  "@types/jest": "^29.5.12",
36
+ "@types/node": "^22.20.1",
36
37
  "babel-jest": "^29.7.0",
37
38
  "jest": "^29.7.0",
38
39
  "jest-environment-jsdom": "^29.7.0",
40
+ "puppeteer": "^24.43.0",
39
41
  "rollup": "3.29.5",
40
42
  "rollup-jest": "^3.1.0",
41
43
  "ts-jest": "^29.1.4",
@@ -43,9 +45,11 @@
43
45
  },
44
46
  "scripts": {
45
47
  "build-for-cdn": "rm -rf CDN-dist && NODE_ENV=production npx rollup -c",
48
+ "build-for-browser-test": "rm -rf browser-test-dist && npm run build-for-npm && BROWSER_TEST=true rollup -c && tsc --project tsconfig.browser-tests.json",
46
49
  "build-for-npm": "rm -rf NPM-dist && tsc",
47
50
  "pretest": "tsc",
48
51
  "test": "jest",
52
+ "test:browser": "npm run build-for-browser-test && node --test --test-concurrency=1 browser-test-dist/tests/browser-tests/*.behaviour.test.js",
49
53
  "test:types": "tsc --noEmit --pretty false --project tsconfig.type-tests.json",
50
54
  "format": "npx prettier --write .",
51
55
  "changeset:publish:canary": "changeset publish --tag canary"
package/readme.md CHANGED
@@ -1,4 +1,4 @@
1
- # Using Ophan Tracker JS
1
+ # Using Ophan tracker-js
2
2
 
3
3
  Browser JavaScript client for Ophan.
4
4
 
@@ -10,7 +10,7 @@ $ npm install @guardian/ophan-tracker-js
10
10
 
11
11
  ## Usage
12
12
 
13
- Tracker JS is available as both an NPM package and a CDN distribution.
13
+ tracker-js is available as both an NPM package and a CDN distribution.
14
14
 
15
15
  ### NPM Package
16
16
 
@@ -156,7 +156,7 @@ _Please [consult with the Ophan team](Ophan.Dev@guardian.co.uk) if you wish to d
156
156
 
157
157
  The backend of tracker exposes two endpoints, `img/1` which takes in page view events, and `img/2` which takes in all other events. For events sent to the `img/2` endpoint, a page view event MUST also be created via the `img/1`. Further down the Ophan and Datatech pipeline, events with the same page view ID are tied together for ease of querying and data analysis. Therefore, a page view event must be present.
158
158
 
159
- # Developing Ophan Tracker JS
159
+ # Developing Ophan tracker-js
160
160
 
161
161
  The library is implemented using both Javascript and TypeScript, with the source code located in the `src` directory and its subdirectories. The project is set up to include both TypeScript (.ts) and JavaScript (.js) files, allowing for a mix of both languages in the library's implementation.
162
162
 
@@ -176,6 +176,33 @@ The TypeScript compiler is configured to generate compiled JavaScript files and
176
176
  .../ophan/tracker-js $ npm run test:types
177
177
  ```
178
178
 
179
+ ## Browser behaviour tests
180
+
181
+ The browser behaviour tests build the NPM package from the current source, load
182
+ the Guardian front in headless Chrome and inject it as a self-contained script.
183
+ This build from the current checkout is called the candidate, to distinguish it
184
+ from the tracker-js version already deployed on the live page. The code under
185
+ test comes from `NPM-dist`, the same build NPM consumers install; Rollup packages
186
+ it into one script so Puppeteer can inject it. Requests are redirected to a
187
+ non-routable test origin and inspected in the browser, so the tests do not send
188
+ analytics to Ophan.
189
+
190
+ These tests validate the candidate's browser behaviour and outbound requests
191
+ before release. [`OphTrack`](../oph-track/README.md) instead checks the deployed
192
+ production tracker and verifies that pageviews pass through the complete Ophan
193
+ ingestion pipeline into Elasticsearch.
194
+
195
+ ```shell
196
+ npm run test:browser
197
+ ```
198
+
199
+ Set `GUARDIAN_FRONT_URL` to test a different Guardian page. The default is
200
+ `https://www.theguardian.com/uk`.
201
+
202
+ The tests suppress Ophan requests and disable the consent manager, but the
203
+ production page can still contact other third parties. CI runs them for
204
+ tracker-js pull requests; they can also be started manually from GitHub Actions.
205
+
179
206
  #### Proxy tracker-js:
180
207
 
181
208
  1. Install dependencies
@@ -206,7 +233,7 @@ The TypeScript compiler is configured to generate compiled JavaScript files and
206
233
 
207
234
  ### Two formats for release
208
235
 
209
- When you make a change to Tracker JS, you must release on _both_ these systems:
236
+ When you make a change to tracker-js, you must release on _both_ these systems:
210
237
 
211
238
  #### NPM
212
239
 
@@ -224,7 +251,7 @@ We use `changesets` for automated publishing of the NPM package:
224
251
 
225
252
  #### S3 Bucket
226
253
 
227
- - [https://j.ophan.co.uk/](https://j.ophan.co.uk/jobs.js) - CDN/S3, [deployed through RiffRaff](https://riffraff.gutools.co.uk/deployment/history?projectName=ophan%3A%3Aophan-tracker-js&page=1) and used by some Guardian sites like https://jobs.theguardian.com/. An advantage of this approach is that sites using it immediately get Tracker JS updates, without developer intervention.
254
+ - [https://j.ophan.co.uk/](https://j.ophan.co.uk/jobs.js) - CDN/S3, [deployed through RiffRaff](https://riffraff.gutools.co.uk/deployment/history?projectName=ophan%3A%3Aophan-tracker-js&page=1) and used by some Guardian sites like https://jobs.theguardian.com/. An advantage of this approach is that sites using it immediately get tracker-js updates, without developer intervention.
228
255
 
229
256
  #### Rollup
230
257