diff --git a/data/config.cemetery.ssm.d.ts b/data/config.cemetery.ssm.d.ts index 4cc10144..e51fe65b 100644 --- a/data/config.cemetery.ssm.d.ts +++ b/data/config.cemetery.ssm.d.ts @@ -1,2 +1,3 @@ export declare const config: import("../types/configTypes.js").Config; +export declare function lotNameSortNameFunction(lotName: string): string; export default config; diff --git a/data/config.cemetery.ssm.js b/data/config.cemetery.ssm.js index de1935ec..89d28e43 100644 --- a/data/config.cemetery.ssm.js +++ b/data/config.cemetery.ssm.js @@ -7,7 +7,7 @@ config.settings.lot.lotNamePattern = config.settings.lot.lotNameHelpText = `Two digit cemetery-Block-Range-Lot-Grave, Interment number\n ex. XX-BA-R41-L15-G3A, Interment 1`; const numericPadding = '00000'; -config.settings.lot.lotNameSortNameFunction = (lotName) => { +export function lotNameSortNameFunction(lotName) { try { const lotNameSplit = lotName.toUpperCase().split('-'); const cleanLotNamePieces = []; @@ -37,7 +37,8 @@ config.settings.lot.lotNameSortNameFunction = (lotName) => { catch { return lotName; } -}; +} +config.settings.lot.lotNameSortNameFunction = lotNameSortNameFunction; config.settings.lotOccupancy.occupantCityDefault = 'Sault Ste. Marie'; config.settings.lotOccupancy.prints = [ 'pdf/ssm.cemetery.burialPermit', diff --git a/data/config.cemetery.ssm.ts b/data/config.cemetery.ssm.ts index 83e2416e..3497dc96 100644 --- a/data/config.cemetery.ssm.ts +++ b/data/config.cemetery.ssm.ts @@ -13,7 +13,7 @@ config.settings.lot.lotNameHelpText = `Two digit cemetery-Block-Range-Lot-Grave, const numericPadding = '00000' -config.settings.lot.lotNameSortNameFunction = (lotName) => { +export function lotNameSortNameFunction(lotName: string): string { try { const lotNameSplit = lotName.toUpperCase().split('-') @@ -41,8 +41,8 @@ config.settings.lot.lotNameSortNameFunction = (lotName) => { cleanLotNamePieces.push( firstLetter + - numericPiece.slice(-1 * numericPadding.length) + - letterPiece + numericPiece.slice(-1 * numericPadding.length) + + letterPiece ) } @@ -52,6 +52,8 @@ config.settings.lot.lotNameSortNameFunction = (lotName) => { } } +config.settings.lot.lotNameSortNameFunction = lotNameSortNameFunction + config.settings.lotOccupancy.occupantCityDefault = 'Sault Ste. Marie' config.settings.lotOccupancy.prints = [ 'pdf/ssm.cemetery.burialPermit', diff --git a/test/functions.js b/test/functions.js index aae05a0f..4e5d0bb1 100644 --- a/test/functions.js +++ b/test/functions.js @@ -1,9 +1,17 @@ import * as assert from 'node:assert'; import fs from 'node:fs'; +import { lotNameSortNameFunction } from '../data/config.cemetery.ssm.js'; import * as cacheFunctions from '../helpers/functions.cache.js'; import * as iconFunctions from '../helpers/functions.icons.js'; import * as sqlFilterFunctions from '../helpers/functions.sqlFilters.js'; import * as userFunctions from '../helpers/functions.user.js'; +describe('config.cemetery.ssm', () => { + it('Sorts burial site names', () => { + const grave2 = 'XX-B1-G2'; + const grave10 = 'XX-B1-G10'; + assert.ok(lotNameSortNameFunction(grave2) < lotNameSortNameFunction(grave10)); + }); +}); describe('functions.cache', () => { const badId = -3; const badName = 'qwertyuiopasdfghjklzxcvbnm'; diff --git a/test/functions.ts b/test/functions.ts index 622849e5..a0dd2c95 100644 --- a/test/functions.ts +++ b/test/functions.ts @@ -1,12 +1,22 @@ import * as assert from 'node:assert' import fs from 'node:fs' +import { lotNameSortNameFunction } from '../data/config.cemetery.ssm.js' import * as cacheFunctions from '../helpers/functions.cache.js' import * as iconFunctions from '../helpers/functions.icons.js' import * as sqlFilterFunctions from '../helpers/functions.sqlFilters.js' import * as userFunctions from '../helpers/functions.user.js' +describe('config.cemetery.ssm', () => { + it('Sorts burial site names', () => { + const grave2 = 'XX-B1-G2' + const grave10 = 'XX-B1-G10' + + assert.ok(lotNameSortNameFunction(grave2) < lotNameSortNameFunction(grave10)) + }) +}) + describe('functions.cache', () => { const badId = -3 const badName = 'qwertyuiopasdfghjklzxcvbnm'