Skip to content

Commit a0b23d9

Browse files
authored
Merge pull request RealDevSquad#150 from Real-Dev-Squad/develop
Dev to main sync
2 parents cb71ecc + 45f7317 commit a0b23d9

File tree

3 files changed

+41
-39
lines changed

3 files changed

+41
-39
lines changed

src/utils/formatTask.ts

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,28 @@ import { RDS_STATUS_SITE_URL } from "../constants/urls";
33
import { formatStatusToTitleCase } from "./formatStatusToTitleCase";
44

55
export function formatTask(task: TasksResponseType["tasks"][0]) {
6-
return `
7-
**Title:** ${task.title}
8-
**Progress:** ${task.percentCompleted}%
9-
**Ends On:** ${new Date(task.endsOn * 1000).toLocaleDateString("en-GB", {
10-
day: "2-digit",
11-
month: "2-digit",
12-
year: "numeric",
13-
})}
14-
**More details:** [Task Details](${RDS_STATUS_SITE_URL}/tasks/${
15-
task.id
16-
})`;
6+
const taskTitle = `**Title:** ${task.title}`;
7+
const taskProgress = `**Progress:** ${task.percentCompleted}%`;
8+
const taskEndsOn = `**Ends On:** ${new Date(
9+
task.endsOn * 1000
10+
).toLocaleDateString("en-GB", {
11+
day: "2-digit",
12+
month: "2-digit",
13+
year: "numeric",
14+
})}`;
15+
const taskMoreDetails = `**More details:** [Task Details](${RDS_STATUS_SITE_URL}/tasks/${task.id})`;
16+
return `${taskTitle}\n${taskProgress}\n${taskEndsOn}\n${taskMoreDetails}`;
1717
}
1818

1919
export function generateTaskResponseMessage(
2020
nickName: string,
2121
formattedTasks: string[],
2222
status: string
2323
) {
24-
const responseMessage = `
25-
## ${formatStatusToTitleCase(status)} Tasks of ${nickName}
26-
${formattedTasks.join("\n")}
27-
28-
[→ All Tasks](${RDS_STATUS_SITE_URL}/tasks?q=status:all+assignee:${nickName})
24+
const title = `## ${formatStatusToTitleCase(status)} Tasks of ${nickName}`;
25+
const tasks = formattedTasks.join("\n\n");
26+
const allTaskLink = `[→ All Tasks](${RDS_STATUS_SITE_URL}/tasks?q=status:all+assignee:${nickName})
2927
`;
28+
const responseMessage = `${title}\n${tasks}\n${allTaskLink}`;
3029
return responseMessage;
3130
}

tests/fixtures/tasks.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export const tasks = {
3737
},
3838
createdBy: "amitprakash",
3939
assignee: "sunny-s",
40-
title: "/task command to show assignee task details ",
40+
title: "/task command to show assignee task details",
4141
type: "feature",
4242
priority: "TBD",
4343
status: "IN_PROGRESS",

tests/unit/utils/formatTask.test.ts

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ describe("Test formatTask function", () => {
1515
it("Should return a string with task details", () => {
1616
const tasksData: task = tasks.tasks[0];
1717
const formattedTask = formatTask(tasksData);
18-
const expectedTask = `
19-
**Title:** Test Cases for QR scanning feature
20-
**Progress:** 40%
21-
**Ends On:** 09/09/2023
22-
**More details:** [Task Details](https://status.realdevsquad.com/tasks/qaCqdCTjRyX1EPLuv1mJ)`;
18+
const expectedTitle = `**Title:** Test Cases for QR scanning feature`;
19+
const expectedProgress = `**Progress:** 40%`;
20+
const expectedEndsOn = `**Ends On:** 09/09/2023`;
21+
const expectedMoreDetails = `**More details:** [Task Details](https://status.realdevsquad.com/tasks/qaCqdCTjRyX1EPLuv1mJ)`;
22+
const expectedTask = `${expectedTitle}\n${expectedProgress}\n${expectedEndsOn}\n${expectedMoreDetails}`;
2323
expect(formattedTask).toBe(expectedTask);
2424
});
2525
});
@@ -42,23 +42,26 @@ describe("Test generateTaskResponseMessage function", () => {
4242
formattedTasks,
4343
"IN_PROGRESS"
4444
);
45-
const task1 = `
46-
**Title:** Test Cases for QR scanning feature
47-
**Progress:** 40%
48-
**Ends On:** 09/09/2023
49-
**More details:** [Task Details](https://status.realdevsquad.com/tasks/qaCqdCTjRyX1EPLuv1mJ)`;
50-
const task2 = `
51-
**Title:** /task command to show assignee task details
52-
**Progress:** 50%
53-
**Ends On:** 09/09/2023
54-
**More details:** [Task Details](https://status.realdevsquad.com/tasks/xylBsqi7LayeiZVlJfUr)`;
55-
const allTaskURL =
56-
" [→ All Tasks](https://status.realdevsquad.com/tasks?q=status:all+assignee:sunny-s)";
57-
const expectedResponseMessage = `
58-
## In Progress Tasks of sunny-s
59-
${task1}
60-
${task2}\n
61-
${allTaskURL}\n`;
45+
const expectedMessage = `## In Progress Tasks of sunny-s`;
46+
47+
const expectedTitle1 = `**Title:** Test Cases for QR scanning feature`;
48+
const expectedProgress1 = `**Progress:** 40%`;
49+
const expectedEndsOn1 = `**Ends On:** 09/09/2023`;
50+
const expectedMoreDetails1 = `**More details:** [Task Details](https://status.realdevsquad.com/tasks/qaCqdCTjRyX1EPLuv1mJ)`;
51+
52+
const expectedTitle2 =
53+
"**Title:** /task command to show assignee task details";
54+
const expectedProgress2 = `**Progress:** 50%`;
55+
const expectedEndsOn2 = `**Ends On:** 09/09/2023`;
56+
const expectedMoreDetails2 = `**More details:** [Task Details](https://status.realdevsquad.com/tasks/xylBsqi7LayeiZVlJfUr)`;
57+
58+
const task1 = `${expectedTitle1}\n${expectedProgress1}\n${expectedEndsOn1}\n${expectedMoreDetails1}`;
59+
60+
const task2 = `${expectedTitle2}\n${expectedProgress2}\n${expectedEndsOn2}\n${expectedMoreDetails2}`;
61+
62+
const allTaskURL = `[→ All Tasks](https://status.realdevsquad.com/tasks?q=status:all+assignee:sunny-s)`;
63+
64+
const expectedResponseMessage = `${expectedMessage}\n${task1}\n\n${task2}\n${allTaskURL}\n`;
6265
expect(responseMessage).toBe(expectedResponseMessage);
6366
});
6467
});

0 commit comments

Comments
 (0)