Drag and drop working
This commit is contained in:
@@ -300,4 +300,34 @@ describe("circuit write service rules", () => {
|
||||
assert.equal(createdCircuitPayload?.equipmentIdentifier, "-2F8");
|
||||
assert.equal(createdCircuitPayload?.isReserve, false);
|
||||
});
|
||||
|
||||
it("reorders circuits inside one section without renumbering identifiers", async () => {
|
||||
const updates: Array<{ id: string; sortOrder: number; equipmentIdentifier: string }> = [];
|
||||
const service = new CircuitWriteService({
|
||||
circuitSectionRepository: {
|
||||
async findById() {
|
||||
return { id: "s1", circuitListId: "l1" } as never;
|
||||
},
|
||||
} as never,
|
||||
circuitRepository: {
|
||||
async listBySection() {
|
||||
return [
|
||||
{ id: "c1", sectionId: "s1", equipmentIdentifier: "-2F7", sortOrder: 10, isReserve: 0 },
|
||||
{ id: "c2", sectionId: "s1", equipmentIdentifier: "-2F9", sortOrder: 20, isReserve: 0 },
|
||||
{ id: "c3", sectionId: "s1", equipmentIdentifier: "-2F5", sortOrder: 30, isReserve: 1 },
|
||||
] as never[];
|
||||
},
|
||||
async update(id: string, payload: { sortOrder: number; equipmentIdentifier: string }) {
|
||||
updates.push({ id, sortOrder: payload.sortOrder, equipmentIdentifier: payload.equipmentIdentifier });
|
||||
},
|
||||
} as never,
|
||||
});
|
||||
|
||||
await service.reorderCircuitsInSection("s1", { orderedCircuitIds: ["c3", "c1", "c2"] });
|
||||
assert.deepEqual(updates, [
|
||||
{ id: "c3", sortOrder: 10, equipmentIdentifier: "-2F5" },
|
||||
{ id: "c1", sortOrder: 20, equipmentIdentifier: "-2F7" },
|
||||
{ id: "c2", sortOrder: 30, equipmentIdentifier: "-2F9" },
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user