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 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 function gets executed. For observing network errors please check out [cypress-fail-on-network-requests](https://www.npmjs.com/package/cypress-fail-on-network-request).
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` and `info` are accepted values.
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: ['foo', /^some bar-regex.*/],
36
- consoleTypes: ['error', 'warn', 'info'],
37
- debug: false,
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: (string | RegExp)[]) =>
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?: (string | RegExp)[];
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: string | RegExp, debug: boolean) => boolean;
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(['error', 'warn', 'info']).contains(consoleType);
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.1",
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 60000",
18
- "test:cmp": "vitest run component.test.ts --test-timeout 60000",
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": "^16.0.0",
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.8",
47
+ "@types/chai": "4.3.11",
48
48
  "@types/expect": "24.3.0",
49
- "@types/mocha": "10.0.2",
50
- "@types/sinon": "10.0.19",
51
- "@types/sinon-chai": "3.2.10",
52
- "@types/type-detect": "4.0.1",
53
- "cypress": "13.3.1",
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.3",
56
+ "prettier-plugin-organize-imports": "3.2.4",
57
57
  "rimraf": "5.0.5",
58
- "typescript": "5.2.2",
59
- "vite": "^4.4.6",
60
- "vitest": "^0.34.0"
58
+ "typescript": "5.3.3",
59
+ "vite": "^5.0.0",
60
+ "vitest": "^1.0.0"
61
61
  }
62
62
  }