61 lines
2.2 KiB
TypeScript
61 lines
2.2 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
import { createEditorStore } from "../../src/app/editor-store";
|
|
import {
|
|
STARTER_DAY_ENVIRONMENT_ASSET_ID,
|
|
STARTER_NIGHT_ENVIRONMENT_ASSET_ID
|
|
} from "../../src/assets/starter-environment-assets";
|
|
import { createEmptyProjectDocument } from "../../src/document/scene-document";
|
|
import { DEFAULT_NIGHT_IMAGE_ENVIRONMENT_INTENSITY } from "../../src/document/world-settings";
|
|
|
|
describe("starter environment assets", () => {
|
|
it("seeds starter environments and defaults untouched day and night backgrounds", () => {
|
|
const store = createEditorStore();
|
|
const projectDocument = store.getState().projectDocument;
|
|
const world = store.getState().document.world;
|
|
|
|
expect(projectDocument.assets[STARTER_DAY_ENVIRONMENT_ASSET_ID]).toBeDefined();
|
|
expect(projectDocument.assets[STARTER_NIGHT_ENVIRONMENT_ASSET_ID]).toBeDefined();
|
|
expect(world.background).toEqual({
|
|
mode: "image",
|
|
assetId: STARTER_DAY_ENVIRONMENT_ASSET_ID,
|
|
environmentIntensity: 0.85
|
|
});
|
|
expect(world.timeOfDay.night.background).toEqual({
|
|
mode: "image",
|
|
assetId: STARTER_NIGHT_ENVIRONMENT_ASSET_ID,
|
|
environmentIntensity: DEFAULT_NIGHT_IMAGE_ENVIRONMENT_INTENSITY
|
|
});
|
|
});
|
|
|
|
it("does not overwrite authored scene backgrounds when adding starter environments", () => {
|
|
const projectDocument = createEmptyProjectDocument();
|
|
const activeScene = projectDocument.scenes[projectDocument.activeSceneId];
|
|
|
|
activeScene.world.background = {
|
|
mode: "solid",
|
|
colorHex: "#123456"
|
|
};
|
|
activeScene.world.timeOfDay.night.background = {
|
|
mode: "solid",
|
|
colorHex: "#05070a"
|
|
};
|
|
|
|
const store = createEditorStore({
|
|
initialProjectDocument: projectDocument
|
|
});
|
|
const world = store.getState().document.world;
|
|
|
|
expect(store.getState().projectDocument.assets[STARTER_DAY_ENVIRONMENT_ASSET_ID]).toBeDefined();
|
|
expect(store.getState().projectDocument.assets[STARTER_NIGHT_ENVIRONMENT_ASSET_ID]).toBeDefined();
|
|
expect(world.background).toEqual({
|
|
mode: "solid",
|
|
colorHex: "#123456"
|
|
});
|
|
expect(world.timeOfDay.night.background).toEqual({
|
|
mode: "solid",
|
|
colorHex: "#05070a"
|
|
});
|
|
});
|
|
});
|