Merge pull request 'fix(tests): the error-handling suite would not compile, and nothing local said so (#307)' (#323) from fix/307-integration-typecheck into main
Reviewed-on: #323
This commit was merged in pull request #323.
This commit is contained in:
@@ -8,6 +8,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsc",
|
"build": "tsc",
|
||||||
|
"typecheck:tests": "tsc -p tsconfig.test.json --noEmit",
|
||||||
"lint": "eslint src scripts tests",
|
"lint": "eslint src scripts tests",
|
||||||
"start": "node dist/server.js",
|
"start": "node dist/server.js",
|
||||||
"dev": "tsx watch src/server.ts",
|
"dev": "tsx watch src/server.ts",
|
||||||
|
|||||||
@@ -34,7 +34,13 @@ const DB_FAILURE = 'invalid input syntax for type integer while reading items';
|
|||||||
* spy is not sensitive to how the module is transpiled.
|
* spy is not sensitive to how the module is transpiled.
|
||||||
*/
|
*/
|
||||||
function failNextQuery() {
|
function failNextQuery() {
|
||||||
return jest.spyOn(pool, 'query').mockRejectedValueOnce(new Error(DB_FAILURE));
|
// `as never` is the type system, not a shortcut. `pg` declares `query` with
|
||||||
|
// several overloads, and `jest.spyOn` resolves the mock's argument against
|
||||||
|
// the last of them, whose parameter list is empty — so the inferred type for
|
||||||
|
// a rejection value is `never` and nothing can be assigned to it. Rejecting
|
||||||
|
// is what all of the overloads do on failure; the cast only says which one to
|
||||||
|
// check against.
|
||||||
|
return jest.spyOn(pool, 'query').mockRejectedValueOnce(new Error(DB_FAILURE) as never);
|
||||||
}
|
}
|
||||||
|
|
||||||
describe('unexpected route failures', () => {
|
describe('unexpected route failures', () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user