Skip to content

Commit f8d0bc7

Browse files
authored
chore: remove feature flag onboarding extension (#2382)
* fix: remove feature flag from onboarding extension request features * test: update tests after removing feature flag from onboarding extension
1 parent 9d6436c commit f8d0bc7

File tree

4 files changed

+27
-89
lines changed

4 files changed

+27
-89
lines changed

controllers/onboardingExtension.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -151,10 +151,6 @@ export const updateOnboardingExtensionRequestState = async (
151151
req: UpdateOnboardingExtensionStateRequest,
152152
res: OnboardingExtensionResponse )
153153
: Promise<OnboardingExtensionResponse> => {
154-
155-
const dev = req.query.dev === "true";
156-
157-
if(!dev) return res.boom.notImplemented("Feature not implemented");
158154

159155
const body = req.body as UpdateOnboardingExtensionStateRequestBody;
160156
const lastModifiedBy = req?.userData?.id;
@@ -224,9 +220,6 @@ export const updateOnboardingExtensionRequestController = async (
224220
const id = req.params.id;
225221
const lastModifiedBy = req?.userData?.id;
226222
const isSuperuser = req?.userData?.roles?.super_user === true;
227-
const dev = req.query.dev === "true";
228-
229-
if(!dev) return res.boom.notImplemented("Feature not implemented");
230223

231224
try{
232225
const extensionRequestDoc = await requestModel.doc(id).get();

middlewares/skipAuthenticateForOnboardingExtension.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,11 @@ import { REQUEST_TYPE } from "../constants/requests";
1414
export const skipAuthenticateForOnboardingExtensionRequest = (authenticate, verifyDiscordBot) => {
1515
return async (req: Request, res: Response, next: NextFunction) => {
1616
const type = req.body.type;
17-
const dev = req.query.dev;
1817

1918
if(type === REQUEST_TYPE.ONBOARDING){
20-
if (dev != "true"){
21-
return res.status(501).json({
22-
message: "Feature not implemented"
23-
})
24-
}
2519
return await verifyDiscordBot(req, res, next);
2620
}
2721

2822
return await authenticate(req, res, next)
2923
}
30-
}
24+
}

test/integration/onboardingExtension.test.ts

Lines changed: 24 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ describe("/requests Onboarding Extension", () => {
7575

7676
it("should not call verifyDiscordBot and return 401 response when extension type is not onboarding", (done)=> {
7777
chai.request(app)
78-
.post(`${postEndpoint}?dev=true`)
78+
.post(postEndpoint)
7979
.send({...body, type: REQUEST_TYPE.OOO})
8080
.end((err, res)=>{
8181
if(err) return done(err);
@@ -86,22 +86,10 @@ describe("/requests Onboarding Extension", () => {
8686
})
8787
})
8888

89-
it("should return Feature not implemented when dev is not true", (done) => {
90-
chai.request(app)
91-
.post(`${postEndpoint}`)
92-
.send(body)
93-
.end((err, res)=>{
94-
if (err) return done(err);
95-
expect(res.statusCode).to.equal(501);
96-
expect(res.body.message).to.equal("Feature not implemented");
97-
done();
98-
})
99-
})
100-
10189
it("should return Invalid Request when authorization header is missing", (done) => {
10290
chai
10391
.request(app)
104-
.post(`${postEndpoint}?dev=true`)
92+
.post(postEndpoint)
10593
.set("authorization", "")
10694
.send(body)
10795
.end((err, res) => {
@@ -114,7 +102,7 @@ describe("/requests Onboarding Extension", () => {
114102

115103
it("should return Unauthorized Bot for invalid token", (done) => {
116104
chai.request(app)
117-
.post(`${postEndpoint}?dev=true`)
105+
.post(postEndpoint)
118106
.set("authorization", `Bearer ${BAD_TOKEN}`)
119107
.send(body)
120108
.end((err, res) => {
@@ -127,7 +115,7 @@ describe("/requests Onboarding Extension", () => {
127115

128116
it("should return 400 response for invalid value type of numberOfDays", (done) => {
129117
chai.request(app)
130-
.post(`${postEndpoint}?dev=true`)
118+
.post(postEndpoint)
131119
.set("authorization", `Bearer ${botToken}`)
132120
.send({...body, numberOfDays:"1"})
133121
.end((err, res) => {
@@ -141,7 +129,7 @@ describe("/requests Onboarding Extension", () => {
141129

142130
it("should return 400 response for invalid value of numberOfDays", (done) => {
143131
chai.request(app)
144-
.post(`${postEndpoint}?dev=true`)
132+
.post(postEndpoint)
145133
.set("authorization", `Bearer ${botToken}`)
146134
.send({...body, numberOfDays:1.4})
147135
.end((err, res) => {
@@ -155,7 +143,7 @@ describe("/requests Onboarding Extension", () => {
155143

156144
it("should return 400 response for invalid userId", (done) => {
157145
chai.request(app)
158-
.post(`${postEndpoint}?dev=true`)
146+
.post(postEndpoint)
159147
.set("authorization", `Bearer ${botToken}`)
160148
.send({...body, userId: undefined})
161149
.end((err, res) => {
@@ -172,7 +160,7 @@ describe("/requests Onboarding Extension", () => {
172160
sinon.stub(requestsQuery, "createRequest")
173161
.throws("Error while creating extension request");
174162
chai.request(app)
175-
.post(`${postEndpoint}?dev=true`)
163+
.post(postEndpoint)
176164
.set("authorization", `Bearer ${botToken}`)
177165
.send(body)
178166
.end((err, res)=>{
@@ -186,7 +174,7 @@ describe("/requests Onboarding Extension", () => {
186174
it("should return 500 response when discordJoinedAt date string is invalid", (done) => {
187175
createUserStatusWithState(testUserIdForInvalidDiscordJoinedDate, userStatusModel, userState.ONBOARDING);
188176
chai.request(app)
189-
.post(`${postEndpoint}?dev=true`)
177+
.post(postEndpoint)
190178
.set("authorization", `Bearer ${botToken}`)
191179
.send({...body, userId: testUserDiscordIdForInvalidDiscordJoinedDate})
192180
.end((err, res)=>{
@@ -199,7 +187,7 @@ describe("/requests Onboarding Extension", () => {
199187

200188
it("should return 404 response when user does not exist", (done) => {
201189
chai.request(app)
202-
.post(`${postEndpoint}?dev=true`)
190+
.post(postEndpoint)
203191
.set("authorization", `Bearer ${botToken}`)
204192
.send({...body, userId: "11111"})
205193
.end((err, res) => {
@@ -214,7 +202,7 @@ describe("/requests Onboarding Extension", () => {
214202
it("should return 403 response when user's status is not onboarding", (done)=> {
215203
createUserStatusWithState(testUserId, userStatusModel, userState.ACTIVE);
216204
chai.request(app)
217-
.post(`${postEndpoint}?dev=true`)
205+
.post(postEndpoint)
218206
.set("authorization", `Bearer ${botToken}`)
219207
.send(body)
220208
.end((err, res) => {
@@ -231,7 +219,7 @@ describe("/requests Onboarding Extension", () => {
231219
requestsQuery.createRequest({...extensionRequest, state: REQUEST_STATE.PENDING, userId: testUserId});
232220

233221
chai.request(app)
234-
.post(`${postEndpoint}?dev=true`)
222+
.post(postEndpoint)
235223
.set("authorization", `Bearer ${botToken}`)
236224
.send(body)
237225
.end((err, res) => {
@@ -246,7 +234,7 @@ describe("/requests Onboarding Extension", () => {
246234
it("should return 201 for successful response when user has onboarding state", (done)=> {
247235
createUserStatusWithState(testUserId, userStatusModel, userState.ONBOARDING);
248236
chai.request(app)
249-
.post(`${postEndpoint}?dev=true`)
237+
.post(postEndpoint)
250238
.set("authorization", `Bearer ${botToken}`)
251239
.send(body)
252240
.end((err, res) => {
@@ -271,7 +259,7 @@ describe("/requests Onboarding Extension", () => {
271259
});
272260

273261
const res = await chai.request(app)
274-
.post(`${postEndpoint}?dev=true`)
262+
.post(postEndpoint)
275263
.set("authorization", `Bearer ${botToken}`)
276264
.send(body);
277265

@@ -296,7 +284,7 @@ describe("/requests Onboarding Extension", () => {
296284
});
297285

298286
const res = await chai.request(app)
299-
.post(`${postEndpoint}?dev=true`)
287+
.post(postEndpoint)
300288
.set("authorization", `Bearer ${botToken}`)
301289
.send(body);
302290

@@ -418,7 +406,7 @@ describe("/requests Onboarding Extension", () => {
418406
type: REQUEST_TYPE.ONBOARDING,
419407
requestNumber: 2
420408
});
421-
putEndpoint = `/requests/${latestExtension.id}?dev=true`;
409+
putEndpoint = `/requests/${latestExtension.id}`;
422410
authToken = generateAuthToken({userId});
423411
})
424412

@@ -443,7 +431,7 @@ describe("/requests Onboarding Extension", () => {
443431

444432
it("should return Invalid request type for incorrect value of type", (done) => {
445433
chai.request(app)
446-
.put("/requests/1111?dev=true")
434+
.put("/requests/1111")
447435
.set("authorization", `Bearer ${authToken}`)
448436
.send({...body, type: "<InvalidType>"})
449437
.end((err, res)=>{
@@ -455,19 +443,6 @@ describe("/requests Onboarding Extension", () => {
455443
})
456444
})
457445

458-
it("should return Feature not implemented when dev is not true", (done) => {
459-
chai.request(app)
460-
.put(`/requests/1111?dev=false`)
461-
.send(body)
462-
.set("authorization", `Bearer ${authToken}`)
463-
.end((err, res)=>{
464-
if (err) return done(err);
465-
expect(res.statusCode).to.equal(501);
466-
expect(res.body.message).to.equal("Feature not implemented");
467-
done();
468-
})
469-
})
470-
471446
it("should return Unauthenticated User when authorization header is missing", (done) => {
472447
chai.request(app)
473448
.put(putEndpoint)
@@ -510,7 +485,7 @@ describe("/requests Onboarding Extension", () => {
510485

511486
it("should return 404 response for invalid extension id", (done) => {
512487
chai.request(app)
513-
.put(`/requests/1111?dev=true`)
488+
.put(`/requests/1111`)
514489
.set("authorization", `Bearer ${authToken}`)
515490
.send(body)
516491
.end((err, res) => {
@@ -538,7 +513,7 @@ describe("/requests Onboarding Extension", () => {
538513

539514
it("should return 400 response when extension state is approved", (done) => {
540515
chai.request(app)
541-
.put(`/requests/${latestApprovedExtension.id}?dev=true`)
516+
.put(`/requests/${latestApprovedExtension.id}`)
542517
.set("authorization", `Bearer ${authToken}`)
543518
.send(body)
544519
.end((err, res) => {
@@ -552,7 +527,7 @@ describe("/requests Onboarding Extension", () => {
552527

553528
it("should return 400 response when extension state is rejected", (done) => {
554529
chai.request(app)
555-
.put(`/requests/${latestRejectedExtension.id}?dev=true`)
530+
.put(`/requests/${latestRejectedExtension.id}`)
556531
.set("authorization", `Bearer ${authToken}`)
557532
.send(body)
558533
.end((err, res) => {
@@ -646,7 +621,7 @@ describe("/requests Onboarding Extension", () => {
646621
userId: userId
647622
});
648623
oooRequest = await requestsQuery.createRequest({type: REQUEST_TYPE.OOO, userId: userId});
649-
patchEndpoint = `/requests/${latestValidExtension.id}?dev=true`;
624+
patchEndpoint = `/requests/${latestValidExtension.id}`;
650625
authToken = generateAuthToken({userId});
651626
})
652627

@@ -669,19 +644,6 @@ describe("/requests Onboarding Extension", () => {
669644
})
670645
})
671646

672-
it("should return Feature not implemented when dev is not true", (done) => {
673-
chai.request(app)
674-
.patch(`/requests/1111?dev=false`)
675-
.send(body)
676-
.set("authorization", `Bearer ${authToken}`)
677-
.end((err, res)=>{
678-
if (err) return done(err);
679-
expect(res.statusCode).to.equal(501);
680-
expect(res.body.message).to.equal("Feature not implemented");
681-
done();
682-
})
683-
})
684-
685647
it("should return Unauthenticated User when authorization header is missing", (done) => {
686648
chai
687649
.request(app)
@@ -725,7 +687,7 @@ describe("/requests Onboarding Extension", () => {
725687

726688
it("should return 404 response for invalid extension id", (done) => {
727689
chai.request(app)
728-
.patch(`/requests/1111?dev=true`)
690+
.patch(`/requests/1111`)
729691
.set("authorization", `Bearer ${authToken}`)
730692
.send(body)
731693
.end((err, res) => {
@@ -753,7 +715,7 @@ describe("/requests Onboarding Extension", () => {
753715

754716
it("should return 400 response when request type is not onboarding", (done) => {
755717
chai.request(app)
756-
.patch(`/requests/${oooRequest.id}?dev=true`)
718+
.patch(`/requests/${oooRequest.id}`)
757719
.set("authorization", `Bearer ${authToken}`)
758720
.send(body)
759721
.end((err, res) => {
@@ -767,7 +729,7 @@ describe("/requests Onboarding Extension", () => {
767729

768730
it("should return 400 response when extension state is not pending", (done) => {
769731
chai.request(app)
770-
.patch(`/requests/${latestApprovedExtension.id}?dev=true`)
732+
.patch(`/requests/${latestApprovedExtension.id}`)
771733
.set("authorization", `Bearer ${authToken}`)
772734
.send(body)
773735
.end((err, res) => {
@@ -781,7 +743,7 @@ describe("/requests Onboarding Extension", () => {
781743

782744
it("should return 400 response when old dealdine is greater than new deadline", (done) => {
783745
chai.request(app)
784-
.patch(`/requests/${latestInvalidExtension.id}?dev=true`)
746+
.patch(`/requests/${latestInvalidExtension.id}`)
785747
.set("authorization", `Bearer ${authToken}`)
786748
.send(body)
787749
.end((err, res) => {

test/unit/middlewares/skipAuthenticateForOnboardingExtension.test.ts

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,23 +25,12 @@ describe("skipAuthenticateForOnboardingExtensionRequest Middleware", () => {
2525
assert.isTrue(verifyDiscordBot.notCalled, "verifyDiscordBot should not be called");
2626
});
2727

28-
it("should not call verifyDicordBot and authenticate when dev is not true and type is onboarding", async () => {
29-
req.query.dev = "false";
30-
req.body.type = REQUEST_TYPE.ONBOARDING;
31-
32-
middleware(req, res, next);
33-
34-
assert.isTrue(verifyDiscordBot.notCalled, "verifyDiscordBot should not be called");
35-
assert.isTrue(authenticate.notCalled, "authenticate should not be called");
36-
});
37-
38-
it("should call verifyDiscordBot when dev is true and type is onboarding", () => {
39-
req.query.dev = "true";
28+
it("should call verifyDiscordBot when type is onboarding", async () => {
4029
req.body.type = REQUEST_TYPE.ONBOARDING;
4130

4231
middleware(req, res, next);
4332

4433
assert.isTrue(verifyDiscordBot.calledOnce, "verifyDiscordBot should be called once");
4534
assert.isTrue(authenticate.notCalled, "authenticate should not be called");
4635
});
47-
});
36+
});

0 commit comments

Comments
 (0)