diff --git a/test/calendar.test.js b/test/calendar.test.js index ce4b017..a1039da 100644 --- a/test/calendar.test.js +++ b/test/calendar.test.js @@ -17,12 +17,6 @@ const app = await import('../src/server'); describe('Calendar Merging API', () => { beforeAll(async () => { - - // Clean up the merged calendars directory before tests - fs.rmdirSync(CALENDARS_DIR, { recursive: true }); - if (fs.existsSync(CALENDARS_DIR)) { - fs.rmdirSync(CALENDARS_DIR, { recursive: true }); - } // Start the server server = app.default.listen(0); }); @@ -125,37 +119,37 @@ describe('Calendar Merging API', () => { expect(actualOutput).toBe(expectedOutput); }); - // test('Merge date-based calendar', async () => { - // const response = await request(server) - // .post('/merge') - // .send({ - // linkGroupName: 'Date Based Calendar', - // calendars: [ - // { - // url: getTestCalendarFilename('holiday_calendar_2023.ics'), - // prefix: 'holiday_calendar_2023', - // override: false, - // }, - // { - // url: getTestCalendarFilename('US_Holidays.ics'), - // prefix: 'US_holidays', - // override: false, - // }, - // ], - // }); - // expect(response.status).toBe(200); - // expect(response.body.url).toMatch(new RegExp(`calendar/Date_Based_Calendar`)); + test('Merge date-based calendar', async () => { + const response = await request(server) + .post('/merge') + .send({ + linkGroupName: 'Date Based Calendar', + calendars: [ + { + url: getTestCalendarFilename('holiday_calendar_2023.ics'), + prefix: 'holiday_calendar_2023', + override: false, + }, + { + url: getTestCalendarFilename('US_Holidays.ics'), + prefix: 'US_holidays', + override: false, + }, + ], + }); + expect(response.status).toBe(200); + expect(response.body.url).toMatch(new RegExp(`calendar/Date_Based_Calendar`)); - // // Check if the file was created in the test directory - // const filePath = path.join(CALENDARS_DIR, 'Date_Based_Calendar.ics'); - // console.log('Checking if file exists at:', filePath); - // expect(fs.existsSync(filePath)).toBe(true); + // Check if the file was created in the test directory + const filePath = path.join(CALENDARS_DIR, 'Date_Based_Calendar.ics'); + console.log('Checking if file exists at:', filePath); + expect(fs.existsSync(filePath)).toBe(true); - // // Load expected output and compare - // const expectedOutput = loadExpectedOutput('Date_Based_Calendar.ics'); - // const actualOutput = fs.readFileSync(filePath, 'utf8'); - // expect(actualOutput).toBe(expectedOutput); - // }); + // Load expected output and compare + const expectedOutput = loadExpectedOutput('Date_Based_Calendar.ics'); + const actualOutput = fs.readFileSync(filePath, 'utf8'); + expect(actualOutput).toBe(expectedOutput); + }); // test('Merge time-based calendar', async () => { // const input = getTestCalendarFilename('work_task_calendar.ics'); diff --git a/test/expected_outputs/Date_Based_Calendar.ics b/test/expected_outputs/Date_Based_Calendar.ics index d54023b..d1fc44b 100644 --- a/test/expected_outputs/Date_Based_Calendar.ics +++ b/test/expected_outputs/Date_Based_Calendar.ics @@ -1,16 +1,21 @@ BEGIN:VCALENDAR -VERSION:2.0 NAME:Date Based Calendar +PRODID:-//CalMerge//Calendar Merger 1.0//EN +VERSION:2.0 +CALSCALE:GREGORIAN BEGIN:VEVENT UID:20231225T000000-001@example.com +DTSTART;VALUE=DATE:20231225 +DTEND;VALUE=DATE:20231226 +DTSTAMP:20231225T000000Z SUMMARY:holiday_calendar_2023 Christmas Day -DTSTART:20231225T000000 -DTEND:20231226T000000 +LOCATION:Germany END:VEVENT BEGIN:VEVENT UID:20231225T000000-001@example.com +DTSTART;VALUE=DATE:20231225 +DTEND;VALUE=DATE:20231226 +DTSTAMP:20231225T000000Z SUMMARY:US_holidays Christmas Day -DTSTART:20231225T000000 -DTEND:20231226T000000 END:VEVENT -END:VCALENDAR +END:VCALENDAR \ No newline at end of file