Skip to content

Commit 731a092

Browse files
committed
wip: tests
1 parent 5caa566 commit 731a092

File tree

11 files changed

+87
-56
lines changed

11 files changed

+87
-56
lines changed

packages/job-worker/src/__mocks__/context.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ import { IDirectCollections } from '../db'
4242
import {
4343
ApmSpan,
4444
JobContext,
45+
JobStudio,
4546
ProcessedShowStyleBase,
4647
ProcessedShowStyleCompound,
4748
ProcessedShowStyleVariant,
@@ -56,6 +57,7 @@ import { JSONBlobStringify } from '@sofie-automation/shared-lib/dist/lib/JSONBlo
5657
import { removeRundownPlaylistFromDb } from '../ingest/__tests__/lib'
5758
import { processShowStyleBase, processShowStyleVariant } from '../jobs/showStyle'
5859
import { defaultStudio } from './defaultCollectionObjects'
60+
import { convertStudioToJobStudio } from '../jobs/studio'
5961

6062
export function setupDefaultJobEnvironment(studioId?: StudioId): MockJobContext {
6163
const { mockCollections, jobCollections } = getMockCollections()
@@ -75,6 +77,7 @@ export class MockJobContext implements JobContext {
7577
#jobCollections: Readonly<IDirectCollections>
7678
#mockCollections: Readonly<IMockCollections>
7779
#studio: ReadonlyDeep<DBStudio>
80+
#jobStudio: ReadonlyDeep<JobStudio>
7881

7982
#studioBlueprint: ReadonlyDeep<StudioBlueprintManifest>
8083
#showStyleBlueprint: ReadonlyDeep<ShowStyleBlueprintManifest>
@@ -87,6 +90,7 @@ export class MockJobContext implements JobContext {
8790
this.#jobCollections = jobCollections
8891
this.#mockCollections = mockCollections
8992
this.#studio = studio
93+
this.#jobStudio = convertStudioToJobStudio(clone<DBStudio>(studio))
9094

9195
this.#studioBlueprint = MockStudioBlueprint()
9296
this.#showStyleBlueprint = MockShowStyleBlueprint()
@@ -103,7 +107,10 @@ export class MockJobContext implements JobContext {
103107
get studioId(): StudioId {
104108
return this.#studio._id
105109
}
106-
get studio(): ReadonlyDeep<DBStudio> {
110+
get studio(): ReadonlyDeep<JobStudio> {
111+
return this.#jobStudio
112+
}
113+
get rawStudio(): ReadonlyDeep<DBStudio> {
107114
return this.#studio
108115
}
109116

@@ -219,7 +226,7 @@ export class MockJobContext implements JobContext {
219226
}
220227
}
221228
getShowStyleBlueprintConfig(showStyle: ReadonlyDeep<ProcessedShowStyleCompound>): ProcessedShowStyleConfig {
222-
return preprocessShowStyleConfig(showStyle, this.#showStyleBlueprint, this.#studio.settings)
229+
return preprocessShowStyleConfig(showStyle, this.#showStyleBlueprint, this.studio.settings)
223230
}
224231

225232
hackPublishTimelineToFastTrack(_newTimeline: TimelineComplete): void {
@@ -244,6 +251,7 @@ export class MockJobContext implements JobContext {
244251

245252
setStudio(studio: ReadonlyDeep<DBStudio>): void {
246253
this.#studio = clone(studio)
254+
this.#jobStudio = convertStudioToJobStudio(clone<DBStudio>(studio))
247255
}
248256
setShowStyleBlueprint(blueprint: ReadonlyDeep<ShowStyleBlueprintManifest>): void {
249257
this.#showStyleBlueprint = blueprint

packages/job-worker/src/__mocks__/defaultCollectionObjects.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,12 +102,12 @@ export function defaultStudio(_id: StudioId): DBStudio {
102102
mappingsWithOverrides: wrapDefaultObject({}),
103103
supportedShowStyleBase: [],
104104
blueprintConfigWithOverrides: wrapDefaultObject({}),
105-
settings: {
105+
settingsWithOverrides: wrapDefaultObject({
106106
frameRate: 25,
107107
mediaPreviewsUrl: '',
108108
minimumTakeSpan: DEFAULT_MINIMUM_TAKE_SPAN,
109109
allowAdlibTestingSegment: true,
110-
},
110+
}),
111111
routeSetsWithOverrides: wrapDefaultObject({}),
112112
routeSetExclusivityGroupsWithOverrides: wrapDefaultObject({}),
113113
packageContainersWithOverrides: wrapDefaultObject({}),

packages/job-worker/src/blueprints/__tests__/config.test.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ describe('Test blueprint config', () => {
1010
test('compileStudioConfig', () => {
1111
const jobContext = setupDefaultJobEnvironment()
1212
jobContext.setStudio({
13-
...jobContext.studio,
14-
settings: {
13+
...jobContext.rawStudio,
14+
settingsWithOverrides: wrapDefaultObject({
1515
mediaPreviewsUrl: '',
1616
frameRate: 25,
1717
minimumTakeSpan: DEFAULT_MINIMUM_TAKE_SPAN,
18-
},
18+
}),
1919
blueprintConfigWithOverrides: wrapDefaultObject({ sdfsdf: 'one', another: 5 }),
2020
})
2121
jobContext.updateStudioBlueprint({
@@ -33,12 +33,12 @@ describe('Test blueprint config', () => {
3333
test('compileStudioConfig with function', () => {
3434
const jobContext = setupDefaultJobEnvironment()
3535
jobContext.setStudio({
36-
...jobContext.studio,
37-
settings: {
36+
...jobContext.rawStudio,
37+
settingsWithOverrides: wrapDefaultObject({
3838
mediaPreviewsUrl: '',
3939
frameRate: 25,
4040
minimumTakeSpan: DEFAULT_MINIMUM_TAKE_SPAN,
41-
},
41+
}),
4242
blueprintConfigWithOverrides: wrapDefaultObject({ sdfsdf: 'one', another: 5 }),
4343
})
4444
jobContext.updateStudioBlueprint({
@@ -136,7 +136,7 @@ describe('Test blueprint config', () => {
136136

137137
const studioId = jobContext.studioId
138138
jobContext.setStudio({
139-
...jobContext.studio,
139+
...jobContext.rawStudio,
140140
blueprintConfigWithOverrides: wrapDefaultObject({
141141
two: 'abc',
142142
number: 99,
@@ -183,7 +183,7 @@ describe('Test blueprint config', () => {
183183
},
184184
})
185185
jobContext.setStudio({
186-
...jobContext.studio,
186+
...jobContext.rawStudio,
187187
supportedShowStyleBase: [showStyle._id],
188188
})
189189
jobContext.updateShowStyleBlueprint({

packages/job-worker/src/blueprints/__tests__/context.test.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { getHash } from '@sofie-automation/corelib/dist/lib'
22
import { unprotectString } from '@sofie-automation/corelib/dist/protectedString'
3-
import { applyAndValidateOverrides } from '@sofie-automation/corelib/dist/settings/objectWithOverrides'
43
import { MockJobContext, setupDefaultJobEnvironment } from '../../__mocks__/context'
54
import { getShowStyleConfigRef, getStudioConfigRef } from '../configRefs'
65
import { CommonContext } from '../context/CommonContext'
@@ -81,7 +80,7 @@ describe('Test blueprint api context', () => {
8180

8281
expect(context.studio).toBe(studio)
8382
expect(context.getStudioConfig()).toBe(studioConfig)
84-
expect(context.getStudioMappings()).toEqual(applyAndValidateOverrides(studio.mappingsWithOverrides).obj)
83+
expect(context.getStudioMappings()).toEqual(studio.mappings)
8584
})
8685
test('getStudioConfigRef', () => {
8786
const context = new StudioContext(

packages/job-worker/src/ingest/__tests__/ingest.test.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ import { UserErrorMessage } from '@sofie-automation/corelib/dist/error'
4747
import { PlayoutPartInstanceModel } from '../../playout/model/PlayoutPartInstanceModel'
4848
import { NrcsIngestCacheType } from '@sofie-automation/corelib/dist/dataModel/NrcsIngestDataCache'
4949
import { wrapGenericIngestJob, wrapGenericIngestJobWithPrecheck } from '../jobWrappers'
50+
import { wrapDefaultObject } from '@sofie-automation/corelib/dist/settings/objectWithOverrides'
5051

5152
const handleRemovedRundownWrapped = wrapGenericIngestJob(handleRemovedRundown)
5253
const handleUpdatedRundownWrapped = wrapGenericIngestJob(handleUpdatedRundown)
@@ -121,11 +122,11 @@ describe('Test ingest actions for rundowns and segments', () => {
121122
const showStyleCompound = await setupMockShowStyleCompound(context)
122123

123124
context.setStudio({
124-
...context.studio,
125-
settings: {
125+
...context.rawStudio,
126+
settingsWithOverrides: wrapDefaultObject({
126127
...context.studio.settings,
127128
minimumTakeSpan: 0,
128-
},
129+
}),
129130
supportedShowStyleBase: [showStyleCompound._id],
130131
})
131132

packages/job-worker/src/ingest/__tests__/selectShowStyleVariant.test.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ describe('selectShowStyleVariant', () => {
3535
const context = setupDefaultJobEnvironment()
3636
const showStyleCompound = await setupMockShowStyleCompound(context)
3737
context.setStudio({
38-
...context.studio,
38+
...context.rawStudio,
3939
supportedShowStyleBase: [showStyleCompound._id],
4040
})
4141

@@ -57,7 +57,7 @@ describe('selectShowStyleVariant', () => {
5757
const context = setupDefaultJobEnvironment()
5858
const showStyleCompound = await setupMockShowStyleCompound(context)
5959
context.setStudio({
60-
...context.studio,
60+
...context.rawStudio,
6161
supportedShowStyleBase: [],
6262
})
6363

@@ -76,7 +76,7 @@ describe('selectShowStyleVariant', () => {
7676
const context = setupDefaultJobEnvironment()
7777
const showStyleCompound = await setupMockShowStyleCompound(context)
7878
context.setStudio({
79-
...context.studio,
79+
...context.rawStudio,
8080
supportedShowStyleBase: [showStyleCompound._id],
8181
})
8282

@@ -118,7 +118,7 @@ describe('selectShowStyleVariant', () => {
118118
const showStyleCompoundVariant2 = await setupMockShowStyleVariant(context, showStyleCompound._id)
119119
const showStyleCompound2 = await setupMockShowStyleCompound(context)
120120
context.setStudio({
121-
...context.studio,
121+
...context.rawStudio,
122122
supportedShowStyleBase: [showStyleCompound._id, showStyleCompound2._id],
123123
})
124124

@@ -153,7 +153,7 @@ describe('selectShowStyleVariant', () => {
153153
test('no show style bases', async () => {
154154
const context = setupDefaultJobEnvironment()
155155
context.setStudio({
156-
...context.studio,
156+
...context.rawStudio,
157157
supportedShowStyleBase: [protectString('fakeId')],
158158
})
159159

@@ -176,7 +176,7 @@ describe('selectShowStyleVariant', () => {
176176
const context = setupDefaultJobEnvironment()
177177
const showStyleCompound = await setupMockShowStyleCompound(context)
178178
context.setStudio({
179-
...context.studio,
179+
...context.rawStudio,
180180
supportedShowStyleBase: [showStyleCompound._id],
181181
})
182182

@@ -201,7 +201,7 @@ describe('selectShowStyleVariant', () => {
201201
const context = setupDefaultJobEnvironment()
202202
const showStyleCompound = await setupMockShowStyleCompound(context)
203203
context.setStudio({
204-
...context.studio,
204+
...context.rawStudio,
205205
supportedShowStyleBase: [showStyleCompound._id],
206206
})
207207

@@ -226,7 +226,7 @@ describe('selectShowStyleVariant', () => {
226226
const context = setupDefaultJobEnvironment()
227227
const showStyleCompound = await setupMockShowStyleCompound(context)
228228
context.setStudio({
229-
...context.studio,
229+
...context.rawStudio,
230230
supportedShowStyleBase: [showStyleCompound._id],
231231
})
232232

@@ -251,7 +251,7 @@ describe('selectShowStyleVariant', () => {
251251
const context = setupDefaultJobEnvironment()
252252
const showStyleCompound = await setupMockShowStyleCompound(context)
253253
context.setStudio({
254-
...context.studio,
254+
...context.rawStudio,
255255
supportedShowStyleBase: [showStyleCompound._id],
256256
})
257257

packages/job-worker/src/ingest/mosDevice/__tests__/mosIngest.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ describe('Test recieved mos ingest payloads', () => {
8787
const showStyleCompound = await setupMockShowStyleCompound(context)
8888

8989
context.setStudio({
90-
...context.studio,
90+
...context.rawStudio,
9191
supportedShowStyleBase: [showStyleCompound._id],
9292
})
9393

packages/job-worker/src/playout/__tests__/playout.test.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ import { PlayoutChangedType } from '@sofie-automation/shared-lib/dist/peripheral
4747
import { ProcessedShowStyleCompound } from '../../jobs'
4848
import { handleOnPlayoutPlaybackChanged } from '../timings'
4949
import { sleep } from '@sofie-automation/shared-lib/dist/lib/lib'
50+
import { wrapDefaultObject } from '@sofie-automation/corelib/dist/settings/objectWithOverrides'
5051

5152
// const mockGetCurrentTime = jest.spyOn(lib, 'getCurrentTime')
5253
const mockExecutePeripheralDeviceFunction = jest
@@ -98,11 +99,11 @@ describe('Playout API', () => {
9899
context = setupDefaultJobEnvironment()
99100

100101
context.setStudio({
101-
...context.studio,
102-
settings: {
102+
...context.rawStudio,
103+
settingsWithOverrides: wrapDefaultObject({
103104
...context.studio.settings,
104105
minimumTakeSpan: 0,
105-
},
106+
}),
106107
})
107108

108109
// Ignore event jobs

packages/job-worker/src/playout/lookahead/__tests__/lookahead.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ describe('Lookahead', () => {
5151
}
5252
}
5353
context.setStudio({
54-
...context.studio,
54+
...context.rawStudio,
5555
mappingsWithOverrides: wrapDefaultObject(mappings),
5656
})
5757

@@ -222,7 +222,7 @@ describe('Lookahead', () => {
222222

223223
// Set really low
224224
{
225-
const studio = clone<DBStudio>(context.studio)
225+
const studio = clone<DBStudio>(context.rawStudio)
226226
studio.mappingsWithOverrides.defaults['WHEN_CLEAR'].lookaheadMaxSearchDistance = 0
227227
studio.mappingsWithOverrides.defaults['PRELOAD'].lookaheadMaxSearchDistance = 0
228228
context.setStudio(studio)
@@ -236,7 +236,7 @@ describe('Lookahead', () => {
236236
// really high
237237
getOrderedPartsAfterPlayheadMock.mockClear()
238238
{
239-
const studio = clone<DBStudio>(context.studio)
239+
const studio = clone<DBStudio>(context.rawStudio)
240240
studio.mappingsWithOverrides.defaults['WHEN_CLEAR'].lookaheadMaxSearchDistance = -1
241241
studio.mappingsWithOverrides.defaults['PRELOAD'].lookaheadMaxSearchDistance = 2000
242242
context.setStudio(studio)
@@ -250,7 +250,7 @@ describe('Lookahead', () => {
250250
// unset
251251
getOrderedPartsAfterPlayheadMock.mockClear()
252252
{
253-
const studio = clone<DBStudio>(context.studio)
253+
const studio = clone<DBStudio>(context.rawStudio)
254254
studio.mappingsWithOverrides.defaults['WHEN_CLEAR'].lookaheadMaxSearchDistance = undefined
255255
studio.mappingsWithOverrides.defaults['PRELOAD'].lookaheadMaxSearchDistance = -1
256256
context.setStudio(studio)

packages/job-worker/src/playout/lookahead/__tests__/util.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ describe('getOrderedPartsAfterPlayhead', () => {
3737
}
3838
}
3939
context.setStudio({
40-
...context.studio,
40+
...context.rawStudio,
4141
mappingsWithOverrides: wrapDefaultObject(mappings),
4242
})
4343

0 commit comments

Comments
 (0)