18 lines
789 B
JavaScript
18 lines
789 B
JavaScript
import assert from "node:assert/strict";
|
|
import test from "node:test";
|
|
import { replaceTerritoryPath } from "../../resources/js/lib/territory-path.js";
|
|
|
|
test("changing a parent replaces its value and clears every descendant", () => {
|
|
const path = ["province-a", "district-a", "post-a", "locality-a"];
|
|
|
|
assert.deepEqual(replaceTerritoryPath(path, 0, "province-b"), ["province-b"]);
|
|
assert.deepEqual(replaceTerritoryPath(path, 1, "district-b"), ["province-a", "district-b"]);
|
|
});
|
|
|
|
test("clearing a level also clears that level and all descendants", () => {
|
|
const path = ["province-a", "district-a", "post-a", "locality-a"];
|
|
|
|
assert.deepEqual(replaceTerritoryPath(path, 0), []);
|
|
assert.deepEqual(replaceTerritoryPath(path, 2, null), ["province-a", "district-a"]);
|
|
});
|