Skip to content

Commit 1f545e6

Browse files
committed
fix: test cases
2 parents 40ab7dc + b3b4c17 commit 1f545e6

File tree

5 files changed

+88
-86
lines changed

5 files changed

+88
-86
lines changed

models/discordactions.js

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1019,7 +1019,7 @@ const getMissedProgressUpdatesUsers = async (options = {}) => {
10191019
usersMap.set(taskAssignee, {
10201020
tasksCount: 1,
10211021
latestProgressCount: dateGap + 1,
1022-
isActive: false,
1022+
isOOO: false,
10231023
});
10241024
}
10251025
const updateTasksIdMap = async () => {
@@ -1038,10 +1038,7 @@ const getMissedProgressUpdatesUsers = async (options = {}) => {
10381038
const userIdChunks = chunks(Array.from(usersMap.keys()), FIRESTORE_IN_CLAUSE_SIZE);
10391039
const userStatusSnapshotPromise = userIdChunks.map(
10401040
async (userIdList) =>
1041-
await userStatusModel
1042-
.where("currentStatus.state", "==", userState.ACTIVE)
1043-
.where("userId", "in", userIdList)
1044-
.get()
1041+
await userStatusModel.where("currentStatus.state", "==", userState.OOO).where("userId", "in", userIdList).get()
10451042
);
10461043
const userDetailsPromise = userIdChunks.map(
10471044
async (userIdList) =>
@@ -1055,7 +1052,7 @@ const getMissedProgressUpdatesUsers = async (options = {}) => {
10551052

10561053
userStatusChunks.forEach((userStatusList) =>
10571054
userStatusList.forEach((doc) => {
1058-
usersMap.get(doc.data().userId).isActive = true;
1055+
usersMap.get(doc.data().userId).isOOO = true;
10591056
})
10601057
);
10611058

@@ -1097,7 +1094,7 @@ const getMissedProgressUpdatesUsers = async (options = {}) => {
10971094
const isDiscordMember = !!discordUserData;
10981095
const shouldAddRole =
10991096
userData.latestProgressCount === 0 &&
1100-
userData.isActive &&
1097+
!userData.isOOO &&
11011098
isDiscordMember &&
11021099
discordUserData.isDeveloper &&
11031100
!discordUserData.isMaven &&

test/integration/requests.test.ts

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -324,36 +324,34 @@ describe("/requests OOO", function () {
324324
});
325325

326326
describe.skip("PATCH /requests/:id", function () {
327-
let pendingOooRequestId1: string;
328-
let oooRequestData3: any;
329-
let invalidRequestId: string;
330-
let approvedOooRequestId: string;
331-
let rejectedOooRequestId: string;
327+
let testOooRequest;
328+
let onboardingRequest;
329+
let approvedOooRequest;
330+
let rejectedOooRequest;
332331

333332
beforeEach(async function () {
334-
oooRequestData3 = { ...createOooRequests3, userId: testUserId };
335333

336-
const { id: pendingOooId1 }: any = await createRequest(oooRequestData3);
337-
pendingOooRequestId1 = pendingOooId1;
334+
oooRequestData = { ...createOooRequests3, userId: testUserId };
335+
testOooRequest = await createRequest(oooRequestData);
338336

339-
const { id: pendingOooId2 }: any = await createRequest(oooRequestData3);
337+
onboardingRequest = await createRequest({
338+
type: REQUEST_TYPE.ONBOARDING,
339+
numberOfDays: 5,
340+
reason: "This is the reason",
341+
userId: testUserId,
342+
});
340343

341-
const { id: pendingOooId3 }: any = await createRequest(oooRequestData3);
344+
const pendingOooRequest1 = await createRequest(oooRequestData);
345+
approvedOooRequest = await updateRequest(pendingOooRequest1.id, { status: REQUEST_STATE.APPROVED }, testSuperUserId, REQUEST_TYPE.OOO);
342346

343-
const { id: invalidId }: any = await createRequest({...oooRequestData3, type: "XYZ"});
344-
invalidRequestId = invalidId;
345-
346-
const { id: approvedOooId }: any = await updateRequest(pendingOooId2, { status: REQUEST_STATE.APPROVED }, testSuperUserId, REQUEST_TYPE.OOO);
347-
approvedOooRequestId = approvedOooId;
348-
349-
const { id: rejectedOooId }: any = await updateRequest(pendingOooId3, { status: REQUEST_STATE.REJECTED }, testSuperUserId, REQUEST_TYPE.OOO);
350-
rejectedOooRequestId = rejectedOooId;
347+
const pendingOooRequest2 = await createRequest(oooRequestData);
348+
rejectedOooRequest = await updateRequest(pendingOooRequest2.id, { status: REQUEST_STATE.REJECTED }, testSuperUserId, REQUEST_TYPE.OOO);
351349
});
352350

353351
it("should return 401 if user is not logged in", function (done) {
354352
chai
355353
.request(app)
356-
.patch(`/requests/${pendingOooRequestId1}?dev=true`)
354+
.patch(`/requests/${testOooRequest.id}?dev=true`)
357355
.send(acknowledgeOooRequest)
358356
.end(function (err, res) {
359357
expect(res).to.have.status(401);
@@ -366,7 +364,7 @@ describe("/requests OOO", function () {
366364
it("should return 501 and 'Feature not implemented' message when dev is false", function (done) {
367365
chai
368366
.request(app)
369-
.patch(`/requests/${pendingOooRequestId1}?dev=false`)
367+
.patch(`/requests/${testOooRequest.id}?dev=false`)
370368
.set("cookie", `${cookieName}=${superUserToken}`)
371369
.send(acknowledgeOooRequest)
372370
.end(function (err, res) {
@@ -398,7 +396,7 @@ describe("/requests OOO", function () {
398396
it("should return 403 if user does not have super user permission", function (done) {
399397
chai
400398
.request(app)
401-
.patch(`/requests/${pendingOooRequestId1}?dev=true`)
399+
.patch(`/requests/${testOooRequest.id}?dev=true`)
402400
.set("cookie", `${cookieName}=${authToken}`)
403401
.send(acknowledgeOooRequest)
404402
.end(function (err, res) {
@@ -414,7 +412,7 @@ describe("/requests OOO", function () {
414412
it("should return 409 if OOO request is already approved", function (done) {
415413
chai
416414
.request(app)
417-
.patch(`/requests/${approvedOooRequestId}?dev=true`)
415+
.patch(`/requests/${approvedOooRequest.id}?dev=true`)
418416
.set("cookie", `${cookieName}=${superUserToken}`)
419417
.send(acknowledgeOooRequest)
420418
.end(function (err, res) {
@@ -430,7 +428,7 @@ describe("/requests OOO", function () {
430428
it("should return 409 if OOO request is already rejected", function (done) {
431429
chai
432430
.request(app)
433-
.patch(`/requests/${rejectedOooRequestId}?dev=true`)
431+
.patch(`/requests/${rejectedOooRequest.id}?dev=true`)
434432
.set("cookie", `${cookieName}=${superUserToken}`)
435433
.send(acknowledgeOooRequest)
436434
.end(function (err, res) {
@@ -443,10 +441,10 @@ describe("/requests OOO", function () {
443441
});
444442
});
445443

446-
it("should return 400 if request type is not OOO", function (done) {
444+
it("should return 400 when the request type for the given ID is not 'OOO'", function (done) {
447445
chai
448446
.request(app)
449-
.patch(`/requests/${invalidRequestId}?dev=true`)
447+
.patch(`/requests/${onboardingRequest.id}?dev=true`)
450448
.set("cookie", `${cookieName}=${superUserToken}`)
451449
.send(acknowledgeOooRequest)
452450
.end(function (err, res) {
@@ -462,7 +460,7 @@ describe("/requests OOO", function () {
462460
it("should approve OOO request when dev is true", function (done) {
463461
chai
464462
.request(app)
465-
.patch(`/requests/${pendingOooRequestId1}?dev=true`)
463+
.patch(`/requests/${testOooRequest.id}?dev=true`)
466464
.set("cookie", `${cookieName}=${superUserToken}`)
467465
.send(acknowledgeOooRequest)
468466
.end(function (err, res) {
@@ -478,7 +476,7 @@ describe("/requests OOO", function () {
478476
it("should reject OOO request when dev is true", function (done) {
479477
chai
480478
.request(app)
481-
.patch(`/requests/${pendingOooRequestId1}?dev=true`)
479+
.patch(`/requests/${testOooRequest.id}?dev=true`)
482480
.set("cookie", `${cookieName}=${superUserToken}`)
483481
.send({...acknowledgeOooRequest, status: REQUEST_STATE.REJECTED})
484482
.end(function (err, res) {
@@ -495,7 +493,7 @@ describe("/requests OOO", function () {
495493
sinon.stub(logUtils, "addLog").throws("Error");
496494
chai
497495
.request(app)
498-
.patch(`/requests/${pendingOooRequestId1}?dev=true`)
496+
.patch(`/requests/${testOooRequest.id}?dev=true`)
499497
.set("cookie", `${cookieName}=${superUserToken}`)
500498
.send(acknowledgeOooRequest)
501499
.end(function (err, res) {

test/integration/tasks.test.js

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1813,39 +1813,45 @@ describe("Tasks", function () {
18131813
});
18141814

18151815
describe("GET /tasks/users", function () {
1816-
let activeUserWithProgressUpdates;
1816+
let activeUserWithMissedProgressUpdates;
18171817
let idleUser;
18181818
let userNotInDiscord;
18191819
let jwtToken;
18201820
let getDiscordMembersStub;
1821+
let oooUserWithMissedUpdates;
1822+
let activeUserWithProgressUpdates;
18211823

18221824
beforeEach(async function () {
18231825
await cleanDb();
18241826
idleUser = { ...userData[9], discordId: getDiscordMembers[0].user.id };
1825-
activeUserWithProgressUpdates = { ...userData[10], discordId: getDiscordMembers[1].user.id };
1826-
const activeUserWithNoUpdates = { ...userData[0], discordId: getDiscordMembers[2].user.id };
1827+
activeUserWithMissedProgressUpdates = { ...userData[10], discordId: getDiscordMembers[1].user.id };
1828+
activeUserWithProgressUpdates = { ...userData[0], discordId: getDiscordMembers[2].user.id };
18271829
userNotInDiscord = { ...userData[4], discordId: "Not in discord" };
1830+
oooUserWithMissedUpdates = { ...userData[1], discordId: getDiscordMembers[3].user.id };
1831+
18281832
const {
18291833
idleStatus: idleUserStatus,
18301834
activeStatus: activeUserStatus,
18311835
userStatusDataForOooState: oooUserStatus,
18321836
} = userStatusData;
18331837
const userIdList = await Promise.all([
1834-
await addUser(idleUser), // idle user with no task progress updates
1835-
await addUser(activeUserWithProgressUpdates), // active user with task progress updates
1836-
await addUser(activeUserWithNoUpdates), // active user with no task progress updates
1837-
await addUser(userNotInDiscord), // OOO user with
1838+
await addUser(idleUser),
1839+
await addUser(activeUserWithMissedProgressUpdates),
1840+
await addUser(activeUserWithProgressUpdates),
1841+
await addUser(userNotInDiscord),
1842+
await addUser(oooUserWithMissedUpdates),
18381843
]);
18391844
await Promise.all([
18401845
await userStatusModel.updateUserStatus(userIdList[0], idleUserStatus),
18411846
await userStatusModel.updateUserStatus(userIdList[1], activeUserStatus),
18421847
await userStatusModel.updateUserStatus(userIdList[2], activeUserStatus),
18431848
await userStatusModel.updateUserStatus(userIdList[3], oooUserStatus),
1849+
await userStatusModel.updateUserStatus(userIdList[4], oooUserStatus),
18441850
]);
18451851

18461852
const tasksPromise = [];
18471853

1848-
for (let index = 0; index < 4; index++) {
1854+
for (let index = 0; index < 5; index++) {
18491855
const task = tasksData[index];
18501856
const validTask = {
18511857
...task,
@@ -1889,14 +1895,15 @@ describe("Tasks", function () {
18891895
.get("/tasks/users/discord")
18901896
.query({ q: `status:${tasksUsersStatus.MISSED_UPDATES}` })
18911897
.set("Authorization", `Bearer ${jwtToken}`);
1892-
expect(response.body).to.be.deep.equal({
1893-
message: "Discord details of users with status missed updates fetched successfully",
1894-
data: {
1895-
usersToAddRole: [activeUserWithProgressUpdates.discordId],
1896-
tasks: 4,
1897-
missedUpdatesTasks: 3,
1898-
},
1899-
});
1898+
1899+
expect(response.body.message).to.equal(
1900+
"Discord details of users with status missed updates fetched successfully"
1901+
);
1902+
expect(response.body.data.tasks).to.equal(5);
1903+
expect(response.body.data.missedUpdatesTasks).to.equal(4);
1904+
expect(response.body.data.usersToAddRole.includes(activeUserWithMissedProgressUpdates.discordId)).to.equal(true);
1905+
expect(response.body.data.usersToAddRole.includes(idleUser.discordId)).to.equal(true);
1906+
expect(response.body.data.usersToAddRole.includes(oooUserWithMissedUpdates.discordId)).to.equal(false);
19001907
expect(response.status).to.be.equal(200);
19011908
});
19021909

@@ -1905,15 +1912,15 @@ describe("Tasks", function () {
19051912
.request(app)
19061913
.get("/tasks/users/discord")
19071914
.query({
1908-
size: 5,
1915+
size: 6,
19091916
q: `status:${tasksUsersStatus.MISSED_UPDATES} -weekday:sun -weekday:mon -weekday:tue -weekday:wed -weekday:thu -weekday:fri -date:231423432 -days-count:4`,
19101917
})
19111918
.set("Authorization", `Bearer ${jwtToken}`);
19121919
expect(response.body).to.be.deep.equal({
19131920
message: "Discord details of users with status missed updates fetched successfully",
19141921
data: {
19151922
usersToAddRole: [],
1916-
tasks: 4,
1923+
tasks: 5,
19171924
missedUpdatesTasks: 0,
19181925
},
19191926
});

test/unit/models/discordactions.test.js

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -685,26 +685,27 @@ describe("discordactions", function () {
685685
});
686686

687687
describe("getMissedProgressUpdatesUsers", function () {
688-
let activeUserWithProgressUpdates;
688+
let activeUserWithMissedProgressUpdates;
689689
let idleUser;
690690
let userNotInDiscord;
691691
let activeUserId;
692+
let activeUserWithProgressUpdates;
692693

693694
beforeEach(async function () {
694695
idleUser = { ...userData[9], discordId: getDiscordMembers[0].user.id };
695-
activeUserWithProgressUpdates = { ...userData[10], discordId: getDiscordMembers[1].user.id };
696-
const activeUserWithNoUpdates = { ...userData[0], discordId: getDiscordMembers[2].user.id };
696+
activeUserWithMissedProgressUpdates = { ...userData[10], discordId: getDiscordMembers[1].user.id };
697+
activeUserWithProgressUpdates = { ...userData[0], discordId: getDiscordMembers[2].user.id };
697698
userNotInDiscord = { ...userData[4], discordId: "Not in discord" };
698699
const {
699700
idleStatus: idleUserStatus,
700701
activeStatus: activeUserStatus,
701702
userStatusDataForOooState: oooUserStatus,
702703
} = userStatusData;
703704
const userIdList = await Promise.all([
704-
await addUser(idleUser), // idle user with no task progress updates
705-
await addUser(activeUserWithProgressUpdates), // active user with task progress updates
706-
await addUser(activeUserWithNoUpdates), // active user with no task progress updates
707-
await addUser(userNotInDiscord), // OOO user with no task progress updates
705+
await addUser(idleUser),
706+
await addUser(activeUserWithMissedProgressUpdates),
707+
await addUser(activeUserWithProgressUpdates),
708+
await addUser(userNotInDiscord),
708709
]);
709710
activeUserId = userIdList[2];
710711
await Promise.all([
@@ -751,17 +752,17 @@ describe("discordactions", function () {
751752
it("should list of users who missed updating progress", async function () {
752753
const result = await getMissedProgressUpdatesUsers();
753754
expect(result).to.be.an("object");
754-
expect(result).to.be.deep.equal({
755-
tasks: 4,
756-
missedUpdatesTasks: 3,
757-
usersToAddRole: [activeUserWithProgressUpdates.discordId],
758-
});
755+
expect(result.tasks).to.not.equal(undefined);
756+
expect(result.tasks).to.equal(4);
757+
expect(result.missedUpdatesTasks).to.not.equal(undefined);
758+
expect(result.missedUpdatesTasks).to.equal(3);
759+
expect(result.usersToAddRole.includes(activeUserWithMissedProgressUpdates.discordId)).to.equal(true);
760+
expect(result.usersToAddRole.includes(idleUser.discordId)).to.equal(true);
759761
});
760762

761763
it("should not list of users who are not active and who missed updating progress", async function () {
762764
const result = await getMissedProgressUpdatesUsers();
763765
expect(result).to.be.an("object");
764-
expect(result.usersToAddRole).to.not.contain(idleUser.discordId);
765766
expect(result.usersToAddRole).to.not.contain(userNotInDiscord.discordId);
766767
});
767768

test/unit/services/oooRequest.test.ts

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,12 @@ import {
1212
OOO_STATUS_ALREADY_EXIST,
1313
USER_STATUS_NOT_FOUND,
1414
} from "../../../constants/requests";
15-
// import {
16-
// createOOORequest,
17-
// validateUserStatus,
18-
// acknowledgeOOORequest,
19-
// validateOOOAcknowledgeRequest
20-
// } from "../../../services/oooRequest";
21-
import { createOooRequest, validateUserStatus } from "../../../services/oooRequest";
15+
import {
16+
createOooRequest,
17+
validateUserStatus,
18+
// acknowledgeOOORequest,
19+
// validateOOOAcknowledgeRequest
20+
} from "../../../services/oooRequest";
2221
import { expect } from "chai";
2322
import { testUserStatus, validOooStatusRequests, validUserCurrentStatus, createdOOORequest } from "../../fixtures/oooRequest/oooRequest";
2423
import { updateUserStatus } from "../../../models/userStatus";
@@ -165,7 +164,7 @@ describe("Test OOO Request Service", function() {
165164
});
166165
});
167166

168-
describe("acknowledgeOOORequest", function() {
167+
describe.skip("acknowledgeOOORequest", function() {
169168

170169
let testSuperUserId;
171170
let testOooRequest;
@@ -184,7 +183,7 @@ describe("Test OOO Request Service", function() {
184183
});
185184

186185
it("should return REQUEST_DOES_NOT_EXIST if invalid request id is passed", async function () {
187-
const invalidOOORequestId = "11111111111111111111";
186+
// const invalidOOORequestId = "11111111111111111111";
188187
// const response = await acknowledgeOOORequest(
189188
// invalidOOORequestId,
190189
// acknowledgeOooRequest,
@@ -229,19 +228,19 @@ describe("Test OOO Request Service", function() {
229228
});
230229

231230
it("should throw error", async function() {
232-
sinon.stub(logService, "addLog").throws(new Error(errorMessage));
231+
// sinon.stub(logService, "addLog").throws(new Error(errorMessage));
233232
// const createSpy = sinon.spy(require("../../../services/oooRequest"), "acknowledgeOOORequest");
234233

235-
try {
236-
// await acknowledgeOOORequest(
237-
// testOooRequest.id,
238-
// acknowledgeOooRequest,
239-
// testSuperUserId
240-
// );
241-
} catch (error) {
242-
// expect(error.message).to.equal(errorMessage);
243-
// expect(createSpy.calledOnce).to.be.true;
244-
}
234+
// try {
235+
// await acknowledgeOOORequest(
236+
// testOooRequest.id,
237+
// acknowledgeOooRequest,
238+
// testSuperUserId
239+
// );
240+
// } catch (error) {
241+
// expect(error.message).to.equal(errorMessage);
242+
// expect(createSpy.calledOnce).to.be.true;
243+
// }
245244
});
246245
});
247246
});

0 commit comments

Comments
 (0)