Skip to content
This repository was archived by the owner on Dec 15, 2022. It is now read-only.

Commit 736761f

Browse files
authored
Merge pull request #30 from dubisdev/fix-today-tasks
fix: not getting some today tasks
2 parents 9ba04a7 + 6e7c8a6 commit 736761f

File tree

4 files changed

+50
-12
lines changed

4 files changed

+50
-12
lines changed

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "todoist-rest-client",
3-
"version": "2.1.0",
3+
"version": "2.1.1",
44
"description": "A simple todoist-rest-api client",
55
"author": "David Jiménez",
66
"license": "MIT",
@@ -19,7 +19,8 @@
1919
},
2020
"types": "dist/index.d.ts",
2121
"dependencies": {
22-
"axios": "^0.24.0"
22+
"axios": "^0.24.0",
23+
"moment": "^2.29.1"
2324
},
2425
"devDependencies": {
2526
"@types/jest": "^27.0.2",

src/__tests__/task.tests.ts

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,27 @@
11
import TDSClient, { Task } from "..";
22
import { APITaskObject, ClientCreatedTask } from "../definitions";
3+
import moment from "moment";
34

45
const myClient = TDSClient(process.env.TODOIST_TOKEN);
56

7+
beforeAll(async () => {
8+
let allTasksJSON = await myClient.task.getAllJSON();
9+
10+
for (let i = 0; i < allTasksJSON.length; ++i) {
11+
await myClient.task.delete(allTasksJSON[i].id);
12+
}
13+
console.log("Init: Deleted all tasks!");
14+
});
15+
16+
afterAll(async () => {
17+
let allTasksJSON = await myClient.task.getAllJSON();
18+
19+
for (let i = 0; i < allTasksJSON.length; ++i) {
20+
await myClient.task.delete(allTasksJSON[i].id);
21+
}
22+
console.log("Finish: Deleted all tasks!");
23+
});
24+
625
const generalExpectedTask = Task({
726
content: "Hello world",
827
});
@@ -113,7 +132,7 @@ describe("API Tasks Functions", () => {
113132
});
114133

115134
// no active tasks now
116-
/* Not working now because of #19
135+
117136
test("Create Two Tasks For Today", async () => {
118137
// create tasks in today inbox
119138
const due_info = {
@@ -132,12 +151,20 @@ describe("API Tasks Functions", () => {
132151
(taskObj) => taskObj.content === "Second task"
133152
);
134153

135-
console.log(allTodayJSON);
136-
137-
expect(allTodayJSON.length).toBe(2);
138-
expect(typeof allTodayJSON[0]).toBe("object");
139-
expect(firstTaskExists).toBe(true);
140-
expect(secondTaskExists).toBe(true);
154+
let normalDate = new Date().toISOString().substring(0, 10);
155+
let momentDate = moment.parseZone(new Date()).format().substring(0, 10);
156+
157+
if (normalDate === momentDate) {
158+
// GMT day = local day
159+
expect(allTodayJSON.length).toBe(2);
160+
expect(typeof allTodayJSON[0]).toBe("object");
161+
expect(firstTaskExists).toBe(true);
162+
expect(secondTaskExists).toBe(true);
163+
} else {
164+
// GMT day != local day (offset influence in day)
165+
expect(allTodayJSON.length).toBe(0);
166+
expect(firstTaskExists).toBe(false);
167+
expect(secondTaskExists).toBe(false);
168+
}
141169
});
142-
*/
143170
});

src/submodules/task.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
TaskModule,
77
UserCreatedTask,
88
} from "../definitions";
9+
import moment from "moment";
910

1011
const taskClientModule = (headers: AuthHeader): TaskModule => {
1112
async function getOneJSON(id: number | string, headers: AuthHeader) {
@@ -75,7 +76,9 @@ const taskClientModule = (headers: AuthHeader): TaskModule => {
7576
let todayTasksJson = json
7677
.filter((task) => task.due !== undefined)
7778
.filter(
78-
(task) => task.due.date === new Date().toISOString().substring(0, 10)
79+
(task) =>
80+
task.due.date ===
81+
moment.parseZone(new Date()).format().substring(0, 10)
7982
);
8083

8184
todayTasksJson.map((task) => {
@@ -91,7 +94,9 @@ const taskClientModule = (headers: AuthHeader): TaskModule => {
9194
let todayTasksJson = json
9295
.filter((task) => task.due !== undefined)
9396
.filter(
94-
(task) => task.due.date === new Date().toISOString().substring(0, 10)
97+
(task) =>
98+
task.due.date ===
99+
moment.parseZone(new Date()).format().substring(0, 10)
95100
);
96101

97102
return todayTasksJson;

yarn.lock

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1971,6 +1971,11 @@ minimist@^1.2.5:
19711971
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
19721972
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
19731973

1974+
moment@^2.29.1:
1975+
version "2.29.1"
1976+
resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
1977+
integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
1978+
19741979
ms@2.1.2:
19751980
version "2.1.2"
19761981
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"

0 commit comments

Comments
 (0)