* chore: build pipeline for v2

* chore: run unit tests

* chore: configure sentry build
This commit is contained in:
Carlos Valente
2023-04-01 23:06:42 +02:00
committed by GitHub
parent 9338a615d4
commit 7456205b6e
27 changed files with 680 additions and 425 deletions
@@ -159,7 +159,7 @@ export class DataProvider {
static async mergeIntoData(newData) {
const mergedData = safeMerge(data, newData);
data.eventData = mergedData.event;
data.eventData = mergedData.eventData;
data.settings = mergedData.settings;
data.viewSettings = mergedData.viewSettings;
data.osc = mergedData.osc;
@@ -4,11 +4,11 @@
* @param {object} newData
*/
export function safeMerge(existing, newData) {
const { rundown, event, settings, viewSettings, osc, http, aliases, userFields } = newData || {};
const { rundown, eventData, settings, viewSettings, osc, http, aliases, userFields } = newData || {};
return {
...existing,
rundown: rundown ?? existing.rundown,
event: { ...existing.event, ...event },
eventData: { ...existing.eventData, ...eventData },
settings: { ...existing.settings, ...settings },
viewSettings: { ...existing.viewSettings, ...viewSettings },
aliases: aliases ?? existing.aliases,
@@ -3,7 +3,7 @@ import { safeMerge } from '../DataProvider.utils.js';
describe('safeMerge', () => {
const existing = {
rundown: [],
event: {
eventData: {
title: 'existing title',
publicUrl: 'existing public URL',
backstageUrl: 'existing backstageUrl',
@@ -18,7 +18,7 @@ describe('safeMerge', () => {
version: 2,
serverPort: 4001,
},
views: {
viewSettings: {
overrideStyles: false,
},
aliases: [],
@@ -33,30 +33,12 @@ describe('safeMerge', () => {
enabledIn: false,
enabledOut: false,
subscriptions: {
onLoad: {
message: '',
enabled: false,
},
onStart: {
message: '',
enabled: false,
},
onPause: {
message: '',
enabled: false,
},
onStop: {
message: '',
enabled: false,
},
onUpdate: {
message: '',
enabled: false,
},
onFinish: {
message: '',
enabled: false,
},
onLoad: [],
onStart: [],
onPause: [],
onStop: [],
onUpdate: [],
onFinish: [],
},
},
http: {
@@ -81,13 +63,13 @@ describe('safeMerge', () => {
it('merges the event key', () => {
const newData = {
event: {
eventData: {
title: 'new title',
publicInfo: 'new public info',
},
};
const mergedData = safeMerge(existing, newData);
expect(mergedData.event).toEqual({
expect(mergedData.eventData).toEqual({
title: 'new title',
publicUrl: 'existing public URL',
publicInfo: 'new public info',
@@ -120,10 +102,13 @@ describe('safeMerge', () => {
osc: {
portIn: 7777,
subscriptions: {
onStart: {
message: 'new message',
enabled: true,
},
onStart: [
{
id: 'unique',
message: 'new message',
enabled: true,
},
],
},
},
};
@@ -135,30 +120,18 @@ describe('safeMerge', () => {
enabledIn: false,
enabledOut: false,
subscriptions: {
onLoad: {
message: '',
enabled: false,
},
onStart: {
message: 'new message',
enabled: true,
},
onPause: {
message: '',
enabled: false,
},
onStop: {
message: '',
enabled: false,
},
onUpdate: {
message: '',
enabled: false,
},
onFinish: {
message: '',
enabled: false,
},
onLoad: [],
onStart: [
{
id: 'unique',
message: 'new message',
enabled: true,
},
],
onPause: [],
onStop: [],
onUpdate: [],
onFinish: [],
},
});
});
@@ -182,7 +155,7 @@ describe('safeMerge', () => {
pinCode: null,
timeFormat: '24',
},
views: {
viewSettings: {
overrideStyles: false,
},
aliases: [],
@@ -205,60 +178,24 @@ describe('safeMerge', () => {
enabledIn: false,
enabledOut: false,
subscriptions: {
onLoad: {
message: '',
enabled: false,
},
onStart: {
message: '',
enabled: false,
},
onPause: {
message: '',
enabled: false,
},
onStop: {
message: '',
enabled: false,
},
onUpdate: {
message: '',
enabled: false,
},
onFinish: {
message: '',
enabled: false,
},
onLoad: [],
onStart: [],
onPause: [],
onStop: [],
onUpdate: [],
onFinish: [],
},
},
http: {
user: null,
pwd: null,
messages: {
onLoad: {
url: '',
enabled: false,
},
onStart: {
url: '',
enabled: false,
},
onUpdate: {
url: '',
enabled: false,
},
onPause: {
url: '',
enabled: false,
},
onStop: {
url: '',
enabled: false,
},
onFinish: {
url: '',
enabled: false,
},
onLoad: [],
onStart: [],
onUpdate: [],
onPause: [],
onStop: [],
onFinish: [],
},
enabled: true,
},
@@ -1,4 +1,4 @@
import { OntimeEvent, TitleBlock, Loaded } from 'ontime-types';
import { Loaded, OntimeEvent, TitleBlock } from 'ontime-types';
import { DataProvider } from '../data-provider/DataProvider.js';
import { getRollTimers } from '../../services/rollUtils.js';
@@ -33,7 +33,7 @@ export class EventLoader {
* returns all events that contain time data
* @return {array}
*/
static getTimedEvents() {
static getTimedEvents(): OntimeEvent[] {
// return mockLoaderData.filter((event) => event.type === 'event');
return DataProvider.getRundown().filter((event) => event.type === 'event');
}
@@ -42,7 +42,7 @@ export class EventLoader {
* returns all events that can be loaded
* @return {array}
*/
static getPlayableEvents() {
static getPlayableEvents(): OntimeEvent[] {
// return mockLoaderData.filter((event) => event.type === 'event' && !event.skip);
return DataProvider.getRundown().filter((event) => event.type === 'event' && !event.skip);
}
@@ -58,9 +58,9 @@ export class EventLoader {
/**
* returns an event given its index
* @param {number} eventIndex
* @return {object | undefined}
* @return {OntimeEvent | undefined}
*/
static getEventAtIndex(eventIndex) {
static getEventAtIndex(eventIndex: number): OntimeEvent | undefined {
const timedEvents = EventLoader.getTimedEvents();
return timedEvents?.[eventIndex];
}