Prepare circuits for future sizing
This commit is contained in:
@@ -38,6 +38,8 @@ const circuit: CircuitTreeCircuitDto = {
|
||||
cableType: "NYM-J",
|
||||
cableCrossSection: "1.5 mm²",
|
||||
cableLength: 20,
|
||||
voltage: 230,
|
||||
controlRequirement: "DALI",
|
||||
isReserve: false,
|
||||
remark: "Circuit remark",
|
||||
circuitTotalPower: 0.08,
|
||||
@@ -58,6 +60,8 @@ describe("circuit grid model", () => {
|
||||
assert.equal(getCellKind("reserveCircuit", "remark"), "deviceField");
|
||||
assert.equal(getCellKind("placeholder", "displayName"), "deviceField");
|
||||
assert.equal(getCellKind("deviceRow", "equipmentIdentifier"), "readonly");
|
||||
assert.equal(getCellKind("circuitSummary", "controlRequirement"), "circuitField");
|
||||
assert.equal(getCellKind("deviceRow", "controlRequirement"), "readonly");
|
||||
assert.equal(getCellKind("circuitCompact", "rowTotalPower"), "computed");
|
||||
});
|
||||
|
||||
@@ -65,6 +69,8 @@ describe("circuit grid model", () => {
|
||||
assert.equal(getDeviceValue(device, "roomSummary"), "1.01 Office");
|
||||
assert.equal(getDeviceValue(device, "rowTotalPower"), 0.08);
|
||||
assert.equal(getCircuitValue(circuit, "protectionSummary"), "MCB 16A B");
|
||||
assert.equal(getCircuitValue(circuit, "voltage"), 230);
|
||||
assert.equal(getCircuitValue(circuit, "controlRequirement"), "DALI");
|
||||
assert.equal(getCircuitValue(circuit, "cableSummary"), "NYM-J, 1.5 mm², 20 m");
|
||||
});
|
||||
|
||||
|
||||
@@ -3,8 +3,58 @@ import { describe, it } from "node:test";
|
||||
import { CircuitWriteService } from "../src/domain/services/circuit-write.service.js";
|
||||
import { CircuitRepository } from "../src/db/repositories/circuit.repository.js";
|
||||
import { db } from "../src/db/client.js";
|
||||
import { createCircuitSchema } from "../src/shared/validation/circuit.schemas.js";
|
||||
|
||||
describe("circuit write service rules", () => {
|
||||
it("accepts future sizing inputs without calculating sizing suggestions", () => {
|
||||
const parsed = createCircuitSchema.safeParse({
|
||||
sectionId: "s1",
|
||||
equipmentIdentifier: "-1F1",
|
||||
sortOrder: 10,
|
||||
voltage: 230,
|
||||
controlRequirement: "DALI",
|
||||
});
|
||||
|
||||
assert.equal(parsed.success, true);
|
||||
});
|
||||
|
||||
it("passes voltage and control requirements through circuit updates", async () => {
|
||||
let updatePayload: Record<string, unknown> = {};
|
||||
const circuit = {
|
||||
id: "c1",
|
||||
circuitListId: "l1",
|
||||
sectionId: "s1",
|
||||
equipmentIdentifier: "-1F1",
|
||||
sortOrder: 10,
|
||||
isReserve: 0,
|
||||
voltage: 230,
|
||||
controlRequirement: "none",
|
||||
};
|
||||
const service = new CircuitWriteService({
|
||||
circuitSectionRepository: {
|
||||
async findById() {
|
||||
return { id: "s1", circuitListId: "l1" } as never;
|
||||
},
|
||||
} as never,
|
||||
circuitRepository: {
|
||||
async findById() {
|
||||
return circuit as never;
|
||||
},
|
||||
async existsByEquipmentIdentifier() {
|
||||
return false;
|
||||
},
|
||||
async update(_id: string, payload: Record<string, unknown>) {
|
||||
updatePayload = payload;
|
||||
},
|
||||
} as never,
|
||||
});
|
||||
|
||||
await service.updateCircuit("c1", { voltage: 400, controlRequirement: "DALI" });
|
||||
|
||||
assert.equal(updatePayload.voltage, 400);
|
||||
assert.equal(updatePayload.controlRequirement, "DALI");
|
||||
});
|
||||
|
||||
it("rejects duplicate equipment identifiers in same circuit list", async () => {
|
||||
const service = new CircuitWriteService({
|
||||
circuitListRepository: {
|
||||
|
||||
Reference in New Issue
Block a user