Testy datumových funkcí
This commit is contained in:
parent
ca9a7c5c23
commit
74c8ab9e39
6
server/babel.config.js
Normal file
6
server/babel.config.js
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
module.exports = {
|
||||||
|
presets: [
|
||||||
|
['@babel/preset-env', { targets: { node: 'current' } }],
|
||||||
|
'@babel/preset-typescript',
|
||||||
|
],
|
||||||
|
};
|
@ -7,13 +7,19 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "ts-node src/index.ts",
|
"start": "ts-node src/index.ts",
|
||||||
"startReload": "nodemon src/index.ts",
|
"startReload": "nodemon src/index.ts",
|
||||||
"build": "tsc -p ."
|
"build": "tsc -p .",
|
||||||
|
"test": "jest"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@babel/core": "^7.23.0",
|
||||||
|
"@babel/preset-env": "^7.22.20",
|
||||||
|
"@babel/preset-typescript": "^7.23.0",
|
||||||
"@types/express": "^4.17.17",
|
"@types/express": "^4.17.17",
|
||||||
"@types/jsonwebtoken": "^9.0.2",
|
"@types/jsonwebtoken": "^9.0.2",
|
||||||
"@types/node": "^20.2.5",
|
"@types/node": "^20.2.5",
|
||||||
"@types/request-promise": "^4.1.48",
|
"@types/request-promise": "^4.1.48",
|
||||||
|
"babel-jest": "^29.7.0",
|
||||||
|
"jest": "^29.7.0",
|
||||||
"nodemon": "^2.0.22",
|
"nodemon": "^2.0.22",
|
||||||
"ts-node": "^10.9.1",
|
"ts-node": "^10.9.1",
|
||||||
"typescript": "^5.0.2"
|
"typescript": "^5.0.2"
|
||||||
@ -29,4 +35,4 @@
|
|||||||
"simple-json-db": "^2.0.0",
|
"simple-json-db": "^2.0.0",
|
||||||
"socket.io": "^4.6.1"
|
"socket.io": "^4.6.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
159
server/src/tests/dates.test.ts
Normal file
159
server/src/tests/dates.test.ts
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
import { formatDate, getDayOfWeekIndex, getFirstWorkDayOfWeek, getLastWorkDayOfWeek, getWeekNumber } from "../utils";
|
||||||
|
|
||||||
|
test('získání indexu dne v týdnu', () => {
|
||||||
|
let date = new Date("2023-10-01");
|
||||||
|
expect(getDayOfWeekIndex(date)).toBe(6);
|
||||||
|
date = new Date("2023-10-02");
|
||||||
|
expect(getDayOfWeekIndex(date)).toBe(0);
|
||||||
|
date = new Date("2023-10-03");
|
||||||
|
expect(getDayOfWeekIndex(date)).toBe(1);
|
||||||
|
date = new Date("2023-10-04");
|
||||||
|
expect(getDayOfWeekIndex(date)).toBe(2);
|
||||||
|
date = new Date("2023-10-05");
|
||||||
|
expect(getDayOfWeekIndex(date)).toBe(3);
|
||||||
|
date = new Date("2023-10-06");
|
||||||
|
expect(getDayOfWeekIndex(date)).toBe(4);
|
||||||
|
date = new Date("2023-10-07");
|
||||||
|
expect(getDayOfWeekIndex(date)).toBe(5);
|
||||||
|
date = new Date("2023-10-08");
|
||||||
|
expect(getDayOfWeekIndex(date)).toBe(6);
|
||||||
|
date = new Date("2023-10-09");
|
||||||
|
expect(getDayOfWeekIndex(date)).toBe(0);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('získání data prvního/posledního dne v týdnu', () => {
|
||||||
|
let date = new Date("2023-10-02");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-10-02");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-10-06");
|
||||||
|
date = new Date("2023-10-03");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-10-02");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-10-06");
|
||||||
|
date = new Date("2023-10-04");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-10-02");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-10-06");
|
||||||
|
date = new Date("2023-10-05");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-10-02");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-10-06");
|
||||||
|
date = new Date("2023-10-06");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-10-02");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-10-06");
|
||||||
|
date = new Date("2023-10-07");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-10-02");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-10-06");
|
||||||
|
date = new Date("2023-10-08");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-10-02");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-10-06");
|
||||||
|
|
||||||
|
date = new Date("2023-01-01");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2022-12-26");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2022-12-30");
|
||||||
|
date = new Date("2023-01-02");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-01-02");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-01-06");
|
||||||
|
date = new Date("2023-01-03");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-01-02");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-01-06");
|
||||||
|
date = new Date("2023-01-04");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-01-02");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-01-06");
|
||||||
|
date = new Date("2023-01-05");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-01-02");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-01-06");
|
||||||
|
date = new Date("2023-01-06");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-01-02");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-01-06");
|
||||||
|
date = new Date("2023-01-07");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-01-02");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-01-06");
|
||||||
|
date = new Date("2023-01-08");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-01-02");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-01-06");
|
||||||
|
|
||||||
|
date = new Date("2023-12-25");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-12-25");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-12-29");
|
||||||
|
date = new Date("2023-12-26");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-12-25");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-12-29");
|
||||||
|
date = new Date("2023-12-27");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-12-25");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-12-29");
|
||||||
|
date = new Date("2023-12-28");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-12-25");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-12-29");
|
||||||
|
date = new Date("2023-12-29");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-12-25");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-12-29");
|
||||||
|
date = new Date("2023-12-30");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-12-25");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-12-29");
|
||||||
|
date = new Date("2023-12-31");
|
||||||
|
expect(formatDate(getFirstWorkDayOfWeek(date))).toBe("2023-12-25");
|
||||||
|
expect(formatDate(getLastWorkDayOfWeek(date))).toBe("2023-12-29");
|
||||||
|
});
|
||||||
|
|
||||||
|
test('získání čísla týdne v roce', () => {
|
||||||
|
let date = new Date("2023-10-01");
|
||||||
|
expect(getWeekNumber(date)).toBe(39);
|
||||||
|
date = new Date("2023-10-02");
|
||||||
|
expect(getWeekNumber(date)).toBe(40);
|
||||||
|
date = new Date("2023-10-03");
|
||||||
|
expect(getWeekNumber(date)).toBe(40);
|
||||||
|
date = new Date("2023-10-04");
|
||||||
|
expect(getWeekNumber(date)).toBe(40);
|
||||||
|
date = new Date("2023-10-05");
|
||||||
|
expect(getWeekNumber(date)).toBe(40);
|
||||||
|
date = new Date("2023-10-06");
|
||||||
|
expect(getWeekNumber(date)).toBe(40);
|
||||||
|
date = new Date("2023-10-07");
|
||||||
|
expect(getWeekNumber(date)).toBe(40);
|
||||||
|
date = new Date("2023-10-08");
|
||||||
|
expect(getWeekNumber(date)).toBe(40);
|
||||||
|
date = new Date("2023-10-09");
|
||||||
|
expect(getWeekNumber(date)).toBe(41);
|
||||||
|
|
||||||
|
date = new Date("2022-01-01");
|
||||||
|
expect(getWeekNumber(date)).toBe(52);
|
||||||
|
|
||||||
|
date = new Date("2022-12-30");
|
||||||
|
expect(getWeekNumber(date)).toBe(52);
|
||||||
|
date = new Date("2022-12-31");
|
||||||
|
expect(getWeekNumber(date)).toBe(52);
|
||||||
|
date = new Date("2023-01-01");
|
||||||
|
expect(getWeekNumber(date)).toBe(52);
|
||||||
|
date = new Date("2023-01-02");
|
||||||
|
expect(getWeekNumber(date)).toBe(1);
|
||||||
|
date = new Date("2023-01-03");
|
||||||
|
expect(getWeekNumber(date)).toBe(1);
|
||||||
|
date = new Date("2023-01-04");
|
||||||
|
expect(getWeekNumber(date)).toBe(1);
|
||||||
|
date = new Date("2023-01-05");
|
||||||
|
expect(getWeekNumber(date)).toBe(1);
|
||||||
|
date = new Date("2023-01-06");
|
||||||
|
expect(getWeekNumber(date)).toBe(1);
|
||||||
|
date = new Date("2023-01-07");
|
||||||
|
expect(getWeekNumber(date)).toBe(1);
|
||||||
|
date = new Date("2023-01-08");
|
||||||
|
expect(getWeekNumber(date)).toBe(1);
|
||||||
|
date = new Date("2023-01-09");
|
||||||
|
expect(getWeekNumber(date)).toBe(2);
|
||||||
|
|
||||||
|
date = new Date("2023-12-24");
|
||||||
|
expect(getWeekNumber(date)).toBe(51);
|
||||||
|
date = new Date("2023-12-25");
|
||||||
|
expect(getWeekNumber(date)).toBe(52);
|
||||||
|
date = new Date("2023-12-26");
|
||||||
|
expect(getWeekNumber(date)).toBe(52);
|
||||||
|
date = new Date("2023-12-27");
|
||||||
|
expect(getWeekNumber(date)).toBe(52);
|
||||||
|
date = new Date("2023-12-28");
|
||||||
|
expect(getWeekNumber(date)).toBe(52);
|
||||||
|
date = new Date("2023-12-29");
|
||||||
|
expect(getWeekNumber(date)).toBe(52);
|
||||||
|
date = new Date("2023-12-30");
|
||||||
|
expect(getWeekNumber(date)).toBe(52);
|
||||||
|
date = new Date("2023-12-31");
|
||||||
|
expect(getWeekNumber(date)).toBe(52);
|
||||||
|
date = new Date("2024-01-01");
|
||||||
|
expect(getWeekNumber(date)).toBe(1);
|
||||||
|
});
|
Loading…
x
Reference in New Issue
Block a user