1.2.1 • Published 5 months ago

@shelf/jest-postgres v1.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

jest-postgres CircleCI npm.io npm (scoped)

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 --dev

1. 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 --tags

License

MIT © Shelf

1.2.1

5 months ago

1.2.0

9 months ago

1.1.0

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago