@@ -12,7 +12,7 @@ describe('Additional Params Request Plugin', () => {
12
12
const additionalGetParams = jest . fn ( ) . mockReturnValue ( { test : 'ok' } ) ;
13
13
const additionalBody = jest . fn ( ) . mockReturnValue ( 'newBody' ) ;
14
14
15
- const defaultGetParams = { defaultTest : 'ok' } ;
15
+ const defaultGetParams = { defaultTest : 'defaultTest= ok' } ;
16
16
const defaultBody = 'default' ;
17
17
let options : RequestOptions ;
18
18
@@ -32,7 +32,27 @@ describe('Additional Params Request Plugin', () => {
32
32
33
33
const result = await runner . transform ( options ) ;
34
34
35
- expect ( result . queryParams . test ) . toBe ( 'ok' ) ;
35
+ expect ( result . queryParams . test ) . toBe ( 'test=ok' ) ;
36
+ } ) ;
37
+
38
+ it ( 'should add serialized query params' , async ( ) => {
39
+ const plugin = new AdditionalParamsRequest ( { queryParams :
40
+ {
41
+ primParam : { value : 'ok' , explode : false , style : 'form' } ,
42
+ arrParam : { value : [ 'a' , 'b' , 'c' ] , explode : false , style : 'spaceDelimited' } ,
43
+ objParam : { value : { prop1 : 'value1' , prop2 : 'value2' } , explode : true , style : 'deepObject' }
44
+ }
45
+ } ) ;
46
+ const runner = plugin . load ( ) ;
47
+
48
+ const result = await runner . transform ( options ) ;
49
+
50
+ expect ( result . queryParams ) . toStrictEqual ( {
51
+ defaultTest : 'defaultTest=ok' ,
52
+ primParam : 'primParam=ok' ,
53
+ arrParam : 'arrParam=a%20b%20c' ,
54
+ objParam : 'objParam%5Bprop1%5D=value1&objParam%5Bprop2%5D=value2'
55
+ } ) ;
36
56
} ) ;
37
57
38
58
it ( 'should add the query params returned by a function' , async ( ) => {
@@ -42,7 +62,7 @@ describe('Additional Params Request Plugin', () => {
42
62
const result = await runner . transform ( options ) ;
43
63
44
64
expect ( additionalGetParams ) . toHaveBeenCalledWith ( defaultGetParams ) ;
45
- expect ( result . queryParams . test ) . toBe ( 'ok' ) ;
65
+ expect ( result . queryParams . test ) . toBe ( 'test= ok' ) ;
46
66
} ) ;
47
67
48
68
it ( 'should modify body' , async ( ) => {
@@ -52,7 +72,7 @@ describe('Additional Params Request Plugin', () => {
52
72
const result = await runner . transform ( options ) ;
53
73
54
74
expect ( result . queryParams . test ) . toBeUndefined ( ) ;
55
- expect ( result . queryParams . defaultTest ) . toBe ( 'ok' ) ;
75
+ expect ( result . queryParams . defaultTest ) . toBe ( 'defaultTest= ok' ) ;
56
76
57
77
expect ( additionalBody ) . toHaveBeenCalledWith ( defaultBody ) ;
58
78
expect ( result . body ) . toBe ( 'newBody' ) ;
@@ -63,7 +83,7 @@ describe('Additional Params Request Sync Plugin', () => {
63
83
const additionalGetParams = jest . fn ( ) . mockReturnValue ( { test : 'ok' } ) ;
64
84
const additionalBody = jest . fn ( ) . mockReturnValue ( 'newBody' ) ;
65
85
66
- const defaultGetParams = { defaultTest : 'ok' } ;
86
+ const defaultGetParams = { defaultTest : 'defaultTest= ok' } ;
67
87
const defaultBody = 'default' ;
68
88
let options : RequestOptions ;
69
89
@@ -83,7 +103,27 @@ describe('Additional Params Request Sync Plugin', () => {
83
103
84
104
const result = runner . transform ( options ) ;
85
105
86
- expect ( result . queryParams . test ) . toBe ( 'ok' ) ;
106
+ expect ( result . queryParams . test ) . toBe ( 'test=ok' ) ;
107
+ } ) ;
108
+
109
+ it ( 'should add serialized query params' , ( ) => {
110
+ const plugin = new AdditionalParamsSyncRequest ( { queryParams :
111
+ {
112
+ primParam : { value : 'ok' , explode : false , style : 'form' } ,
113
+ arrParam : { value : [ 'a' , 'b' , 'c' ] , explode : false , style : 'spaceDelimited' } ,
114
+ objParam : { value : { prop1 : 'value1' , prop2 : 'value2' } , explode : true , style : 'deepObject' }
115
+ }
116
+ } ) ;
117
+ const runner = plugin . load ( ) ;
118
+
119
+ const result = runner . transform ( options ) ;
120
+
121
+ expect ( result . queryParams ) . toStrictEqual ( {
122
+ defaultTest : 'defaultTest=ok' ,
123
+ primParam : 'primParam=ok' ,
124
+ arrParam : 'arrParam=a%20b%20c' ,
125
+ objParam : 'objParam%5Bprop1%5D=value1&objParam%5Bprop2%5D=value2'
126
+ } ) ;
87
127
} ) ;
88
128
89
129
it ( 'should add the query params returned by a function' , ( ) => {
@@ -93,7 +133,7 @@ describe('Additional Params Request Sync Plugin', () => {
93
133
const result = runner . transform ( options ) ;
94
134
95
135
expect ( additionalGetParams ) . toHaveBeenCalledWith ( defaultGetParams ) ;
96
- expect ( result . queryParams . test ) . toBe ( 'ok' ) ;
136
+ expect ( result . queryParams . test ) . toBe ( 'test= ok' ) ;
97
137
} ) ;
98
138
99
139
it ( 'should modify body' , ( ) => {
@@ -103,7 +143,7 @@ describe('Additional Params Request Sync Plugin', () => {
103
143
const result = runner . transform ( options ) ;
104
144
105
145
expect ( result . queryParams . test ) . toBeUndefined ( ) ;
106
- expect ( result . queryParams . defaultTest ) . toBe ( 'ok' ) ;
146
+ expect ( result . queryParams . defaultTest ) . toBe ( 'defaultTest= ok' ) ;
107
147
108
148
expect ( additionalBody ) . toHaveBeenCalledWith ( defaultBody ) ;
109
149
expect ( result . body ) . toBe ( 'newBody' ) ;
0 commit comments