Describe snapshot source revisions
This commit is contained in:
@@ -5,7 +5,10 @@ import { renderToStaticMarkup } from "react-dom/server";
|
||||
import { ProjectVersionHistory } from "../src/frontend/components/project-version-history.js";
|
||||
import { ProjectDeviceModal } from "../src/frontend/components/project-device-modal.js";
|
||||
import { ProjectSettingsModal } from "../src/frontend/components/project-settings-modal.js";
|
||||
import type { ProjectRevisionSummaryDto } from "../src/frontend/types.js";
|
||||
import type {
|
||||
ProjectRevisionSummaryDto,
|
||||
ProjectSnapshotMetadataDto,
|
||||
} from "../src/frontend/types.js";
|
||||
import {
|
||||
createNamedProjectSnapshot,
|
||||
getProjectHistory,
|
||||
@@ -19,6 +22,7 @@ import {
|
||||
getProjectRevisionDescription,
|
||||
getProjectRevisionSourceLabel,
|
||||
getProjectSnapshotKindLabel,
|
||||
getProjectSnapshotRevisionDescription,
|
||||
mergeProjectRevisionPages,
|
||||
} from "../src/frontend/utils/project-version-history.js";
|
||||
|
||||
@@ -40,6 +44,25 @@ function revision(
|
||||
};
|
||||
}
|
||||
|
||||
function snapshot(
|
||||
sourceRevision: number,
|
||||
sourceRevisionMetadata: ProjectRevisionSummaryDto | null
|
||||
): ProjectSnapshotMetadataDto {
|
||||
return {
|
||||
id: `snapshot-${sourceRevision}`,
|
||||
projectId: "project-1",
|
||||
sourceRevision,
|
||||
sourceRevisionMetadata,
|
||||
schemaVersion: 5,
|
||||
kind: "automatic",
|
||||
name: `Revision ${sourceRevision}`,
|
||||
description: null,
|
||||
payloadSha256: "checksum",
|
||||
createdAtIso: "2026-07-25T12:00:00.000Z",
|
||||
createdByActorId: null,
|
||||
};
|
||||
}
|
||||
|
||||
describe("project version history presentation", () => {
|
||||
it("renders a compact collapsed German entry point", () => {
|
||||
const markup = renderToStaticMarkup(
|
||||
@@ -82,6 +105,16 @@ describe("project version history presentation", () => {
|
||||
),
|
||||
"future.command"
|
||||
);
|
||||
assert.equal(
|
||||
getProjectRevisionDescription(
|
||||
revision(4, {
|
||||
source: "undo",
|
||||
description: "Undo project.update-settings",
|
||||
commandType: "project.update-settings",
|
||||
})
|
||||
),
|
||||
"Projekteinstellungen bearbeitet"
|
||||
);
|
||||
assert.equal(getProjectSnapshotKindLabel("named"), "Benannt");
|
||||
assert.equal(
|
||||
getProjectSnapshotKindLabel("automatic"),
|
||||
@@ -98,6 +131,28 @@ describe("project version history presentation", () => {
|
||||
[5, 4, 3]
|
||||
);
|
||||
});
|
||||
|
||||
it("describes the immutable source revision of a snapshot", () => {
|
||||
assert.equal(
|
||||
getProjectSnapshotRevisionDescription(
|
||||
snapshot(
|
||||
25,
|
||||
revision(25, {
|
||||
description: "Verteilung UV-01 angelegt",
|
||||
})
|
||||
)
|
||||
),
|
||||
"Bearbeitung: Verteilung UV-01 angelegt"
|
||||
);
|
||||
assert.equal(
|
||||
getProjectSnapshotRevisionDescription(snapshot(0, null)),
|
||||
"Projektstart"
|
||||
);
|
||||
assert.equal(
|
||||
getProjectSnapshotRevisionDescription(snapshot(25, null)),
|
||||
"Änderungsdetails nicht verfügbar"
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe("project settings presentation", () => {
|
||||
|
||||
Reference in New Issue
Block a user