From 19e049642b16d3a95bf9b6c60885ff543fc85d47 Mon Sep 17 00:00:00 2001 From: Ronid1 Date: Tue, 5 Mar 2024 11:18:49 -0800 Subject: [PATCH] add unit and integration tests --- cypress/integration/rendering/gantt.spec.js | 27 ++++++++++++++++--- .../src/diagrams/gantt/ganttDb.spec.ts | 15 +++++++++++ 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/cypress/integration/rendering/gantt.spec.js b/cypress/integration/rendering/gantt.spec.js index 756611008..a0c2dbcb9 100644 --- a/cypress/integration/rendering/gantt.spec.js +++ b/cypress/integration/rendering/gantt.spec.js @@ -101,12 +101,12 @@ describe('Gantt diagram', () => { title Adding GANTT diagram to mermaid excludes weekdays 2014-01-10 todayMarker off - + section team's critical event deadline A :milestone, crit, deadlineA, 2024-02-01, 0 deadline B :milestone, crit, deadlineB, 2024-02-15, 0 boss on leave :bossaway, 2024-01-28, 2024-02-11 - + section new intern onboarding :onboarding, 2024-01-02, 1w literature review :litreview, 2024-01-02, 10d @@ -573,7 +573,28 @@ describe('Gantt diagram', () => { ` ); }); - + it('should render a gantt diagram exculding friday and saturday', () => { + imgSnapshotTest( + `gantt + title A Gantt Diagram + dateFormat YYYY-MM-DD + excludes weekends + weekend friday + section Section1 + A task :a1, 2024-02-28, 10d` + ); + }); + it('should render a gantt diagram exculding saturday and sunday', () => { + imgSnapshotTest( + `gantt + title A Gantt Diagram + dateFormat YYYY-MM-DD + excludes weekends + weekend saturday + section Section1 + A task :a1, 2024-02-28, 10d` + ); + }); it('should render when compact is true', () => { imgSnapshotTest( ` diff --git a/packages/mermaid/src/diagrams/gantt/ganttDb.spec.ts b/packages/mermaid/src/diagrams/gantt/ganttDb.spec.ts index 96aae0b89..a59297cdb 100644 --- a/packages/mermaid/src/diagrams/gantt/ganttDb.spec.ts +++ b/packages/mermaid/src/diagrams/gantt/ganttDb.spec.ts @@ -267,6 +267,21 @@ describe('when using the ganttDb', function () { expect(tasks[6].task).toEqual('test7'); }); + it('should ignore weekends starting on friday', function () { + ganttDb.setDateFormat('YYYY-MM-DD'); + ganttDb.setExcludes('weekends'); + ganttDb.setWeekend('friday'); + ganttDb.addSection('friday-saturday weekends skip test'); + ganttDb.addTask('test1', 'id1,2024-02-28, 3d'); + + const tasks = ganttDb.getTasks(); + + expect(tasks[0].startTime).toEqual(dayjs('2024-02-28', 'YYYY-MM-DD').toDate()); + expect(tasks[0].endTime).toEqual(dayjs('2024-03-04', 'YYYY-MM-DD').toDate()); + expect(tasks[0].id).toEqual('id1'); + expect(tasks[0].task).toEqual('test1'); + }); + it('should maintain the order in which tasks are created', function () { ganttDb.setAccTitle('Project Execution'); ganttDb.setDateFormat('YYYY-MM-DD');