Update tests to remove unused properties and update migration logic
This commit is contained in:
@@ -49,9 +49,6 @@ describe("project sequence steps", () => {
|
|||||||
|
|
||||||
expect(getInteractionLinkSequenceSteps(playSoundLink)).toEqual([
|
expect(getInteractionLinkSequenceSteps(playSoundLink)).toEqual([
|
||||||
{
|
{
|
||||||
startMinute: 0,
|
|
||||||
durationMinutes: 1,
|
|
||||||
lane: 0,
|
|
||||||
stepClass: "impulse",
|
stepClass: "impulse",
|
||||||
type: "controlEffect",
|
type: "controlEffect",
|
||||||
effect: createPlaySoundControlEffect({
|
effect: createPlaySoundControlEffect({
|
||||||
@@ -61,9 +58,6 @@ describe("project sequence steps", () => {
|
|||||||
]);
|
]);
|
||||||
expect(getInteractionLinkSequenceSteps(dialogueLink)).toEqual([
|
expect(getInteractionLinkSequenceSteps(dialogueLink)).toEqual([
|
||||||
{
|
{
|
||||||
startMinute: 0,
|
|
||||||
durationMinutes: 1,
|
|
||||||
lane: 0,
|
|
||||||
stepClass: "impulse",
|
stepClass: "impulse",
|
||||||
type: "startDialogue",
|
type: "startDialogue",
|
||||||
dialogueId: "dialogue-main"
|
dialogueId: "dialogue-main"
|
||||||
@@ -71,9 +65,6 @@ describe("project sequence steps", () => {
|
|||||||
]);
|
]);
|
||||||
expect(getInteractionLinkSequenceSteps(teleportLink)).toEqual([
|
expect(getInteractionLinkSequenceSteps(teleportLink)).toEqual([
|
||||||
{
|
{
|
||||||
startMinute: 0,
|
|
||||||
durationMinutes: 1,
|
|
||||||
lane: 0,
|
|
||||||
stepClass: "impulse",
|
stepClass: "impulse",
|
||||||
type: "teleportPlayer",
|
type: "teleportPlayer",
|
||||||
targetEntityId: "entity-teleport-target"
|
targetEntityId: "entity-teleport-target"
|
||||||
@@ -81,9 +72,6 @@ describe("project sequence steps", () => {
|
|||||||
]);
|
]);
|
||||||
expect(getInteractionLinkSequenceSteps(visibilityLink)).toEqual([
|
expect(getInteractionLinkSequenceSteps(visibilityLink)).toEqual([
|
||||||
{
|
{
|
||||||
startMinute: 0,
|
|
||||||
durationMinutes: 1,
|
|
||||||
lane: 0,
|
|
||||||
stepClass: "impulse",
|
stepClass: "impulse",
|
||||||
type: "toggleVisibility",
|
type: "toggleVisibility",
|
||||||
targetBrushId: "brush-main",
|
targetBrushId: "brush-main",
|
||||||
@@ -129,9 +117,6 @@ describe("project sequence steps", () => {
|
|||||||
|
|
||||||
expect(getProjectScheduleRoutineHeldSteps(actorRoutine)).toEqual([
|
expect(getProjectScheduleRoutineHeldSteps(actorRoutine)).toEqual([
|
||||||
{
|
{
|
||||||
startMinute: 0,
|
|
||||||
durationMinutes: 1440,
|
|
||||||
lane: 0,
|
|
||||||
stepClass: "held",
|
stepClass: "held",
|
||||||
type: "controlEffect",
|
type: "controlEffect",
|
||||||
effect: createSetActorPresenceControlEffect({
|
effect: createSetActorPresenceControlEffect({
|
||||||
@@ -142,9 +127,6 @@ describe("project sequence steps", () => {
|
|||||||
]);
|
]);
|
||||||
expect(getInteractionLinkImpulseSteps(directControlLink)).toEqual([
|
expect(getInteractionLinkImpulseSteps(directControlLink)).toEqual([
|
||||||
{
|
{
|
||||||
startMinute: 0,
|
|
||||||
durationMinutes: 1,
|
|
||||||
lane: 0,
|
|
||||||
stepClass: "impulse",
|
stepClass: "impulse",
|
||||||
type: "controlEffect",
|
type: "controlEffect",
|
||||||
effect: createSetLightEnabledControlEffect({
|
effect: createSetLightEnabledControlEffect({
|
||||||
@@ -155,9 +137,6 @@ describe("project sequence steps", () => {
|
|||||||
]);
|
]);
|
||||||
expect(getProjectScheduleRoutineSequenceSteps(lightRoutine)).toEqual([
|
expect(getProjectScheduleRoutineSequenceSteps(lightRoutine)).toEqual([
|
||||||
{
|
{
|
||||||
startMinute: 0,
|
|
||||||
durationMinutes: 1440,
|
|
||||||
lane: 0,
|
|
||||||
stepClass: "held",
|
stepClass: "held",
|
||||||
type: "controlEffect",
|
type: "controlEffect",
|
||||||
effect: createSetLightEnabledControlEffect({
|
effect: createSetLightEnabledControlEffect({
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import {
|
|||||||
DEFAULT_SCENE_EDITOR_SNAP_STEP,
|
DEFAULT_SCENE_EDITOR_SNAP_STEP,
|
||||||
NPC_COLLIDER_SCENE_DOCUMENT_VERSION,
|
NPC_COLLIDER_SCENE_DOCUMENT_VERSION,
|
||||||
PROJECT_DIALOGUE_LIBRARY_SCENE_DOCUMENT_VERSION,
|
PROJECT_DIALOGUE_LIBRARY_SCENE_DOCUMENT_VERSION,
|
||||||
PROJECT_SEQUENCE_LIBRARY_SCENE_DOCUMENT_VERSION,
|
PROJECT_SEQUENCE_TIMING_SCENE_DOCUMENT_VERSION,
|
||||||
SCHEDULER_ACTOR_ROUTINE_EFFECTS_SCENE_DOCUMENT_VERSION,
|
SCHEDULER_ACTOR_ROUTINE_EFFECTS_SCENE_DOCUMENT_VERSION,
|
||||||
NPC_PRESENCE_SCENE_DOCUMENT_VERSION,
|
NPC_PRESENCE_SCENE_DOCUMENT_VERSION,
|
||||||
PLAYER_START_PAUSE_BINDINGS_SCENE_DOCUMENT_VERSION,
|
PLAYER_START_PAUSE_BINDINGS_SCENE_DOCUMENT_VERSION,
|
||||||
@@ -171,9 +171,6 @@ describe("project document JSON", () => {
|
|||||||
title: "Market Greeting Sequence",
|
title: "Market Greeting Sequence",
|
||||||
steps: [
|
steps: [
|
||||||
{
|
{
|
||||||
startMinute: 0,
|
|
||||||
durationMinutes: 1,
|
|
||||||
lane: 0,
|
|
||||||
stepClass: "impulse",
|
stepClass: "impulse",
|
||||||
type: "startDialogue",
|
type: "startDialogue",
|
||||||
dialogueId: "dialogue-market"
|
dialogueId: "dialogue-market"
|
||||||
@@ -185,9 +182,6 @@ describe("project document JSON", () => {
|
|||||||
title: "Vendor Open",
|
title: "Vendor Open",
|
||||||
steps: [
|
steps: [
|
||||||
{
|
{
|
||||||
startMinute: 0,
|
|
||||||
durationMinutes: 480,
|
|
||||||
lane: 0,
|
|
||||||
stepClass: "held",
|
stepClass: "held",
|
||||||
type: "controlEffect",
|
type: "controlEffect",
|
||||||
effect: createSetActorPresenceControlEffect({
|
effect: createSetActorPresenceControlEffect({
|
||||||
@@ -243,7 +237,7 @@ describe("project document JSON", () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it("migrates legacy project sequence steps into clips", () => {
|
it("migrates legacy project sequence steps and timed clips into effects", () => {
|
||||||
const document = createEmptyProjectDocument({
|
const document = createEmptyProjectDocument({
|
||||||
name: "Legacy Sequence Clip Project"
|
name: "Legacy Sequence Clip Project"
|
||||||
});
|
});
|
||||||
@@ -264,9 +258,6 @@ describe("project document JSON", () => {
|
|||||||
title: "Legacy Dialogue Sequence",
|
title: "Legacy Dialogue Sequence",
|
||||||
steps: [
|
steps: [
|
||||||
{
|
{
|
||||||
startMinute: 0,
|
|
||||||
durationMinutes: 1,
|
|
||||||
lane: 0,
|
|
||||||
stepClass: "impulse",
|
stepClass: "impulse",
|
||||||
type: "startDialogue",
|
type: "startDialogue",
|
||||||
dialogueId: "dialogue-legacy"
|
dialogueId: "dialogue-legacy"
|
||||||
@@ -277,15 +268,27 @@ describe("project document JSON", () => {
|
|||||||
const legacyDocument = JSON.parse(
|
const legacyDocument = JSON.parse(
|
||||||
serializeProjectDocument(document)
|
serializeProjectDocument(document)
|
||||||
) as Record<string, unknown>;
|
) as Record<string, unknown>;
|
||||||
legacyDocument.version = PROJECT_SEQUENCE_LIBRARY_SCENE_DOCUMENT_VERSION;
|
legacyDocument.version = PROJECT_SEQUENCE_TIMING_SCENE_DOCUMENT_VERSION;
|
||||||
const legacySequences = (legacyDocument.sequences as { sequences: Record<string, unknown> })
|
const legacySequences = (legacyDocument.sequences as { sequences: Record<string, unknown> })
|
||||||
.sequences;
|
.sequences;
|
||||||
const legacySequence = legacySequences["sequence-legacy-dialogue"] as {
|
const legacySequence = legacySequences["sequence-legacy-dialogue"] as {
|
||||||
clips?: unknown;
|
clips?: unknown;
|
||||||
steps?: unknown;
|
steps?: unknown;
|
||||||
|
effects?: unknown;
|
||||||
|
durationMinutes?: unknown;
|
||||||
};
|
};
|
||||||
legacySequence.steps = legacySequence.clips;
|
legacySequence.clips = [
|
||||||
delete legacySequence.clips;
|
{
|
||||||
|
stepClass: "impulse",
|
||||||
|
type: "startDialogue",
|
||||||
|
dialogueId: "dialogue-legacy",
|
||||||
|
startMinute: 30,
|
||||||
|
durationMinutes: 15,
|
||||||
|
lane: 2
|
||||||
|
}
|
||||||
|
];
|
||||||
|
delete legacySequence.steps;
|
||||||
|
legacySequence.durationMinutes = 180;
|
||||||
|
|
||||||
const migratedDocument = parseProjectDocumentJson(
|
const migratedDocument = parseProjectDocumentJson(
|
||||||
JSON.stringify(legacyDocument)
|
JSON.stringify(legacyDocument)
|
||||||
@@ -295,12 +298,8 @@ describe("project document JSON", () => {
|
|||||||
migratedDocument.sequences.sequences["sequence-legacy-dialogue"]
|
migratedDocument.sequences.sequences["sequence-legacy-dialogue"]
|
||||||
).toEqual(
|
).toEqual(
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
durationMinutes: 240,
|
effects: [
|
||||||
clips: [
|
|
||||||
{
|
{
|
||||||
startMinute: 0,
|
|
||||||
durationMinutes: 1,
|
|
||||||
lane: 0,
|
|
||||||
stepClass: "impulse",
|
stepClass: "impulse",
|
||||||
type: "startDialogue",
|
type: "startDialogue",
|
||||||
dialogueId: "dialogue-legacy"
|
dialogueId: "dialogue-legacy"
|
||||||
|
|||||||
Reference in New Issue
Block a user