Verify legacy migration completion
This commit is contained in:
@@ -12,6 +12,7 @@ import { LegacyConsumerMigrationRepository } from "../src/db/repositories/legacy
|
||||
import { circuitDeviceRows } from "../src/db/schema/circuit-device-rows.js";
|
||||
import { circuitSections } from "../src/db/schema/circuit-sections.js";
|
||||
import { circuits } from "../src/db/schema/circuits.js";
|
||||
import { consumers } from "../src/db/schema/consumers.js";
|
||||
import { legacyConsumerCircuitMigrations } from "../src/db/schema/legacy-consumer-circuit-migrations.js";
|
||||
import { legacyConsumerMigrationReports } from "../src/db/schema/legacy-consumer-migration-report.js";
|
||||
import { projects } from "../src/db/schema/projects.js";
|
||||
@@ -97,6 +98,61 @@ function assertNoMigrationWrites(context: DatabaseContext) {
|
||||
}
|
||||
|
||||
describe("legacy consumer migration repository", () => {
|
||||
it("reports every consumer without a completed migration mapping", async () => {
|
||||
const { context, circuitListId, sectionId } = createTestDatabase();
|
||||
try {
|
||||
context.db
|
||||
.insert(consumers)
|
||||
.values([
|
||||
{
|
||||
id: "consumer-1",
|
||||
projectId: "project-1",
|
||||
circuitListId,
|
||||
name: "Light 1",
|
||||
quantity: 1,
|
||||
installedPowerPerUnitKw: 0.1,
|
||||
demandFactor: 1,
|
||||
},
|
||||
{
|
||||
id: "consumer-2",
|
||||
projectId: "project-1",
|
||||
circuitListId: null,
|
||||
name: "Light 2",
|
||||
quantity: 1,
|
||||
installedPowerPerUnitKw: 0.2,
|
||||
demandFactor: 1,
|
||||
},
|
||||
])
|
||||
.run();
|
||||
const repository = new LegacyConsumerMigrationRepository(context.db);
|
||||
|
||||
assert.deepEqual(
|
||||
(await repository.listUnmigratedConsumers()).sort((left, right) =>
|
||||
left.id.localeCompare(right.id)
|
||||
),
|
||||
[
|
||||
{
|
||||
id: "consumer-1",
|
||||
projectId: "project-1",
|
||||
circuitListId,
|
||||
},
|
||||
{
|
||||
id: "consumer-2",
|
||||
projectId: "project-1",
|
||||
circuitListId: null,
|
||||
},
|
||||
]
|
||||
);
|
||||
|
||||
repository.persistCircuitListMigration(
|
||||
migrationInput(circuitListId, sectionId)
|
||||
);
|
||||
assert.deepEqual(await repository.listUnmigratedConsumers(), []);
|
||||
} finally {
|
||||
context.close();
|
||||
}
|
||||
});
|
||||
|
||||
it("commits circuits, rows, mappings and report together", () => {
|
||||
const { context, circuitListId, sectionId } = createTestDatabase();
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user