chai-as-promised 7.1.0 → 7.1.2
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +13 -2
- package/package.json +4 -4
package/README.md
CHANGED
@@ -83,9 +83,9 @@ return assert.isFulfilled(promise, "optional message");
|
|
83
83
|
return assert.becomes(promise, "foo", "optional message");
|
84
84
|
return assert.doesNotBecome(promise, "foo", "optional message");
|
85
85
|
|
86
|
-
return assert.isRejected(promise, "optional message");
|
87
86
|
return assert.isRejected(promise, Error, "optional message");
|
88
|
-
return assert.isRejected(promise, /error message matcher/, "optional message");
|
87
|
+
return assert.isRejected(promise, /error message regex matcher/, "optional message");
|
88
|
+
return assert.isRejected(promise, "substring to search error message for", "optional message");
|
89
89
|
```
|
90
90
|
|
91
91
|
### Progress Callbacks
|
@@ -179,6 +179,17 @@ it("should change the state", function (done) {
|
|
179
179
|
|
180
180
|
Notice how `.notify(done)` is hanging directly off of `.should`, instead of appearing after a promise assertion. This indicates to Chai as Promised that it should pass fulfillment or rejection directly through to the testing framework. Thus, the above code will fail with a Chai as Promised error (`"expected promise to be fulfilled…"`) if `promise` is rejected, but will fail with a simple Chai error (`expected "before" to equal "after"`) if `otherState` does not change.
|
181
181
|
|
182
|
+
### Working with `async`/`await` and Promise-Friendly Test Runners
|
183
|
+
|
184
|
+
Since any assertion that must wait on a promise returns a promise itself, if you're able to use `async`/`await` and your test runner supports returning a promise from test methods, you can await assertions in tests. In many cases you can avoid using Chai as Promised at all by performing a synchronous assertion after an `await`, but awaiting `rejectedWith` is often more convenient than using `try`/`catch` blocks without Chai as Promised:
|
185
|
+
|
186
|
+
```javascript
|
187
|
+
it('should work well with async/await', async () => {
|
188
|
+
(await Promise.resolve(42)).should.equal(42)
|
189
|
+
await Promise.reject(new Error()).should.be.rejectedWith(Error);
|
190
|
+
});
|
191
|
+
```
|
192
|
+
|
182
193
|
### Multiple Promise Assertions
|
183
194
|
|
184
195
|
To perform assertions on multiple promises, use `Promise.all` to combine multiple Chai as Promised assertions:
|
package/package.json
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
"promises",
|
12
12
|
"promises-aplus"
|
13
13
|
],
|
14
|
-
"version": "7.1.
|
14
|
+
"version": "7.1.2",
|
15
15
|
"author": "Domenic Denicola <d@domenic.me> (https://domenic.me)",
|
16
16
|
"license": "WTFPL",
|
17
17
|
"repository": "domenic/chai-as-promised",
|
@@ -26,14 +26,14 @@
|
|
26
26
|
"cover": "istanbul cover node_modules/mocha/bin/_mocha && opener ./coverage/lcov-report/lib/chai-as-promised.js.html"
|
27
27
|
},
|
28
28
|
"dependencies": {
|
29
|
-
"check-error": "^1.0.2"
|
30
|
-
"eslint": "^3.19.0"
|
29
|
+
"check-error": "^1.0.2"
|
31
30
|
},
|
32
31
|
"peerDependencies": {
|
33
|
-
"chai": ">= 2.1.2 <
|
32
|
+
"chai": ">= 2.1.2 < 6"
|
34
33
|
},
|
35
34
|
"devDependencies": {
|
36
35
|
"chai": "^4.0.2",
|
36
|
+
"eslint": "^3.19.0",
|
37
37
|
"istanbul": "0.4.5",
|
38
38
|
"mocha": "^3.4.2"
|
39
39
|
}
|