@@ -3,12 +3,12 @@ import { parseRequest } from '../src/handlers';
33
44describe ( 'parseRequest' , ( ) => {
55 const mockReq = {
6- body : '' ,
6+ body : 'foo ' ,
77 cookies : { test : 'test' } ,
88 headers : {
99 host : 'mattrobenolt.com' ,
1010 } ,
11- method : 'GET ' ,
11+ method : 'POST ' ,
1212 url : '/some/path?key=value' ,
1313 user : {
1414 custom_property : 'foo' ,
@@ -72,16 +72,22 @@ describe('parseRequest', () => {
7272 describe ( 'parseRequest.request properties' , ( ) => {
7373 test ( 'parseRequest.request only contains the default set of properties from the request' , ( ) => {
7474 const DEFAULT_REQUEST_PROPERTIES = [ 'cookies' , 'data' , 'headers' , 'method' , 'query_string' , 'url' ] ;
75- const parsedRequest : Event = parseRequest ( { } , mockReq , { } ) ;
76- expect ( Object . keys ( parsedRequest . request as any [ ] ) ) . toEqual ( DEFAULT_REQUEST_PROPERTIES ) ;
75+ const parsedRequest : Event = parseRequest ( { } , mockReq ) ;
76+ expect ( Object . keys ( parsedRequest . request as { } ) ) . toEqual ( DEFAULT_REQUEST_PROPERTIES ) ;
7777 } ) ;
7878
7979 test ( 'parseRequest.request only contains the specified properties in the options.request array' , ( ) => {
8080 const INCLUDED_PROPERTIES = [ 'data' , 'headers' , 'query_string' , 'url' ] ;
8181 const parsedRequest : Event = parseRequest ( { } , mockReq , {
8282 request : INCLUDED_PROPERTIES ,
8383 } ) ;
84- expect ( Object . keys ( parsedRequest . request as any [ ] ) ) . toEqual ( [ 'data' , 'headers' , 'query_string' , 'url' ] ) ;
84+ expect ( Object . keys ( parsedRequest . request as { } ) ) . toEqual ( INCLUDED_PROPERTIES ) ;
85+ } ) ;
86+
87+ test ( 'parseRequest.request skips `body` property for GET and HEAD requests' , ( ) => {
88+ expect ( parseRequest ( { } , mockReq , { } ) . request ) . toHaveProperty ( 'data' ) ;
89+ expect ( parseRequest ( { } , { ...mockReq , method : 'GET' } , { } ) . request ) . not . toHaveProperty ( 'data' ) ;
90+ expect ( parseRequest ( { } , { ...mockReq , method : 'HEAD' } , { } ) . request ) . not . toHaveProperty ( 'data' ) ;
8591 } ) ;
8692 } ) ;
8793} ) ;
0 commit comments