| 1 | import { AccountType } from '@yikart/common' |
| 2 | import { ChannelWorkAnalyticsVo } from './analytics.vo' |
| 3 | |
| 4 | describe('channel analytics vo', () => { |
| 5 | it('does not expose raw platform responses from snapshots', () => { |
| 6 | const result = ChannelWorkAnalyticsVo.create({ |
| 7 | platform: AccountType.YouTube, |
| 8 | platformWorkId: 'video-id', |
| 9 | snapshots: [{ |
| 10 | id: 'snapshot-1', |
| 11 | platformWorkId: 'video-id', |
| 12 | snapshotAt: new Date('2026-06-01T00:00:00.000Z'), |
| 13 | fetchedAt: new Date('2026-06-01T00:00:01.000Z'), |
| 14 | work: { id: 'video-id' }, |
| 15 | rawResponse: { token: 'raw' }, |
| 16 | }], |
| 17 | rawResponse: { token: 'top-level-raw' }, |
| 18 | } as never) |
| 19 | |
| 20 | expect(result).not.toHaveProperty('rawResponse') |
| 21 | expect(result.snapshots[0]).not.toHaveProperty('rawResponse') |
| 22 | }) |
| 23 | }) |
| 24 |