@shelf/jest-postgres v1.2.1
jest-postgres

Jest preset to run Postgres server
Test Postgres using only this jest plugin (no DB mocks/Docker)!
Usage
0. Install
$ yarn add @shelf/jest-postgres --dev1. Create jest.config.js
module.exports = {
preset: '@shelf/jest-postgres',
};If you have a custom jest.config.js make sure you remove testEnvironment property, otherwise it will conflict with the preset.
2. Create jest-postgres-config.js
import cwd from 'cwd';
module.exports = {
seedPath: `${cwd()}/test/seed.sql`,
version: 14,
port: 5555,
};Find seed.sql example in ./test folder of this repo, view postgres-local for more params.
4. PROFIT! Write tests
it();Monorepo Support
By default the jest-postgres-config.js is read from cwd directory, but this might not be
suitable for monorepos with nested jest projects
with nested jest.config.* files nested in subdirectories.
If your jest-postgres-config.js file is not located at {cwd}/jest-postgres-config.js or you
are using nested jest projects, you can define the environment variable JEST_POSTGRES_CONFIG
with the absolute path of the respective jest-postgres-config.js file.
Example Using JEST_POSTGRES_CONFIG in nested project
// src/nested/project/jest.config.js
const path = require('path');
// Define path of project level config - extension not required as file will be imported
// via `require(process.env.JEST_POSTGRES_CONFIG)`
process.env.JEST_POSTGRES_CONFIG = path.resolve(__dirname, './jest-postgres-config');
module.exports = {
preset: '@shelf/jest-postgres'
displayName: 'nested-project',
};See Also
Publish
$ git checkout master
$ yarn version
$ yarn publish
$ git push origin master --tagsLicense
MIT © Shelf