Skip to content

Commit dd3672b

Browse files
committed
Add tests to check if requests are using query parameters properly
1 parent 1815244 commit dd3672b

File tree

1 file changed

+94
-2
lines changed

1 file changed

+94
-2
lines changed

test/tests/resttests.ts

Lines changed: 94 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,36 @@ describe('Rest Tests', function () {
101101
assert(restRes.result && restRes.result.json.name === 'foo');
102102
});
103103

104+
it('creates a resource passing Query Parameters', async () => {
105+
let res: any = { name: 'foo' };
106+
let restRes: restm.IRestResponse<HttpBinData> = await _rest.create<HttpBinData>('https://httpbin.org/post', res, _options);
107+
assert(restRes.statusCode == 200, "statusCode should be 200");
108+
assert(restRes.result.url === 'https://httpbin.org/post?id=1&type=compact');
109+
assert(restRes.result && restRes.result.json.name === 'foo');
110+
111+
Object.keys(_options.queryParameters.params).forEach(key => {
112+
const actual = restRes.result.args[key];
113+
const expected = _options.queryParameters.params[key];
114+
115+
assert(expected == actual);
116+
})
117+
});
118+
119+
it('creates a resource with baseUrl passing Query Parameters', async () => {
120+
let res: any = { name: 'foo' };
121+
let restRes: restm.IRestResponse<HttpBinData> = await _restBin.create<HttpBinData>('post', res, _options);
122+
assert(restRes.statusCode == 200, "statusCode should be 200");
123+
assert(restRes.result && restRes.result.url === 'https://httpbin.org/post?id=1&type=compact');
124+
assert(restRes.result && restRes.result.json.name === 'foo');
125+
126+
Object.keys(_options.queryParameters.params).forEach(key => {
127+
const actual = restRes.result.args[key];
128+
const expected = _options.queryParameters.params[key];
129+
130+
assert(expected == actual);
131+
})
132+
});
133+
104134
it('replaces a resource', async() => {
105135
this.timeout(3000);
106136

@@ -119,6 +149,40 @@ describe('Rest Tests', function () {
119149
assert(restRes.result && restRes.result.json.name === 'foo');
120150
});
121151

152+
it('puts a resource passing Query Parameters', async () => {
153+
this.timeout(3000);
154+
155+
let res: any = { name: 'foo' };
156+
let restRes: restm.IRestResponse<HttpBinData> = await _rest.replace<HttpBinData>('https://httpbin.org/put', res, _options);
157+
assert(restRes.statusCode == 200, "statusCode should be 200");
158+
assert(restRes.result && restRes.result.url === 'https://httpbin.org/put?id=1&type=compact');
159+
assert(restRes.result && restRes.result.json.name === 'foo');
160+
161+
Object.keys(_options.queryParameters.params).forEach(key => {
162+
const actual = restRes.result.args[key];
163+
const expected = _options.queryParameters.params[key];
164+
165+
assert(expected == actual);
166+
})
167+
});
168+
169+
it('puts a resource with baseUrl passing Query Parameters', async () => {
170+
this.timeout(3000);
171+
172+
let res: any = { name: 'foo' };
173+
let restRes: restm.IRestResponse<HttpBinData> = await _restBin.replace<HttpBinData>('put', res, _options);
174+
assert(restRes.statusCode == 200, "statusCode should be 200");
175+
assert(restRes.result && restRes.result.url === 'https://httpbin.org/put?id=1&type=compact');
176+
assert(restRes.result && restRes.result.json.name === 'foo');
177+
178+
Object.keys(_options.queryParameters.params).forEach(key => {
179+
const actual = restRes.result.args[key];
180+
const expected = _options.queryParameters.params[key];
181+
182+
assert(expected == actual);
183+
})
184+
});
185+
122186
it('updates a resource', async() => {
123187
let res: any = { name: 'foo' };
124188
let restRes: restm.IRestResponse<HttpBinData> = await _rest.update<HttpBinData>('https://httpbin.org/patch', res);
@@ -135,6 +199,36 @@ describe('Rest Tests', function () {
135199
assert(restRes.result && restRes.result.json.name === 'foo');
136200
});
137201

202+
it('updates a resource passing Query Parameters', async () => {
203+
let res: any = { name: 'foo' };
204+
let restRes: restm.IRestResponse<HttpBinData> = await _rest.update<HttpBinData>('https://httpbin.org/patch', res, _options);
205+
assert(restRes.statusCode == 200, "statusCode should be 200");
206+
assert(restRes.result && restRes.result.url === 'https://httpbin.org/patch?id=1&type=compact');
207+
assert(restRes.result && restRes.result.json.name === 'foo');
208+
209+
Object.keys(_options.queryParameters.params).forEach(key => {
210+
const actual = restRes.result.args[key];
211+
const expected = _options.queryParameters.params[key];
212+
213+
assert(expected == actual);
214+
})
215+
});
216+
217+
it('updates a resource with baseUrl passing Query Parameters', async () => {
218+
let res: any = { name: 'foo' };
219+
let restRes: restm.IRestResponse<HttpBinData> = await _restBin.update<HttpBinData>('patch', res, _options);
220+
assert(restRes.statusCode == 200, "statusCode should be 200");
221+
assert(restRes.result && restRes.result.url === 'https://httpbin.org/patch?id=1&type=compact');
222+
assert(restRes.result && restRes.result.json.name === 'foo');
223+
224+
Object.keys(_options.queryParameters.params).forEach(key => {
225+
const actual = restRes.result.args[key];
226+
const expected = _options.queryParameters.params[key];
227+
228+
assert(expected == actual);
229+
})
230+
});
231+
138232
it('deletes a resource', async() => {
139233
let restRes: restm.IRestResponse<HttpBinData> = await _rest.del<HttpBinData>('https://httpbin.org/delete');
140234
assert(restRes.statusCode == 200, "statusCode should be 200");
@@ -221,7 +315,6 @@ describe('Rest Tests', function () {
221315
catch(err) {
222316
assert(err['statusCode'] == 401, "statusCode should be 401");
223317
assert(err.message && err.message.length > 0, "should have error message");
224-
assert(err['responseHeaders'], "err must contain responseHeaders");
225318
}
226319
});
227320

@@ -238,7 +331,6 @@ describe('Rest Tests', function () {
238331
catch(err) {
239332
assert(err['statusCode'] == 500, "statusCode should be 500");
240333
assert(err.message && err.message.length > 0, "should have error message");
241-
assert(err['responseHeaders'], "err must contain responseHeaders");
242334
}
243335
});
244336

0 commit comments

Comments
 (0)