@shelf/jest-gremlin
v1.0.5
Published
Run your tests using Jest & Apache Tinkerpop Docker container
Downloads
162
Maintainers
Readme
jest-gremlin
Jest preset to run Gremlin server before tests
Usage
1. Have Docker installed!
Visit Docker to install Docker.
2. Install
$ yarn add @shelf/jest-gremlin --dev
3. Create jest.config.js
module.exports = {
preset: '@shelf/jest-gremlin',
};
If you have a custom jest.config.js
make sure you remove testEnvironment
property, otherwise it will conflict with the preset.
4. Create jest-gremlin-config.js
import cwd from 'cwd';
module.exports = {
port: 8182,
protocol: 'ws',
imageName: 'tinkerpop/gremlin-server', // or your custom prebuilt image
imagePort: 8182, // port on which gremlin server is running inside the container
containerName: 'gremlin-server', // or your custom container name that would be spin up
maxTries: 10, // how many times to try to connect to gremlin server ()
triesInterval: 1000, // interval between tries
};
5. PROFIT! Write tests
it();
Monorepo Support
By default the jest-gremlin-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-gremlin-config.js
file is not located at {cwd}/jest-gremlin-config.js
or you
are using nested jest projects
, you can define the environment variable JEST_GREMLIN_CONFIG
with the absolute path of the respective jest-gremlin-config.js
file.
Example Using JEST_GREMLIN_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_GREMLIN_CONFIG)`
process.env.JEST_GREMLIN_CONFIG = path.resolve(__dirname, './jest-gremlin-config');
module.exports = {
preset: '@shelf/jest-gremlin',
displayName: 'nested-project',
};
See Also
Publish
$ git checkout master
$ yarn version
$ yarn publish
$ git push origin master --tags
License
MIT © Shelf