Skip to content

Commit 6226837

Browse files
committed
test case added
1 parent a8a81f6 commit 6226837

File tree

4 files changed

+73
-83
lines changed

4 files changed

+73
-83
lines changed

models/requests.ts

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
REQUEST_DOES_NOT_EXIST,
99
} from "../constants/requests";
1010
import { getUserId } from "../utils/users";
11-
import { transformGetOooRequest } from "../utils/requests";
11+
import { fetchUser } from "./users";
1212
const SIZE = 5;
1313

1414
export const createRequest = async (body: any) => {
@@ -151,7 +151,55 @@ export const getRequests = async (query: any) => {
151151
}
152152

153153
if (type === REQUEST_TYPE.OOO) {
154-
allRequests = await transformGetOooRequest(dev, allRequests);
154+
const oooRequests = [];
155+
if (dev) {
156+
for (const request of allRequests) {
157+
if (request.status) {
158+
const modifiedRequest = {
159+
id: request.id,
160+
type: request.type,
161+
from: request.from,
162+
until: request.until,
163+
message: request.reason,
164+
state: request.status,
165+
lastModifiedBy: request.lastModifiedBy ?? "",
166+
requestedBy: request.userId,
167+
reason: request.comment ?? "",
168+
createdAt: request.createdAt,
169+
updatedAt: request.updatedAt
170+
};
171+
oooRequests.push(modifiedRequest);
172+
} else {
173+
oooRequests.push(request);
174+
}
175+
}
176+
} else {
177+
for (const request of allRequests) {
178+
if (request.state) {
179+
const userResponse: any = await fetchUser({ userId: request.requestedBy });
180+
const username = userResponse.user.username;
181+
182+
const modifiedRequest = {
183+
id: request.id,
184+
type: request.type,
185+
from: request.from,
186+
until: request.until,
187+
reason: request.message,
188+
status: request.state,
189+
lastModifiedBy: request.lastModifiedBy ?? null,
190+
requestedBy: username,
191+
comment: request.reason ?? null,
192+
createdAt: request.createdAt,
193+
updatedAt: request.updatedAt,
194+
userId: request.requestedBy
195+
};
196+
oooRequests.push(modifiedRequest);
197+
} else {
198+
oooRequests.push(request);
199+
}
200+
}
201+
}
202+
allRequests = oooRequests;
155203
}
156204

157205
return {

test/unit/models/requests.test.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,28 @@ describe("models/oooRequests", () => {
164164
const oooRequestData = await getRequests(query);
165165
expect(oooRequestData.allRequests).to.have.lengthOf(1);
166166
});
167+
168+
it.only("should return OOO requests with state and message field when dev is true", async () => {
169+
await createRequest(createOooRequests);
170+
await createRequest(createOooRequests2);
171+
const query = { dev: "true", type: REQUEST_TYPE.OOO };
172+
const oooRequests = await getRequests(query);
173+
oooRequests.allRequests.forEach((request) => {
174+
expect(request).to.have.property('state');
175+
expect(request).to.have.property('message');
176+
});
177+
});
178+
179+
it("should return OOO requests with status and reason field when dev is false", async () => {
180+
await createRequest(createOooRequests);
181+
await createRequest(createOooRequests2);
182+
const query = { dev: "false", type: REQUEST_TYPE.OOO };
183+
const oooRequests = await getRequests(query);
184+
oooRequests.allRequests.forEach((request) => {
185+
expect(request).to.have.property('status');
186+
expect(request).to.have.property('reason');
187+
});
188+
});
167189
});
168190

169191
describe("getRequestByKeyValue", () => {

types/oooRequest.d.ts

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,6 @@ export type OooStatusRequest = {
1818
updatedAt: Timestamp;
1919
comment: string | null;
2020
};
21-
22-
export type OldOooRequest = {
23-
id: string;
24-
type: REQUEST_TYPE.OOO;
25-
from: number;
26-
until: number;
27-
message: string;
28-
state: REQUEST_STATE;
29-
lastModifiedBy: string | null;
30-
requestedBy: string;
31-
reason: string | null;
32-
createdAt: Timestamp;
33-
updatedAt: Timestamp;
34-
};
35-
3621
export type OooStatusRequestBody = {
3722
from: number;
3823
until: number;
@@ -56,4 +41,4 @@ export type OooRequestCreateRequest = Request & {
5641
query: RequestQuery;
5742
};
5843

59-
export type OooRequestUpdateRequest = Request & { oooRequestUpdateBody , userData: userData , query: RequestQuery , params: RequestParams };
44+
export type OooRequestUpdateRequest = Request & { oooRequestUpdateBody , userData: userData , query: RequestQuery , params: RequestParams };

utils/requests.ts

Lines changed: 0 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
import { ERROR_WHILE_FETCHING_REQUEST } from "../constants/requests";
2-
import { fetchUser } from "../models/users";
3-
import { userData } from "../types/global";
4-
import { OldOooRequest, OooStatusRequest } from "../types/oooRequest";
5-
61
/**
72
* Calculates the new deadline based on the current date, the old end date, and the additional duration in milliseconds.
83
*
@@ -36,64 +31,4 @@ export const convertDateStringToMilliseconds = (date: string): { isDate: boolean
3631
isDate: true,
3732
milliseconds,
3833
};
39-
};
40-
41-
export const transformGetOooRequest = async (dev, allRequests) => {
42-
const oooRequests = [];
43-
44-
if (dev) {
45-
for (const request of allRequests) {
46-
if (request.status) {
47-
const modifiedRequest: OldOooRequest = {
48-
id: request.id,
49-
type: request.type,
50-
from: request.from,
51-
until: request.until,
52-
message: request.reason,
53-
state: request.status,
54-
lastModifiedBy: request.lastModifiedBy ?? "",
55-
requestedBy: request.userId,
56-
reason: request.comment ?? "",
57-
createdAt: request.createdAt,
58-
updatedAt: request.updatedAt
59-
};
60-
oooRequests.push(modifiedRequest);
61-
} else {
62-
oooRequests.push(request);
63-
}
64-
}
65-
} else {
66-
for (const request of allRequests) {
67-
if (request.state) {
68-
try {
69-
const userResponse: any = await fetchUser({ userId: request.requestedBy });
70-
const username = userResponse.user.username;
71-
72-
const modifiedRequest: OooStatusRequest = {
73-
id: request.id,
74-
type: request.type,
75-
from: request.from,
76-
until: request.until,
77-
reason: request.message,
78-
status: request.state,
79-
lastModifiedBy: request.lastModifiedBy ?? null,
80-
requestedBy: username,
81-
comment: request.reason ?? null,
82-
createdAt: request.createdAt,
83-
updatedAt: request.updatedAt,
84-
userId: request.requestedBy
85-
};
86-
87-
oooRequests.push(modifiedRequest);
88-
} catch (error) {
89-
logger.error(ERROR_WHILE_FETCHING_REQUEST, error);
90-
throw error;
91-
}
92-
} else {
93-
oooRequests.push(request);
94-
}
95-
}
96-
}
97-
98-
return oooRequests;
9934
};

0 commit comments

Comments
 (0)