cypress-fail-on-console-error 5.0.1 → 5.1.0
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 +10 -7
- package/dist/index.d.ts +5 -3
- package/dist/index.js +9 -1
- package/package.json +14 -14
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# cypress-fail-on-console-error
|
|
2
2
|
|
|
3
|
-
This Plugin observes `console.error()` function from [window object](https://developer.mozilla.org/de/docs/Web/API/Window). Cypress test will fail when the error
|
|
3
|
+
This Plugin observes `console.error()` function from [window object](https://developer.mozilla.org/de/docs/Web/API/Window). Cypress test will fail when the error conditions are met. For observing network errors please check out [cypress-fail-on-network-errors](https://www.npmjs.com/package/cypress-fail-on-network-errors).
|
|
4
4
|
|
|
5
5
|
### Installation
|
|
6
6
|
|
|
@@ -23,7 +23,7 @@ failOnConsoleError();
|
|
|
23
23
|
| Parameter | Default | <div style="width:300px">Description</div> |
|
|
24
24
|
|--- |--- |--- |
|
|
25
25
|
| `consoleMessages` | `[]` | Exclude console messages from throwing `AssertionError`. Types `RegExp` and `string` are accepted. Strings will be converted to regular expression. [RegExp.test()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test?retiredLocale=de) will be used for console message matching. Make sure to [escape special characters](https://javascript.info/regexp-escaping). When console message property `stacktrace` exists, then the whole stacktrace can be matched. |
|
|
26
|
-
| `consoleTypes` | `['error']` | Define console types for observation. `error`, `warn`
|
|
26
|
+
| `consoleTypes` | `['error']` | Define console types for observation. `error`, `warn`, `info`, `debug`, `trace , `table` are accepted values.
|
|
27
27
|
| `debug` | `false` | Enable debug logs for `consoleMessage_configConsoleMessage_match` and `consoleMessage_excluded` to cypress runner
|
|
28
28
|
|
|
29
29
|
<br/>
|
|
@@ -32,9 +32,12 @@ failOnConsoleError();
|
|
|
32
32
|
import failOnConsoleError, { Config } from 'cypress-fail-on-console-error';
|
|
33
33
|
|
|
34
34
|
const config: Config = {
|
|
35
|
-
consoleMessages: [
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
consoleMessages: [
|
|
36
|
+
'foo',
|
|
37
|
+
/^bar-regex.*/,
|
|
38
|
+
/^((?!include-console-messages).)*$/
|
|
39
|
+
],
|
|
40
|
+
consoleTypes: ['error', 'warn'],
|
|
38
41
|
};
|
|
39
42
|
|
|
40
43
|
failOnConsoleError(config);
|
|
@@ -45,11 +48,11 @@ Use `failOnConsoleError` functions `getConfig()` and `setConfig()` with your own
|
|
|
45
48
|
|
|
46
49
|
```js
|
|
47
50
|
// Simple example implementation
|
|
48
|
-
const { getConfig, setConfig } = failOnConsoleError(config);
|
|
51
|
+
const { getConfig, setConfig, ConsoleMessage } = failOnConsoleError(config);
|
|
49
52
|
|
|
50
53
|
Cypress.Commands.addAll({
|
|
51
54
|
getConsoleMessages: () => cy.wrap(getConfig().consoleMessages),
|
|
52
|
-
setConsoleMessages: (consoleMessages:
|
|
55
|
+
setConsoleMessages: (consoleMessages: ConsoleMessage[]) =>
|
|
53
56
|
setConfig({ ...getConfig(), consoleMessages });
|
|
54
57
|
```
|
|
55
58
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import * as sinon from 'sinon';
|
|
2
|
-
type ConsoleType = 'error' | 'warn' | 'info';
|
|
2
|
+
type ConsoleType = 'error' | 'warn' | 'info' | 'debug' | 'trace' | 'table';
|
|
3
|
+
type ConsoleMessage = string | RegExp;
|
|
3
4
|
interface Config {
|
|
4
|
-
consoleMessages?:
|
|
5
|
+
consoleMessages?: ConsoleMessage[];
|
|
5
6
|
consoleTypes?: ConsoleType[];
|
|
6
7
|
debug?: boolean;
|
|
7
8
|
}
|
|
8
9
|
export { Config };
|
|
9
10
|
export { ConsoleType };
|
|
11
|
+
export { ConsoleMessage };
|
|
10
12
|
export default function failOnConsoleError(_config?: Config): {
|
|
11
13
|
getConfig: () => Required<Config> | undefined;
|
|
12
14
|
setConfig: (_config: Config) => void;
|
|
@@ -17,6 +19,6 @@ export declare const createSpies: (config: Required<Config>, console: Console) =
|
|
|
17
19
|
export declare const resetSpies: (spies: Map<ConsoleType, sinon.SinonSpy>) => Map<ConsoleType, sinon.SinonSpy>;
|
|
18
20
|
export declare const getConsoleMessageIncluded: (spies: Map<ConsoleType, sinon.SinonSpy>, config: Required<Config>) => string | undefined;
|
|
19
21
|
export declare const findConsoleMessageIncluded: (spy: sinon.SinonSpy, config: Required<Config>) => string | undefined;
|
|
20
|
-
export declare const isConsoleMessageExcluded: (consoleMessage: string, configConsoleMessage:
|
|
22
|
+
export declare const isConsoleMessageExcluded: (consoleMessage: string, configConsoleMessage: ConsoleMessage, debug: boolean) => boolean;
|
|
21
23
|
export declare const callToString: (calls: any[]) => string;
|
|
22
24
|
export declare const cypressLogger: (name: string, message: any) => void;
|
package/dist/index.js
CHANGED
|
@@ -56,7 +56,14 @@ export const validateConfig = (config) => {
|
|
|
56
56
|
if (config.consoleTypes) {
|
|
57
57
|
chai.expect(config.consoleTypes).not.to.be.empty;
|
|
58
58
|
config.consoleTypes.forEach((consoleType) => {
|
|
59
|
-
chai.expect([
|
|
59
|
+
chai.expect([
|
|
60
|
+
'error',
|
|
61
|
+
'warn',
|
|
62
|
+
'info',
|
|
63
|
+
'debug',
|
|
64
|
+
'trace',
|
|
65
|
+
'table',
|
|
66
|
+
]).contains(consoleType);
|
|
60
67
|
});
|
|
61
68
|
}
|
|
62
69
|
};
|
|
@@ -72,6 +79,7 @@ export const createSpies = (config, console) => {
|
|
|
72
79
|
var _a;
|
|
73
80
|
let spies = new Map();
|
|
74
81
|
(_a = config.consoleTypes) === null || _a === void 0 ? void 0 : _a.forEach((consoleType) => {
|
|
82
|
+
//TODO: function table does not exists on node.Console
|
|
75
83
|
spies.set(consoleType, sinon.spy(console, consoleType));
|
|
76
84
|
});
|
|
77
85
|
return spies;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cypress-fail-on-console-error",
|
|
3
|
-
"version": "5.0
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"description": "fail cypress test on console error",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"lint": "tsc --noEmit && tsc -p ./test/tsconfig.json && tsc -p ./cypress/tsconfig.json",
|
|
15
15
|
"test": "npm run test:ut && npm run test:e2e && npm run test:cmp",
|
|
16
16
|
"test:ut": "vitest run unit.test.ts",
|
|
17
|
-
"test:e2e": "vitest run e2e.test.ts --test-timeout
|
|
18
|
-
"test:cmp": "vitest run component.test.ts --test-timeout
|
|
17
|
+
"test:e2e": "vitest run e2e.test.ts --test-timeout 120000",
|
|
18
|
+
"test:cmp": "vitest run component.test.ts --test-timeout 120000",
|
|
19
19
|
"verify": "npm run build && npm run lint && npm run ci:prettier && npm run test",
|
|
20
20
|
"ci:prettier": "prettier --check \"**/*\""
|
|
21
21
|
},
|
|
@@ -38,25 +38,25 @@
|
|
|
38
38
|
"homepage": "https://github.com/nils-hoyer/cypress-fail-on-console-error#readme",
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"chai": "^4.3.10",
|
|
41
|
-
"sinon": "^
|
|
41
|
+
"sinon": "^17.0.0",
|
|
42
42
|
"sinon-chai": "^3.7.0",
|
|
43
43
|
"type-detect": "^4.0.8"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@cypress/mount-utils": "^4.0.0",
|
|
47
|
-
"@types/chai": "4.3.
|
|
47
|
+
"@types/chai": "4.3.11",
|
|
48
48
|
"@types/expect": "24.3.0",
|
|
49
|
-
"@types/mocha": "10.0.
|
|
50
|
-
"@types/sinon": "
|
|
51
|
-
"@types/sinon-chai": "3.2.
|
|
52
|
-
"@types/type-detect": "4.0.
|
|
53
|
-
"cypress": "13.
|
|
49
|
+
"@types/mocha": "10.0.6",
|
|
50
|
+
"@types/sinon": "17.0.2",
|
|
51
|
+
"@types/sinon-chai": "3.2.12",
|
|
52
|
+
"@types/type-detect": "4.0.3",
|
|
53
|
+
"cypress": "13.6.2",
|
|
54
54
|
"mocha": "10.2.0",
|
|
55
55
|
"prettier": "3.0.3",
|
|
56
|
-
"prettier-plugin-organize-imports": "3.2.
|
|
56
|
+
"prettier-plugin-organize-imports": "3.2.4",
|
|
57
57
|
"rimraf": "5.0.5",
|
|
58
|
-
"typescript": "5.
|
|
59
|
-
"vite": "^
|
|
60
|
-
"vitest": "^0.
|
|
58
|
+
"typescript": "5.3.3",
|
|
59
|
+
"vite": "^5.0.0",
|
|
60
|
+
"vitest": "^1.0.0"
|
|
61
61
|
}
|
|
62
62
|
}
|