velocious 1.0.668 → 1.0.669
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -6
- package/build/src/testing/expect-utils.d.ts +1 -51
- package/build/src/testing/expect-utils.d.ts.map +1 -1
- package/build/src/testing/expect-utils.js +2 -205
- package/build/src/testing/expect.d.ts +1 -171
- package/build/src/testing/expect.d.ts.map +1 -1
- package/build/src/testing/expect.js +2 -667
- package/build/src/testing/test.d.ts +1 -13
- package/build/src/testing/test.d.ts.map +1 -1
- package/build/src/testing/test.js +2 -14
- package/build/testing/expect-utils.js +1 -242
- package/build/testing/expect.js +1 -760
- package/build/testing/test.js +3 -14
- package/package.json +3 -4
- package/src/testing/expect-utils.js +1 -242
- package/src/testing/expect.js +1 -760
- package/src/testing/test.js +3 -14
- package/build/src/testing/base-expect.d.ts +0 -15
- package/build/src/testing/base-expect.d.ts.map +0 -1
- package/build/src/testing/base-expect.js +0 -16
- package/build/src/testing/expect-to-change.d.ts +0 -32
- package/build/src/testing/expect-to-change.d.ts.map +0 -1
- package/build/src/testing/expect-to-change.js +0 -46
- package/build/testing/base-expect.js +0 -17
- package/build/testing/expect-to-change.js +0 -55
- package/src/testing/base-expect.js +0 -17
- package/src/testing/expect-to-change.js +0 -55
package/src/testing/test.js
CHANGED
|
@@ -3,14 +3,17 @@
|
|
|
3
3
|
import {
|
|
4
4
|
afterAll,
|
|
5
5
|
afterEach,
|
|
6
|
+
arrayContaining,
|
|
6
7
|
beforeAll,
|
|
7
8
|
beforeEach,
|
|
8
9
|
configureTests,
|
|
9
10
|
defaultTestContext,
|
|
10
11
|
describe,
|
|
12
|
+
expect,
|
|
11
13
|
fdescribe,
|
|
12
14
|
fit,
|
|
13
15
|
it,
|
|
16
|
+
objectContaining,
|
|
14
17
|
test,
|
|
15
18
|
waitForEvent,
|
|
16
19
|
xdescribe,
|
|
@@ -18,8 +21,6 @@ import {
|
|
|
18
21
|
xtest
|
|
19
22
|
} from "@velocious/testing"
|
|
20
23
|
import EventEmitter from "../utils/event-emitter.js"
|
|
21
|
-
import Expect from "./expect.js"
|
|
22
|
-
import {arrayContaining, objectContaining} from "./expect-utils.js"
|
|
23
24
|
|
|
24
25
|
/** @typedef {(typeof defaultTestContext.registry.suites)[number]} PackageSuiteDeclaration */
|
|
25
26
|
|
|
@@ -32,18 +33,6 @@ import {arrayContaining, objectContaining} from "./expect-utils.js"
|
|
|
32
33
|
* @property {number} failedConsoleOutputMaxLines - Maximum failed console lines to print inline.
|
|
33
34
|
*/
|
|
34
35
|
|
|
35
|
-
/**
|
|
36
|
-
* Runs expect.
|
|
37
|
-
* @param {ReturnType<typeof JSON.parse>} arg - Arg.
|
|
38
|
-
* @returns {Expect} - The expect.
|
|
39
|
-
*/
|
|
40
|
-
function expect(arg) {
|
|
41
|
-
return new Expect(arg)
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
expect.objectContaining = objectContaining
|
|
45
|
-
expect.arrayContaining = arrayContaining
|
|
46
|
-
|
|
47
36
|
/** Velocious-owned awaited compatibility events. */
|
|
48
37
|
const testEvents = new EventEmitter()
|
|
49
38
|
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export default class BaseExpect {
|
|
2
|
-
/**
|
|
3
|
-
* Runs run before.
|
|
4
|
-
* @abstract
|
|
5
|
-
* @returns {Promise<void>} - Resolves when complete.
|
|
6
|
-
*/
|
|
7
|
-
runBefore(): Promise<void>;
|
|
8
|
-
/**
|
|
9
|
-
* Runs run after.
|
|
10
|
-
* @abstract
|
|
11
|
-
* @returns {Promise<void>} - Resolves when complete.
|
|
12
|
-
*/
|
|
13
|
-
runAfter(): Promise<void>;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=base-expect.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base-expect.d.ts","sourceRoot":"","sources":["../../../src/testing/base-expect.js"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B;;;;OAIG;IACG,SAAS,IAFF,OAAO,CAAC,IAAI,CAAC,CAEY;IAEtC;;;;OAIG;IACG,QAAQ,IAFD,OAAO,CAAC,IAAI,CAAC,CAEW;CACtC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
// @ts-check
|
|
2
|
-
export default class BaseExpect {
|
|
3
|
-
/**
|
|
4
|
-
* Runs run before.
|
|
5
|
-
* @abstract
|
|
6
|
-
* @returns {Promise<void>} - Resolves when complete.
|
|
7
|
-
*/
|
|
8
|
-
async runBefore() { }
|
|
9
|
-
/**
|
|
10
|
-
* Runs run after.
|
|
11
|
-
* @abstract
|
|
12
|
-
* @returns {Promise<void>} - Resolves when complete.
|
|
13
|
-
*/
|
|
14
|
-
async runAfter() { }
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1leHBlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVzdGluZy9iYXNlLWV4cGVjdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosTUFBTSxDQUFDLE9BQU8sT0FBTyxVQUFVO0lBQzdCOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsU0FBUyxLQUFzQixDQUFDO0lBRXRDOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsUUFBUSxLQUFzQixDQUFDO0NBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJhc2VFeHBlY3Qge1xuICAvKipcbiAgICogUnVucyBydW4gYmVmb3JlLlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIHJ1bkJlZm9yZSgpIHsgLyogZG8gbm90aGluZyAqLyB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcnVuIGFmdGVyLlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIHJ1bkFmdGVyKCkgeyAvKiBkbyBub3RoaW5nICovIH1cbn1cbiJdfQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import BaseExpect from "./base-expect.js";
|
|
2
|
-
export default class ExpectToChange extends BaseExpect {
|
|
3
|
-
expect: import("./expect.js").default;
|
|
4
|
-
changeCallback: () => Promise<number>;
|
|
5
|
-
count: number | undefined;
|
|
6
|
-
oldCount: number | undefined;
|
|
7
|
-
newCount: number | undefined;
|
|
8
|
-
/**
|
|
9
|
-
* Runs constructor.
|
|
10
|
-
* @param {object} args - Options object.
|
|
11
|
-
* @param {() => Promise<number>} args.changeCallback - Change callback.
|
|
12
|
-
* @param {import("./expect.js").default} args.expect - Expect.
|
|
13
|
-
*/
|
|
14
|
-
constructor({ changeCallback, expect, ...restArgs }: {
|
|
15
|
-
changeCallback: () => Promise<number>;
|
|
16
|
-
expect: import("./expect.js").default;
|
|
17
|
-
});
|
|
18
|
-
/**
|
|
19
|
-
* Runs by.
|
|
20
|
-
* @param {number} count - Count value.
|
|
21
|
-
* @returns {import("./expect.js").default} - The by.
|
|
22
|
-
*/
|
|
23
|
-
by(count: number): import("./expect.js").default;
|
|
24
|
-
runBefore(): Promise<void>;
|
|
25
|
-
runAfter(): Promise<void>;
|
|
26
|
-
/**
|
|
27
|
-
* Runs execute.
|
|
28
|
-
* @returns {Promise<void>} - Resolves when complete.
|
|
29
|
-
*/
|
|
30
|
-
execute(): Promise<void>;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=expect-to-change.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"expect-to-change.d.ts","sourceRoot":"","sources":["../../../src/testing/expect-to-change.js"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,kBAAkB,CAAA;AAGzC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,UAAU;IAW7C,MAAM;IACN,cAAc,QARJ,OAAO,CAAC,MAAM,CAAC;IAiBzB,KAAK;IAML,QAAQ;IAIR,QAAQ;IA9Bf;;;;;OAKG;IACH,YAAY,EAAC,cAAc,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAC,EAH9C;QAAoC,cAAc,EAA1C,MAAM,OAAO,CAAC,MAAM,CAAC,CAC7B;QAA4C,MAAM,EAA1C,OAAO,aAAa,EAAE,OAAO,CACvC;KACgD,EAMhD;IAED;;;;OAIG;IACH,EAAE,CAAC,KAAK,EAHG,MAGH,GAFK,OAAO,aAAa,EAAE,OAAO,CAMzC;IAEK,SAAS,kBAEd;IAEK,QAAQ,kBAEb;IAED;;;OAGG;IACG,OAAO,IAFA,OAAO,CAAC,IAAI,CAAC,CAYzB;CACF"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
// @ts-check
|
|
2
|
-
import BaseExpect from "./base-expect.js";
|
|
3
|
-
import restArgsError from "../utils/rest-args-error.js";
|
|
4
|
-
export default class ExpectToChange extends BaseExpect {
|
|
5
|
-
/**
|
|
6
|
-
* Runs constructor.
|
|
7
|
-
* @param {object} args - Options object.
|
|
8
|
-
* @param {() => Promise<number>} args.changeCallback - Change callback.
|
|
9
|
-
* @param {import("./expect.js").default} args.expect - Expect.
|
|
10
|
-
*/
|
|
11
|
-
constructor({ changeCallback, expect, ...restArgs }) {
|
|
12
|
-
super();
|
|
13
|
-
restArgsError(restArgs);
|
|
14
|
-
this.expect = expect;
|
|
15
|
-
this.changeCallback = changeCallback;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Runs by.
|
|
19
|
-
* @param {number} count - Count value.
|
|
20
|
-
* @returns {import("./expect.js").default} - The by.
|
|
21
|
-
*/
|
|
22
|
-
by(count) {
|
|
23
|
-
this.count = count;
|
|
24
|
-
return this.expect;
|
|
25
|
-
}
|
|
26
|
-
async runBefore() {
|
|
27
|
-
this.oldCount = await this.changeCallback();
|
|
28
|
-
}
|
|
29
|
-
async runAfter() {
|
|
30
|
-
this.newCount = await this.changeCallback();
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Runs execute.
|
|
34
|
-
* @returns {Promise<void>} - Resolves when complete.
|
|
35
|
-
*/
|
|
36
|
-
async execute() {
|
|
37
|
-
if (this.newCount === undefined || this.oldCount === undefined) {
|
|
38
|
-
throw new Error("ExpectToChange not executed properly");
|
|
39
|
-
}
|
|
40
|
-
const difference = this.newCount - this.oldCount;
|
|
41
|
-
if (difference != this.count) {
|
|
42
|
-
throw new Error(`Expected to change by ${this.count} but changed by ${difference}`);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwZWN0LXRvLWNoYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0aW5nL2V4cGVjdC10by1jaGFuZ2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sVUFBVSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sYUFBYSxNQUFNLDZCQUE2QixDQUFBO0FBRXZELE1BQU0sQ0FBQyxPQUFPLE9BQU8sY0FBZSxTQUFRLFVBQVU7SUFDcEQ7Ozs7O09BS0c7SUFDSCxZQUFZLEVBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxHQUFHLFFBQVEsRUFBQztRQUMvQyxLQUFLLEVBQUUsQ0FBQTtRQUNQLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUV2QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQTtJQUN0QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEVBQUUsQ0FBQyxLQUFLO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7UUFFbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFBO0lBQ3BCLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUztRQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUE7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRO1FBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLE9BQU87UUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDL0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFBO1FBQ3pELENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUE7UUFFaEQsSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLElBQUksQ0FBQyxLQUFLLG1CQUFtQixVQUFVLEVBQUUsQ0FBQyxDQUFBO1FBQ3JGLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IEJhc2VFeHBlY3QgZnJvbSBcIi4vYmFzZS1leHBlY3QuanNcIlxuaW1wb3J0IHJlc3RBcmdzRXJyb3IgZnJvbSBcIi4uL3V0aWxzL3Jlc3QtYXJncy1lcnJvci5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV4cGVjdFRvQ2hhbmdlIGV4dGVuZHMgQmFzZUV4cGVjdCB7XG4gIC8qKlxuICAgKiBSdW5zIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0geygpID0+IFByb21pc2U8bnVtYmVyPn0gYXJncy5jaGFuZ2VDYWxsYmFjayAtIENoYW5nZSBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL2V4cGVjdC5qc1wiKS5kZWZhdWx0fSBhcmdzLmV4cGVjdCAtIEV4cGVjdC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtjaGFuZ2VDYWxsYmFjaywgZXhwZWN0LCAuLi5yZXN0QXJnc30pIHtcbiAgICBzdXBlcigpXG4gICAgcmVzdEFyZ3NFcnJvcihyZXN0QXJncylcblxuICAgIHRoaXMuZXhwZWN0ID0gZXhwZWN0XG4gICAgdGhpcy5jaGFuZ2VDYWxsYmFjayA9IGNoYW5nZUNhbGxiYWNrXG4gIH1cblxuICAvKipcbiAgICogUnVucyBieS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGNvdW50IC0gQ291bnQgdmFsdWUuXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuL2V4cGVjdC5qc1wiKS5kZWZhdWx0fSAtIFRoZSBieS5cbiAgICovXG4gIGJ5KGNvdW50KSB7XG4gICAgdGhpcy5jb3VudCA9IGNvdW50XG5cbiAgICByZXR1cm4gdGhpcy5leHBlY3RcbiAgfVxuXG4gIGFzeW5jIHJ1bkJlZm9yZSgpIHtcbiAgICB0aGlzLm9sZENvdW50ID0gYXdhaXQgdGhpcy5jaGFuZ2VDYWxsYmFjaygpXG4gIH1cblxuICBhc3luYyBydW5BZnRlcigpIHtcbiAgICB0aGlzLm5ld0NvdW50ID0gYXdhaXQgdGhpcy5jaGFuZ2VDYWxsYmFjaygpXG4gIH1cblxuICAvKipcbiAgICogUnVucyBleGVjdXRlLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgYXN5bmMgZXhlY3V0ZSgpIHtcbiAgICBpZiAodGhpcy5uZXdDb3VudCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMub2xkQ291bnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0VG9DaGFuZ2Ugbm90IGV4ZWN1dGVkIHByb3Blcmx5XCIpXG4gICAgfVxuXG4gICAgY29uc3QgZGlmZmVyZW5jZSA9IHRoaXMubmV3Q291bnQgLSB0aGlzLm9sZENvdW50XG5cbiAgICBpZiAoZGlmZmVyZW5jZSAhPSB0aGlzLmNvdW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIHRvIGNoYW5nZSBieSAke3RoaXMuY291bnR9IGJ1dCBjaGFuZ2VkIGJ5ICR7ZGlmZmVyZW5jZX1gKVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
// @ts-check
|
|
2
|
-
|
|
3
|
-
export default class BaseExpect {
|
|
4
|
-
/**
|
|
5
|
-
* Runs run before.
|
|
6
|
-
* @abstract
|
|
7
|
-
* @returns {Promise<void>} - Resolves when complete.
|
|
8
|
-
*/
|
|
9
|
-
async runBefore() { /* do nothing */ }
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Runs run after.
|
|
13
|
-
* @abstract
|
|
14
|
-
* @returns {Promise<void>} - Resolves when complete.
|
|
15
|
-
*/
|
|
16
|
-
async runAfter() { /* do nothing */ }
|
|
17
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
// @ts-check
|
|
2
|
-
|
|
3
|
-
import BaseExpect from "./base-expect.js"
|
|
4
|
-
import restArgsError from "../utils/rest-args-error.js"
|
|
5
|
-
|
|
6
|
-
export default class ExpectToChange extends BaseExpect {
|
|
7
|
-
/**
|
|
8
|
-
* Runs constructor.
|
|
9
|
-
* @param {object} args - Options object.
|
|
10
|
-
* @param {() => Promise<number>} args.changeCallback - Change callback.
|
|
11
|
-
* @param {import("./expect.js").default} args.expect - Expect.
|
|
12
|
-
*/
|
|
13
|
-
constructor({changeCallback, expect, ...restArgs}) {
|
|
14
|
-
super()
|
|
15
|
-
restArgsError(restArgs)
|
|
16
|
-
|
|
17
|
-
this.expect = expect
|
|
18
|
-
this.changeCallback = changeCallback
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Runs by.
|
|
23
|
-
* @param {number} count - Count value.
|
|
24
|
-
* @returns {import("./expect.js").default} - The by.
|
|
25
|
-
*/
|
|
26
|
-
by(count) {
|
|
27
|
-
this.count = count
|
|
28
|
-
|
|
29
|
-
return this.expect
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
async runBefore() {
|
|
33
|
-
this.oldCount = await this.changeCallback()
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
async runAfter() {
|
|
37
|
-
this.newCount = await this.changeCallback()
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Runs execute.
|
|
42
|
-
* @returns {Promise<void>} - Resolves when complete.
|
|
43
|
-
*/
|
|
44
|
-
async execute() {
|
|
45
|
-
if (this.newCount === undefined || this.oldCount === undefined) {
|
|
46
|
-
throw new Error("ExpectToChange not executed properly")
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
const difference = this.newCount - this.oldCount
|
|
50
|
-
|
|
51
|
-
if (difference != this.count) {
|
|
52
|
-
throw new Error(`Expected to change by ${this.count} but changed by ${difference}`)
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
// @ts-check
|
|
2
|
-
|
|
3
|
-
export default class BaseExpect {
|
|
4
|
-
/**
|
|
5
|
-
* Runs run before.
|
|
6
|
-
* @abstract
|
|
7
|
-
* @returns {Promise<void>} - Resolves when complete.
|
|
8
|
-
*/
|
|
9
|
-
async runBefore() { /* do nothing */ }
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Runs run after.
|
|
13
|
-
* @abstract
|
|
14
|
-
* @returns {Promise<void>} - Resolves when complete.
|
|
15
|
-
*/
|
|
16
|
-
async runAfter() { /* do nothing */ }
|
|
17
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
// @ts-check
|
|
2
|
-
|
|
3
|
-
import BaseExpect from "./base-expect.js"
|
|
4
|
-
import restArgsError from "../utils/rest-args-error.js"
|
|
5
|
-
|
|
6
|
-
export default class ExpectToChange extends BaseExpect {
|
|
7
|
-
/**
|
|
8
|
-
* Runs constructor.
|
|
9
|
-
* @param {object} args - Options object.
|
|
10
|
-
* @param {() => Promise<number>} args.changeCallback - Change callback.
|
|
11
|
-
* @param {import("./expect.js").default} args.expect - Expect.
|
|
12
|
-
*/
|
|
13
|
-
constructor({changeCallback, expect, ...restArgs}) {
|
|
14
|
-
super()
|
|
15
|
-
restArgsError(restArgs)
|
|
16
|
-
|
|
17
|
-
this.expect = expect
|
|
18
|
-
this.changeCallback = changeCallback
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Runs by.
|
|
23
|
-
* @param {number} count - Count value.
|
|
24
|
-
* @returns {import("./expect.js").default} - The by.
|
|
25
|
-
*/
|
|
26
|
-
by(count) {
|
|
27
|
-
this.count = count
|
|
28
|
-
|
|
29
|
-
return this.expect
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
async runBefore() {
|
|
33
|
-
this.oldCount = await this.changeCallback()
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
async runAfter() {
|
|
37
|
-
this.newCount = await this.changeCallback()
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Runs execute.
|
|
42
|
-
* @returns {Promise<void>} - Resolves when complete.
|
|
43
|
-
*/
|
|
44
|
-
async execute() {
|
|
45
|
-
if (this.newCount === undefined || this.oldCount === undefined) {
|
|
46
|
-
throw new Error("ExpectToChange not executed properly")
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
const difference = this.newCount - this.oldCount
|
|
50
|
-
|
|
51
|
-
if (difference != this.count) {
|
|
52
|
-
throw new Error(`Expected to change by ${this.count} but changed by ${difference}`)
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|