26 lines
860 B
JavaScript
26 lines
860 B
JavaScript
import assert from 'node:assert/strict';
|
|
import test from 'node:test';
|
|
import { replaceTerritoryPath } from '../../resources/js/lib/territory-path.js';
|
|
|
|
void 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',
|
|
]);
|
|
});
|
|
|
|
void 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',
|
|
]);
|
|
});
|