1- const { Request, RequestV2 } = require ( './request' )
1+ const { Request } = require ( './request' )
22
33describe ( 'Request object version 1.0' , ( ) => {
44 const requestObject = { a : 1 }
@@ -161,9 +161,9 @@ describe('Request object version 1.0', () => {
161161
162162describe ( 'Request object version 2.0' , ( ) => {
163163 const requestObject = { a : 1 }
164- let event
164+ let eventV2
165165 beforeEach ( ( ) => {
166- event = {
166+ eventV2 = {
167167 version : '2.0' ,
168168 routeKey : '$default' ,
169169 rawPath : '/my/path' ,
@@ -237,15 +237,15 @@ describe('Request object version 2.0', () => {
237237 } )
238238
239239 it ( 'should read query parameter' , ( ) => {
240- const request = new RequestV2 ( event )
240+ const request = new Request ( eventV2 )
241241
242242 expect ( request . query . a ) . toBe ( '1' )
243243 expect ( request . query . shoe . color ) . toBe ( 'yellow' )
244244 expect ( request . query . email ) . toBe ( 'test+user@gmail.com' )
245245 } )
246246
247247 it ( 'should read all values of query parameter with multiple values' , ( ) => {
248- const request = new RequestV2 ( event )
248+ const request = new Request ( eventV2 )
249249
250250 expect ( request . query . b ) . toEqual ( [ '1' , '2' ] )
251251 expect ( request . query . c ) . toEqual ( [ '-firstName' , 'lastName' ] )
@@ -254,56 +254,57 @@ describe('Request object version 2.0', () => {
254254 } )
255255
256256 it ( 'should read header' , ( ) => {
257- const request = new RequestV2 ( event )
257+ const request = new Request ( eventV2 )
258258
259259 expect ( request . get ( 'Content-Type' ) ) . toBe ( 'application/json' )
260260 expect ( request . get ( 'content-type' ) ) . toBe ( 'application/json' )
261261 expect ( request . get ( 'X-Header' ) ) . toEqual ( 'value1,value2' )
262262 } )
263263
264264 it ( 'should read query as empty object if there is no queryparamters' , ( ) => {
265- event . queryStringParameters = { }
266- event . rawQueryString = ''
267- const request = new RequestV2 ( event )
265+ eventV2 . queryStringParameters = { }
266+ eventV2 . rawQueryString = ''
267+ const request = new Request ( eventV2 )
268268
269269 expect ( request . query ) . toEqual ( { } )
270270 } )
271271
272272 it ( 'should read headers as empty object if there is no headers' , ( ) => {
273- event . headers = { }
274- delete event . body
275- const request = new RequestV2 ( event )
273+ eventV2 . headers = { }
274+ delete eventV2 . body
275+ delete eventV2 . cookies
276+ const request = new Request ( eventV2 )
276277
277278 expect ( request . headers ) . toEqual ( { } )
278279 } )
279280
280281 it ( 'should handle weird header asks' , ( ) => {
281- const request = new RequestV2 ( event )
282+ const request = new Request ( eventV2 )
282283
283284 expect ( ( ) => request . get ( ) ) . toThrow ( TypeError ( 'name argument is required to req.get' ) )
284285 expect ( ( ) => request . get ( { } ) ) . toThrow ( TypeError ( 'name must be a string to req.get' ) )
285286 } )
286287
287288 it ( 'should read referer/referrer header' , ( ) => {
288289 const referer = 'muratcorlu.com'
289- event . headers [ 'Referer' ] = referer
290+ eventV2 . headers [ 'Referer' ] = referer
290291
291- const request = new RequestV2 ( event )
292+ const request = new Request ( eventV2 )
292293 expect ( request . get ( 'referer' ) ) . toBe ( referer )
293294 expect ( request . get ( 'referrer' ) ) . toBe ( referer )
294295 } )
295296
296297 it ( 'check type' , ( ) => {
297- const request = new RequestV2 ( event )
298+ const request = new Request ( eventV2 )
298299 expect ( request . is ( 'json' ) ) . toBe ( 'json' )
299300 expect ( request . is ( [ 'html' , 'json' ] ) ) . toBe ( 'json' )
300301 expect ( request . is ( 'html' , 'xml' ) ) . toBe ( false )
301302 } )
302303
303304 it ( 'should check accept header' , ( ) => {
304- event . headers [ 'Accept' ] = 'application/json'
305+ eventV2 . headers [ 'Accept' ] = 'application/json'
305306
306- const request = new RequestV2 ( event )
307+ const request = new Request ( eventV2 )
307308 expect ( request . accepts ( 'xml' ) ) . toBe ( false )
308309 expect ( request . accepts ( 'text/xml' ) ) . toBe ( false )
309310 expect ( request . accepts ( 'json' ) ) . toBe ( 'json' )
@@ -312,30 +313,35 @@ describe('Request object version 2.0', () => {
312313 } )
313314
314315 it ( 'should check acceptEncodings' , ( ) => {
315- event . headers [ 'accept-encoding' ] = 'gzip, compress;q=0.2'
316+ eventV2 . headers [ 'accept-encoding' ] = 'gzip, compress;q=0.2'
316317
317- const request = new RequestV2 ( event )
318+ const request = new Request ( eventV2 )
318319 expect ( request . acceptsEncodings ( 'gzip' , 'compress' ) ) . toBe ( 'gzip' )
319320 } )
320321
321322 it ( 'should check acceptsCharsets' , ( ) => {
322- event . headers [ 'accept-charset' ] = 'utf-8, iso-8859-1;q=0.2, utf-7;q=0.5'
323+ eventV2 . headers [ 'accept-charset' ] = 'utf-8, iso-8859-1;q=0.2, utf-7;q=0.5'
323324
324- const request = new RequestV2 ( event )
325+ const request = new Request ( eventV2 )
325326 expect ( request . acceptsCharsets ( 'utf-7' , 'utf-8' ) ) . toBe ( 'utf-8' )
326327 } )
327328
328329 it ( 'should check acceptsLanguages' , ( ) => {
329- event . headers [ 'accept-charset' ] = 'en;q=0.8, es, tr'
330+ eventV2 . headers [ 'accept-charset' ] = 'en;q=0.8, es, tr'
330331
331- const request = new RequestV2 ( event )
332+ const request = new Request ( eventV2 )
332333 expect ( request . acceptsLanguages ( 'tr' , 'en' ) ) . toBe ( 'tr' )
333334 } )
334335
335336 it ( 'should handle non-ascii characters' , ( ) => {
336337 const body = { text : 'árvíztűrőtükörfúrógép😄Tシャツを3 枚購入しました。🇨🇭🇺🇸🇯🇵🇭🇺🇬🇷🇵🇱∃⇔€🎉' }
337- event . body = JSON . stringify ( body )
338- const request = new RequestV2 ( event )
338+ eventV2 . body = JSON . stringify ( body )
339+ const request = new Request ( eventV2 )
339340 expect ( JSON . parse ( request . body ) ) . toEqual ( body )
340341 } )
342+
343+ it ( 'should set cookies' , ( ) => {
344+ const request = new Request ( eventV2 )
345+ expect ( request . get ( 'Cookie' ) ) . toEqual ( 'cookie1; cookie2' )
346+ } )
341347} )
0 commit comments