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: [{ groups: [{
type: CustomSortGroupType.ExactPrefix, type: CustomSortGroupType.ExactPrefix,
exactPrefix: 'Ref', exactPrefix: 'Ref',
sorting: { order: CustomSortOrder.standardObsidian, sorting: { order: CustomSortOrder.standardObsidian },
secondarySorting: { order: CustomSortOrder.byMetadataFieldAlphabeticalReverse,
byMetadata: 'metadata-field-for-sorting' byMetadata: 'metadata-field-for-sorting'
}, },
secondarySorting: { order: CustomSortOrder.byMetadataFieldAlphabeticalReverse },
}] }]
} }
const ctx: Partial<ProcessingContext> = { const ctx: Partial<ProcessingContext> = {

View File

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