How to send query string parameters using supertest?
I'm using supertest to send get query string parameters, how can I do that?
I tried
var imsServer = supertest.agent("https://example.com");
imsServer.get("/")
.send({
username: username,
password: password,
client_id: 'Test1',
scope: 'openid,TestID',
response_type: 'token',
redirect_uri: 'https://example.com/test.jsp'
})
.expect(200)
.end(function (err, res) {
// HTTP status should be 200
expect(res.status).to.be.equal(200);
body = res.body;
userId = body.userId;
accessToken = body.access_token;
done();
});
but that didn't send the parameters username
, password
, client_id
as query string to the endpoint. Is there a way to send query string parameters using supertest?
Although supertest
is not that well documented, you can have a look into the tests/supertest.js
.
There you have a test suite only for the query strings.
Something like:
request(app)
.get('/')
.query({ val: 'Test1' })
.expect(200, function(err, res) {
res.text.should.be.equal('Test1');
done();
});
Therefore:
.query({
key1: value1,
...
keyN: valueN
})
should work.