From c0f3027067236f5f6798cb251f8398906ba1b19d Mon Sep 17 00:00:00 2001 From: nick-delirium Date: Wed, 29 Nov 2023 12:41:10 +0100 Subject: [PATCH] fix(tracker): 11.0.0 + 7.0.0; changelogs; tests --- tracker/tracker-assist/CHANGELOG.md | 4 ++++ tracker/tracker-assist/bun.lockb | Bin 243405 -> 252383 bytes tracker/tracker-assist/package.json | 6 +++--- tracker/tracker-assist/src/version.ts | 2 +- tracker/tracker/CHANGELOG.md | 1 + tracker/tracker/package.json | 2 +- tracker/tracker/src/tests/ut.test.ts | 23 +++++++++++++++++++---- 7 files changed, 29 insertions(+), 9 deletions(-) diff --git a/tracker/tracker-assist/CHANGELOG.md b/tracker/tracker-assist/CHANGELOG.md index aa7698b27..970607a01 100644 --- a/tracker/tracker-assist/CHANGELOG.md +++ b/tracker/tracker-assist/CHANGELOG.md @@ -1,3 +1,7 @@ +## 7.0.0 + +- canvas suppoert + ## 6.0.3 - expose assist version to window as `__OR_ASSIST_VERSION` diff --git a/tracker/tracker-assist/bun.lockb b/tracker/tracker-assist/bun.lockb index 4f843c2d1624e754190e0475c9e7ebc59a4529f4..95bea393924832fd78900684300d871c81152754 100755 GIT binary patch delta 11302 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 diff --git a/tracker/tracker-assist/package.json b/tracker/tracker-assist/package.json index fdf2c46ee..9fb7928b1 100644 --- a/tracker/tracker-assist/package.json +++ b/tracker/tracker-assist/package.json @@ -1,7 +1,7 @@ { "name": "@openreplay/tracker-assist", "description": "Tracker plugin for screen assistance through the WebRTC", - "version": "6.0.4-57", + "version": "7.0.0", "keywords": [ "WebRTC", "assistance", @@ -20,7 +20,7 @@ "build-cjs": "rm -Rf cjs && tsc --project tsconfig-cjs.json && echo '{ \"type\": \"commonjs\" }' > cjs/package.json && bun run replace-paths && bun run replace-req-version", "replace-paths": "replace-in-files cjs/* --string='@openreplay/tracker' --replacement='@openreplay/tracker/cjs' && replace-in-files cjs/* --string='/lib/' --replacement='/'", "replace-pkg-version": "sh pkgver.sh", - "replace-req-version": "replace-in-files lib/* cjs/* --string='REQUIRED_TRACKER_VERSION' --replacement='9.0.0'", + "replace-req-version": "replace-in-files lib/* cjs/* --string='REQUIRED_TRACKER_VERSION' --replacement='11.0.0'", "prepublishOnly": "bun run test && bun run build", "prepare": "cd ../../ && husky install tracker/.husky/", "lint-front": "lint-staged", @@ -34,7 +34,7 @@ "socket.io-client": "^4.7.2" }, "peerDependencies": { - "@openreplay/tracker": ">=10.0.3" + "@openreplay/tracker": ">=11.0.0" }, "devDependencies": { "@openreplay/tracker": "file:../tracker", diff --git a/tracker/tracker-assist/src/version.ts b/tracker/tracker-assist/src/version.ts index cfebd79bf..755368595 100644 --- a/tracker/tracker-assist/src/version.ts +++ b/tracker/tracker-assist/src/version.ts @@ -1 +1 @@ -export const pkgVersion = '6.0.4-57' +export const pkgVersion = '7.0.0' diff --git a/tracker/tracker/CHANGELOG.md b/tracker/tracker/CHANGELOG.md index 95b2d6ce8..2a88ce59e 100644 --- a/tracker/tracker/CHANGELOG.md +++ b/tracker/tracker/CHANGELOG.md @@ -2,6 +2,7 @@ - canvas support - some safety guards for iframe components +- user testing module # 10.0.2 diff --git a/tracker/tracker/package.json b/tracker/tracker/package.json index 4b6400e66..a5e9b90d2 100644 --- a/tracker/tracker/package.json +++ b/tracker/tracker/package.json @@ -1,7 +1,7 @@ { "name": "@openreplay/tracker", "description": "The OpenReplay tracker main package", - "version": "10.0.3-55", + "version": "11.0.0", "keywords": [ "logging", "replay" diff --git a/tracker/tracker/src/tests/ut.test.ts b/tracker/tracker/src/tests/ut.test.ts index 8585f3607..fa51c79ad 100644 --- a/tracker/tracker/src/tests/ut.test.ts +++ b/tracker/tracker/src/tests/ut.test.ts @@ -7,12 +7,25 @@ jest.mock('../main/modules/userTesting/recorder.js') jest.mock('../main/modules/userTesting/styles.js') jest.mock('../main/modules/userTesting/dnd.js') +// @ts-ignore +global.fetch = jest.fn().mockResolvedValue({ + status: 200, + // @ts-ignore + json: jest.fn().mockResolvedValue(true), +}) + describe('UserTestManager', () => { let userTestManager: UserTestManager let mockAppInstance beforeEach(() => { document.body.innerHTML = '' - mockAppInstance = jest.fn() + mockAppInstance = { + sessionStorage: { getItem: () => null }, + timestamp: () => 0, + options: { + ingestPoint: 'https://localhost:3000/i', + }, + } userTestManager = new UserTestManager(mockAppInstance as unknown as mockApp) }) @@ -24,7 +37,9 @@ describe('UserTestManager', () => { test('should show a widget with descriptions and tasks', () => { userTestManager.createGreeting('Hello', true, true) - userTestManager.showWidget(['Desc1'], [{ title: 'Task1', description: 'Task1 Description' }]) + userTestManager.showWidget('Desc1', [ + { task_id: 1, allow_typing: false, title: 'Task1', description: 'Task1 Description' }, + ]) expect(document.body.innerHTML).toContain('Desc1') expect(document.body.innerHTML).toContain('Task1') }) @@ -35,14 +50,14 @@ describe('UserTestManager', () => { }) test('should create a description section', () => { - const descriptionSection = userTestManager.createDescriptionSection(['Desc1']) + const descriptionSection = userTestManager.createDescriptionSection('Desc1') expect(descriptionSection).toBeDefined() expect(descriptionSection.innerHTML).toContain('Desc1') }) test('should create tasks section', () => { const tasksSection = userTestManager.createTasksSection([ - { title: 'Task1', description: 'Desc1' }, + { title: 'Task1', description: 'Desc1', task_id: 1, allow_typing: false }, ]) expect(tasksSection).toBeDefined() expect(tasksSection.innerHTML).toContain('Task1')