Add cookie assertions framework - #868
Conversation
|
Can you fix the merge conflict? |
Add a convenient workflow for running assertions on cookie headers
returned by the server. This code is largely copied from Gregory
Langais' package `expect-cookie` (MIT License).
Example usage:
```js
const request = require('supertest');
const cookies = request.cookies;
request(app)
.get('/users')
.expect('Content-Type', /json/)
.expect('Content-Length', '15')
.expect(200)
// assert 'alpha' cookie is set with domain, path, and httpOnly options
.expect(cookies.set({ name: 'alpha', options: ['domain', 'path', 'httponly'] }))
// assert 'bravo' cookie is NOT set
.expect(cookies.not('set', { name: 'bravo' }))
.end(function(err, res) {
if (err) {
throw err;
}
});
```
Supports:
- `.set` - Assert that cookie and options are set.
- `.reset` - Assert that cookie is set and was already set (in request
headers).
- `.new` - Assert that cookie is set and was NOT
already set (NOT in request headers).
- `.renew` - Assert that cookie is set with a strictly greater `expires`
or `max-age` than the given value.
- `.contain` - Assert that cookie is set with value and contains
options.
- `.not` - Call any cookies assertion method with "assert true" modifier
set to `false`.
feat(cookies): add cookie assertions
Add a convenient workflow for running assertions on cookie headers
returned by the server. This code is largely copied from Gregory
Langais' package `expect-cookies` (MIT License).
Example usage:
```js
const request = require('supertest');
const cookies = request.cookies;
request(app)
.get('/users')
.expect('Content-Type', /json/)
.expect('Content-Length', '15')
.expect(200)
// assert 'alpha' cookie is set with domain, path, and httpOnly options
.expect(cookies.set({ name: 'alpha', options: ['domain', 'path', 'httponly'] }))
// assert 'bravo' cookie is NOT set
.expect(cookies.not('set', { name: 'bravo' }))
.end(function(err, res) {
if (err) {
throw err;
}
});
```
Supports:
- `.set` - Assert that cookie and options are set.
- `.reset` - Assert that cookie is set and was already set (in request
headers).
- `.new` - Assert that cookie is set and was NOT
already set (NOT in request headers).
- `.renew` - Assert that cookie is set with a strictly greater `expires`
or `max-age` than the given value.
- `.contain` - Assert that cookie is set with value and contains
options.
- `.not` - Call any cookies assertion method with "assert true" modifier
set to `false`.
366c7ef to
4f89680
Compare
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Fixed. Sorry, not sure how that happened. |
|
Everything look ok now? |
|
Cheers! |
|
v7.2.0 published to npm https://github.com/forwardemail/supertest/releases/tag/v7.2.0 please consider supporting our maintenance efforts by becoming a @forwardemail user! **sign up at https://forwardemail.net and use coupon code |
|
import request from 'supertest'; const cookies = request.cookies; looks like typing is missing here |
|
This package doesn't come with types. Try |
|
Types have been merged into DefinitelyTyped. |
Add a convenient workflow for running assertions on cookie headers returned by the server. This code is largely copied from Gregory Langlais' package
expect-cookies(MIT License).Implements #855.
Example usage:
Supports:
.set- Assert that cookie and options are set..reset- Assert that cookie is set and was already set (in request headers)..new- Assert that cookie is set and was NOT already set (NOT in request headers)..renew- Assert that cookie is set with a strictly greaterexpiresormax-agethan the given value..contain- Assert that cookie is set with value and contains options..not- Call any cookies assertion method with "assert true" modifier set tofalse.Checklist