Skip to content

Commit d36ef55

Browse files
authored
feat(event-handler): remove undefined from Router's resolve type signature (#4463)
1 parent 5b4ee1a commit d36ef55

File tree

5 files changed

+29
-29
lines changed

5 files changed

+29
-29
lines changed

packages/event-handler/src/rest/Router.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,13 +185,13 @@ class Router {
185185
* @param event - The Lambda event to resolve
186186
* @param context - The Lambda context
187187
* @param options - Optional resolve options for scope binding
188-
* @returns An API Gateway proxy result or undefined for incompatible events
188+
* @returns An API Gateway proxy result
189189
*/
190190
public async resolve(
191191
event: unknown,
192192
context: Context,
193193
options?: ResolveOptions
194-
): Promise<APIGatewayProxyResult | undefined> {
194+
): Promise<APIGatewayProxyResult> {
195195
if (!isAPIGatewayProxyEvent(event)) {
196196
this.logger.error(
197197
'Received an event that is not compatible with this resolver'

packages/event-handler/tests/unit/rest/Router/basic-routing.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ describe('Class: Router - Basic Routing', () => {
5050
context
5151
);
5252

53-
expect(result?.statusCode).toBe(HttpErrorCodes.METHOD_NOT_ALLOWED);
54-
expect(result?.body).toEqual('');
53+
expect(result.statusCode).toBe(HttpErrorCodes.METHOD_NOT_ALLOWED);
54+
expect(result.body).toEqual('');
5555
}
5656
);
5757

@@ -99,7 +99,7 @@ describe('Class: Router - Basic Routing', () => {
9999

100100
// Act
101101
const result = await app.resolve(testEvent, context);
102-
const actual = JSON.parse(result?.body ?? '{}');
102+
const actual = JSON.parse(result.body);
103103

104104
// Assess
105105
expect(actual.hasRequest).toBe(true);

packages/event-handler/tests/unit/rest/Router/decorators.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ describe('Class: Router - Decorators', () => {
412412

413413
// Act
414414
const result = await lambda.handler(testEvent, context);
415-
const actual = JSON.parse(result?.body ?? '{}');
415+
const actual = JSON.parse(result.body);
416416

417417
// Assess
418418
expect(actual.hasRequest).toBe(true);
@@ -452,7 +452,7 @@ describe('Class: Router - Decorators', () => {
452452

453453
// Act
454454
const result = await lambda.handler(testEvent, context);
455-
const body = JSON.parse(result?.body ?? '{}');
455+
const body = JSON.parse(result.body);
456456

457457
// Assess
458458
expect(body.hasRequest).toBe(true);

packages/event-handler/tests/unit/rest/Router/error-handling.test.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@ describe('Class: Router - Error Handling', () => {
120120
const result = await app.resolve(createTestEvent('/test', 'GET'), context);
121121

122122
// Assess
123-
expect(result?.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
124-
const body = JSON.parse(result?.body ?? '{}');
123+
expect(result.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
124+
const body = JSON.parse(result.body);
125125
expect(body.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
126126
expect(body.error).toBe('Internal Server Error');
127127
expect(body.message).toBe('Internal Server Error');
@@ -140,8 +140,8 @@ describe('Class: Router - Error Handling', () => {
140140
const result = await app.resolve(createTestEvent('/test', 'GET'), context);
141141

142142
// Assess
143-
expect(result?.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
144-
const body = JSON.parse(result?.body ?? '{}');
143+
expect(result.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
144+
const body = JSON.parse(result.body);
145145
expect(body.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
146146
expect(body.error).toBe('Internal Server Error');
147147
expect(body.message).toBe('Internal Server Error');
@@ -220,8 +220,8 @@ describe('Class: Router - Error Handling', () => {
220220
const result = await app.resolve(createTestEvent('/test', 'GET'), context);
221221

222222
// Assess
223-
expect(result?.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
224-
const body = JSON.parse(result?.body ?? '{}');
223+
expect(result.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
224+
const body = JSON.parse(result.body);
225225
expect(body.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
226226
expect(body.error).toBe('Internal Server Error');
227227
expect(body.message).toBe('Internal Server Error');
@@ -242,8 +242,8 @@ describe('Class: Router - Error Handling', () => {
242242
const result = await app.resolve(createTestEvent('/test', 'GET'), context);
243243

244244
// Assess
245-
expect(result?.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
246-
const body = JSON.parse(result?.body ?? '{}');
245+
expect(result.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
246+
const body = JSON.parse(result.body);
247247
expect(body.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
248248
expect(body.error).toBe('Internal Server Error');
249249
expect(body.message).toBe('debug error details');
@@ -363,7 +363,7 @@ describe('Class: Router - Error Handling', () => {
363363
const result = await app.resolve(createTestEvent('/test', 'GET'), context);
364364

365365
// Assess
366-
expect(result?.headers?.['content-type']).toBe('application/json');
366+
expect(result.headers?.['content-type']).toBe('application/json');
367367
});
368368

369369
it('passes request, event, and context to functional error handlers', async () => {
@@ -386,7 +386,7 @@ describe('Class: Router - Error Handling', () => {
386386

387387
// Act
388388
const result = await app.resolve(testEvent, context);
389-
const body = JSON.parse(result?.body ?? '{}');
389+
const body = JSON.parse(result.body);
390390

391391
// Assess
392392
expect(body.hasRequest).toBe(true);

packages/event-handler/tests/unit/rest/Router/middleware.test.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ describe('Class: Router - Middleware', () => {
127127
'middleware2',
128128
'middleware1-end',
129129
]);
130-
expect(result?.statusCode).toBe(401);
131-
expect(result?.body).toBe('Short-circuited');
130+
expect(result.statusCode).toBe(401);
131+
expect(result.body).toBe('Short-circuited');
132132
});
133133

134134
it('passes params and options to middleware', async () => {
@@ -175,8 +175,8 @@ describe('Class: Router - Middleware', () => {
175175
);
176176

177177
// Assess
178-
expect(result?.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
179-
const body = JSON.parse(result?.body ?? '{}');
178+
expect(result.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
179+
const body = JSON.parse(result.body);
180180
expect(body.message).toContain('next() called multiple times');
181181
});
182182

@@ -207,7 +207,7 @@ describe('Class: Router - Middleware', () => {
207207

208208
// Assess
209209
expect(executionOrder).toEqual(['middleware1']);
210-
expect(result?.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
210+
expect(result.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
211211
});
212212

213213
it('handles errors thrown in middleware after next()', async () => {
@@ -239,7 +239,7 @@ describe('Class: Router - Middleware', () => {
239239
'handler',
240240
'middleware1-end',
241241
]);
242-
expect(result?.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
242+
expect(result.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
243243
});
244244

245245
it('propagates handler errors through middleware chain', async () => {
@@ -267,7 +267,7 @@ describe('Class: Router - Middleware', () => {
267267
'middleware2-start',
268268
'handler',
269269
]);
270-
expect(result?.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
270+
expect(result.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
271271
});
272272

273273
it('handles middleware not calling next()', async () => {
@@ -291,7 +291,7 @@ describe('Class: Router - Middleware', () => {
291291

292292
// Assess
293293
expect(executionOrder).toEqual(['middleware1']);
294-
expect(result?.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
294+
expect(result.statusCode).toBe(HttpErrorCodes.INTERNAL_SERVER_ERROR);
295295
});
296296

297297
it('handles middleware returning JSON objects', async () => {
@@ -324,8 +324,8 @@ describe('Class: Router - Middleware', () => {
324324
'middleware2',
325325
'middleware1-end',
326326
]);
327-
expect(result?.statusCode).toBe(200);
328-
const body = JSON.parse(result?.body ?? '{}');
327+
expect(result.statusCode).toBe(200);
328+
const body = JSON.parse(result.body);
329329
expect(body).toEqual({
330330
statusCode: 202,
331331
message: 'Accepted by middleware',
@@ -619,8 +619,8 @@ describe('Class: Router - Middleware', () => {
619619
'route-middleware',
620620
'global-middleware-end',
621621
]);
622-
expect(result?.statusCode).toBe(403);
623-
expect(result?.body).toBe('Route middleware response');
622+
expect(result.statusCode).toBe(403);
623+
expect(result.body).toBe('Route middleware response');
624624
});
625625
});
626626
});

0 commit comments

Comments
 (0)