Major refactoring of sorting structures.

Unit tests fixes - problems were only on the automatically converted unit tests, no in the refactored logic. A good sign.
This commit is contained in:
SebastianMC 2024-11-06 12:13:32 +01:00
parent c63b83d596
commit 266bac7af6
2 changed files with 32 additions and 18 deletions

View File

@ -2112,10 +2112,10 @@ describe('determineSortingGroup', () => {
groups: [{
type: CustomSortGroupType.ExactPrefix,
exactPrefix: 'Ref',
sorting: { order: CustomSortOrder.standardObsidian,
sorting: { order: CustomSortOrder.standardObsidian },
secondarySorting: { order: CustomSortOrder.byMetadataFieldAlphabeticalReverse,
byMetadata: 'metadata-field-for-sorting'
},
secondarySorting: { order: CustomSortOrder.byMetadataFieldAlphabeticalReverse },
}]
}
const ctx: Partial<ProcessingContext> = {

View File

@ -8,7 +8,7 @@ import {
Date_dd_Mmm_yyyy_NormalizerFn,
detectSortingSymbols,
escapeRegexUnsafeCharacters,
extractSortingSymbol,
extractSortingSymbol, FolderPathToSortSpecMap,
hasMoreThanOneSortingSymbol,
NumberNormalizerFn,
RegexpUsedAs,
@ -1548,8 +1548,10 @@ describe('SortingSpecProcessor', () => {
expect(result?.sortSpecByPath).toEqual({
"/": {
defaultSorting: { order: CustomSortOrder.byCreatedTime, },
defaultSecondarySorting: { order: CustomSortOrder.byMetadataFieldAlphabeticalReverse, },
byMetadataFieldSecondary: "someMdataFld",
defaultSecondarySorting: {
order: CustomSortOrder.byMetadataFieldAlphabeticalReverse,
byMetadata: "someMdataFld"
},
groups: [{
exactText: "Nothing",
sorting: { order: CustomSortOrder.alphabeticalReverse, },
@ -1571,25 +1573,37 @@ describe('SortingSpecProcessor', () => {
}, {
combineWithIdx: 4,
exactPrefix: "Abc",
sorting: { order: CustomSortOrder.byMetadataFieldAlphabetical, },
sorting: {
order: CustomSortOrder.byMetadataFieldAlphabetical,
byMetadata: "abc-def",
secondarySorting: { order: CustomSortOrder.byMetadataFieldTrueAlphabetical, },
byMetadataFieldSecondary: "ghi-jkl1",
},
secondarySorting: {
order: CustomSortOrder.byMetadataFieldTrueAlphabetical,
byMetadata: "ghi-jkl1"
},
type: CustomSortGroupType.ExactPrefix
}, {
combineWithIdx: 4,
exactSuffix: "Def",
sorting: { order: CustomSortOrder.byMetadataFieldAlphabetical, },
sorting: {
order: CustomSortOrder.byMetadataFieldAlphabetical,
byMetadata: "abc-def",
secondarySorting: { order: CustomSortOrder.byMetadataFieldTrueAlphabetical, },
byMetadataFieldSecondary: "ghi-jkl1",
},
secondarySorting: {
order: CustomSortOrder.byMetadataFieldTrueAlphabetical,
byMetadata: "ghi-jkl1"
},
type: CustomSortGroupType.ExactSuffix
}, {
combineWithIdx: 4,
sorting: { order: CustomSortOrder.byMetadataFieldAlphabetical, },
byMetadata: "abc-def",
secondarySorting: { order: CustomSortOrder.byMetadataFieldTrueAlphabetical, },
byMetadataFieldSecondary: "ghi-jkl1",
sorting: {
order: CustomSortOrder.byMetadataFieldAlphabetical,
byMetadata: "abc-def"
},
secondarySorting: {
order: CustomSortOrder.byMetadataFieldTrueAlphabetical,
byMetadata: "ghi-jkl1"
},
type: CustomSortGroupType.MatchAll
}, {
exactText: "Unreachable line",
@ -1600,7 +1614,7 @@ describe('SortingSpecProcessor', () => {
outsidersGroupIdx: 8,
targetFoldersPaths: ['/']
}
})
} as FolderPathToSortSpecMap)
expect(result?.sortSpecByWildcard).toBeUndefined()
})
})