Files
Accordion/tests/AccordionCategoryValues.test.ts
T

30 lines
1.6 KiB
TypeScript

import { getAccordionCategoryValues } from '../src/webparts/accordion/AccordionCategoryValues';
let passed: number = 0;
function assertValues(actual: string[], expected: string[], message: string): void {
if (actual.join('|') !== expected.join('|')) {
throw new Error(message + ': ' + actual.join('|'));
}
passed++;
}
const firstGuid: string = '11111111-1111-1111-1111-111111111111';
const secondGuid: string = '22222222-2222-2222-2222-222222222222';
assertValues(getAccordionCategoryValues({ Label: 'Human Resources', TermGuid: firstGuid }),
['Human Resources'], 'Single taxonomy value was not parsed.');
assertValues(getAccordionCategoryValues({ results: [
{ Label: 'Policies', TermGuid: firstGuid },
{ Label: 'Benefits', TermGuid: secondGuid }
] }), ['Policies', 'Benefits'], 'Multi-value taxonomy collection was not parsed.');
assertValues(getAccordionCategoryValues('-1;#Policies|' + firstGuid + ';#-1;#Benefits|' + secondGuid),
['Policies', 'Benefits'], 'Serialized SharePoint taxonomy value was not parsed.');
assertValues(getAccordionCategoryValues('Policies|' + firstGuid + ';Benefits|' + secondGuid),
['Policies', 'Benefits'], 'Compact serialized taxonomy value was not parsed.');
assertValues(getAccordionCategoryValues({ results: ['General', 'General', 'News'] }),
['General', 'News'], 'Choice values were not retained and de-duplicated.');
assertValues(getAccordionCategoryValues('Policies; Benefits', true),
['Policies', 'Benefits'], 'FieldValuesAsText taxonomy labels were not split.');
console.log('Accordion category value tests passed:', passed);