From 8d6f887e8e79614e1a26659d81245cb5ca5bc931 Mon Sep 17 00:00:00 2001 From: Anders Rognstad <79838644+andersrognstad@users.noreply.github.com> Date: Fri, 1 Dec 2023 12:41:22 +0100 Subject: [PATCH] IS-1710: Invert sorting (#381) --- src/utils/hendelseFilteringUtils.tsx | 8 ++-- test/utils/hendelseFilteringUtilsTest.ts | 50 ++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 4 deletions(-) diff --git a/src/utils/hendelseFilteringUtils.tsx b/src/utils/hendelseFilteringUtils.tsx index 4a658fcf..0c24c3e4 100644 --- a/src/utils/hendelseFilteringUtils.tsx +++ b/src/utils/hendelseFilteringUtils.tsx @@ -314,10 +314,10 @@ const sortEventsOnFrist = ( ([, persondataA], [, persondataB]) => { const fristDateA = persondataA.aktivitetskravVurderingFrist; const fristDateB = persondataB.aktivitetskravVurderingFrist; - if (!fristDateA) return order === 'DATO_ASC' ? -1 : 1; - if (!fristDateB) return order === 'DATO_ASC' ? 1 : -1; - if (fristDateA > fristDateB) return order === 'DATO_ASC' ? -1 : 1; - if (fristDateA < fristDateB) return order === 'DATO_ASC' ? 1 : -1; + if (!fristDateA) return order === 'DATO_ASC' ? 1 : -1; + if (!fristDateB) return order === 'DATO_ASC' ? -1 : 1; + if (fristDateA > fristDateB) return order === 'DATO_ASC' ? 1 : -1; + if (fristDateA < fristDateB) return order === 'DATO_ASC' ? -1 : 1; return 0; } ); diff --git a/test/utils/hendelseFilteringUtilsTest.ts b/test/utils/hendelseFilteringUtilsTest.ts index 0e03a73a..40cc8d3e 100644 --- a/test/utils/hendelseFilteringUtilsTest.ts +++ b/test/utils/hendelseFilteringUtilsTest.ts @@ -82,6 +82,56 @@ describe('hendelseFilteringUtils', () => { expect(Object.values(result)[1]?.navn).to.deep.equal('Bjarne Bjarne'); expect(Object.values(result)[2]?.navn).to.deep.equal('Agnes Agnes'); }); + describe('sort by frist', () => { + it('Sorts by aktivitetskrav avventer-frist ascending', () => { + const personWithFirstAvventerFrist: PersonData = { + ...createPersonDataWithName('Agnes Agnes'), + aktivitetskravVurderingFrist: new Date('2023-12-05'), + }; + const personWithAvventerFrist: PersonData = { + ...createPersonDataWithName('Bjarne Bjarne'), + aktivitetskravVurderingFrist: new Date('2023-12-10'), + }; + const personWithNoFrist = createPersonDataWithName('Navn Navnesen'); + const personregisterState: PersonregisterState = { + '09128034883': personWithFirstAvventerFrist, + '16624407794': personWithNoFrist, + '16614407794': personWithAvventerFrist, + }; + const result = getSortedEventsFromSortingType( + personregisterState, + [], + 'DATO_ASC' + ); + expect(Object.keys(result)[0]).to.deep.equal('09128034883'); + expect(Object.keys(result)[1]).to.deep.equal('16614407794'); + expect(Object.keys(result)[2]).to.deep.equal('16624407794'); + }); + it('Sorts by aktivitetskrav avventer-frist descending', () => { + const personWithFirstAvventerFrist: PersonData = { + ...createPersonDataWithName('Agnes Agnes'), + aktivitetskravVurderingFrist: new Date('2023-12-05'), + }; + const personWithAvventerFrist: PersonData = { + ...createPersonDataWithName('Bjarne Bjarne'), + aktivitetskravVurderingFrist: new Date('2023-12-10'), + }; + const personWithNoFrist = createPersonDataWithName('Navn Navnesen'); + const personregisterState: PersonregisterState = { + '09128034883': personWithFirstAvventerFrist, + '16624407794': personWithNoFrist, + '16614407794': personWithAvventerFrist, + }; + const result = getSortedEventsFromSortingType( + personregisterState, + [], + 'DATO_DESC' + ); + expect(Object.keys(result)[0]).to.deep.equal('16624407794'); + expect(Object.keys(result)[1]).to.deep.equal('16614407794'); + expect(Object.keys(result)[2]).to.deep.equal('09128034883'); + }); + }); describe('filterOnPersonregister', () => { it('Return all elements in personregister if no filter is selected', () => {