Skip to content

Commit

Permalink
fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
pauldambra committed Feb 11, 2025
1 parent 5c27f8d commit 1c5322b
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 4 deletions.
29 changes: 29 additions & 0 deletions src/__tests__/extensions/replay/sessionrecording.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,35 @@ describe('SessionRecording', () => {
expect(sessionRecording['canvasRecording']).toMatchObject({ enabled: expected, fps: 4, quality: 0.1 })
}
)

it.each([
['max fps and quality', 12, '1.0', 12, 1],
['min fps and quality', 0, '0.0', 0, 0],
['mid fps and quality', 6, '0.5', 6, 0.5],
['null fps and quality', null, null, 4, 0.4],
['undefined fps and quality', undefined, undefined, 4, 0.4],
['string fps and quality', '12', '1.0', 4, 1],
['over max fps and quality', 15, '1.5', 12, 1],
])(
'%s',
(
_name: string,
fps: number | string | null | undefined,
quality: string | null | undefined,
expectedFps: number,
expectedQuality: number
) => {
posthog.persistence?.register({
[SESSION_RECORDING_CANVAS_RECORDING]: { enabled: true, fps, quality },
})

expect(sessionRecording['canvasRecording']).toMatchObject({
enabled: true,
fps: expectedFps,
quality: expectedQuality,
})
}
)
})

describe('network timing capture config', () => {
Expand Down
8 changes: 4 additions & 4 deletions src/extensions/replay/sessionrecording.ts
Original file line number Diff line number Diff line change
Expand Up @@ -339,17 +339,17 @@ export class SessionRecording {

const enabled: boolean =
canvasRecording_client_side?.recordCanvas ?? canvasRecording_server_side?.enabled ?? false
const fps: number = canvasRecording_client_side?.canvasFps ?? canvasRecording_server_side?.fps ?? 0
const fps: number = canvasRecording_client_side?.canvasFps ?? canvasRecording_server_side?.fps ?? 4
let quality: string | number =
canvasRecording_client_side?.canvasQuality ?? canvasRecording_server_side?.quality ?? 0
canvasRecording_client_side?.canvasQuality ?? canvasRecording_server_side?.quality ?? 0.4
if (typeof quality === 'string') {
quality = parseFloat(quality)
}

return {
enabled,
fps: clampToRange(fps, 0, 12, 'canvas recording fps'),
quality: clampToRange(quality, 0, 1, 'canvas recording quality'),
fps: clampToRange(fps, 0, 12, 'canvas recording fps', 4),
quality: clampToRange(quality, 0, 1, 'canvas recording quality', 0.4),
}
}

Expand Down

0 comments on commit 1c5322b

Please sign in to comment.