Skip to content

Commit b25abd4

Browse files
authored
Merge pull request #192 from quinnturner/test-getters-setters
Add failing test case for missing setters
2 parents deabf24 + 65231c2 commit b25abd4

File tree

5 files changed

+82
-19
lines changed

5 files changed

+82
-19
lines changed

.eslintrc.json

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
"es2021": true
55
},
66
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier"],
7-
"overrides": [],
87
"parser": "@typescript-eslint/parser",
98
"parserOptions": {
109
"ecmaVersion": "latest",
@@ -16,5 +15,14 @@
1615
"linebreak-style": ["error", "unix"],
1716
"quotes": ["error", "double"],
1817
"semi": ["error", "always"]
19-
}
18+
},
19+
"overrides": [
20+
{
21+
"files": ["*.cjs"],
22+
"rules": {
23+
"no-undef": "off",
24+
"@typescript-eslint/no-var-requires": "off"
25+
}
26+
}
27+
]
2028
}

.vscode/launch.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"version": "1.0.0",
3+
"configurations": [
4+
{
5+
"type": "node",
6+
"request": "launch",
7+
"name": "Jest: current file",
8+
"program": "${workspaceFolder}/node_modules/.bin/jest",
9+
"args": ["${fileBasenameNoExtension}"],
10+
"console": "integratedTerminal",
11+
"windows": {
12+
"program": "${workspaceFolder}/node_modules/jest/bin/jest"
13+
}
14+
}
15+
]
16+
}

jest-preset.cjs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
const ts_preset = require('ts-jest/presets/default-esm/jest-preset.js');
2-
const puppeteer_preset = require('jest-puppeteer/jest-preset.js');
1+
const ts_preset = require("ts-jest/presets/default-esm/jest-preset.js");
2+
const puppeteer_preset = require("jest-puppeteer/jest-preset.js");
33

4-
module.exports = Object.assign(
5-
ts_preset,
6-
puppeteer_preset
7-
);
4+
module.exports = Object.assign(ts_preset, puppeteer_preset);

jest-puppeteer.config.cjs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
module.exports = {
2-
launch: {
3-
dumpio: true,
4-
headless: process.env.HEADLESS !== 'false',
5-
},
6-
server: {
7-
command: 'npm run test-puppeteer-serve',
8-
port: 4444,
9-
launchTimeout: 10000,
10-
debug: true,
11-
},
12-
}
2+
launch: {
3+
dumpio: true,
4+
headless: process.env.HEADLESS !== "false",
5+
},
6+
server: {
7+
command: "npm run test-puppeteer-serve",
8+
port: 4444,
9+
launchTimeout: 10000,
10+
debug: true,
11+
},
12+
};
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import { ok } from "assert";
2+
import "ts-jest";
3+
import { Logger } from "../../src/index.js";
4+
import { mockConsoleLog } from "./helper.js";
5+
6+
class MissingSetter {
7+
get test(): string {
8+
return "test";
9+
}
10+
}
11+
12+
const missingSetter = {
13+
get test(): string {
14+
return "test";
15+
}
16+
}
17+
18+
describe("Getters and setters", () => {
19+
beforeEach(() => {
20+
mockConsoleLog(true, false);
21+
});
22+
test("[class] should not print getters", (): void => {
23+
const logger = new Logger({
24+
type: "hidden",
25+
});
26+
const missingSetterObj = new MissingSetter();
27+
28+
const result = logger.info(missingSetterObj);
29+
30+
ok(result);
31+
Object.keys(result).forEach((key) => {
32+
expect(key).not.toBe("test");
33+
});
34+
});
35+
test("[object] should print getters", (): void => {
36+
const logger = new Logger({
37+
type: "hidden",
38+
});
39+
const result = logger.info(missingSetter);
40+
expect(result).toContain("test");
41+
});
42+
});

0 commit comments

Comments
 (0)