@universal-packages/core-jest
v1.4.1
Published
Jest tooling for universal core
Downloads
9,749
Readme
Core Jest
Jest tooling for Universal Core testing.
Install
npm install @universal-packages/core-jest
npm install @universal-packages/core
Setup
Add the following to your jest.config.js
or where you configure Jest:
module.exports = {
setupFilesAfterEnv: ['@universal-packages/core-jest']
}
Jest Global
coreJest.runApp(name: string, [options: Object])
Run an app for all test cases in file and stop it after all tests are done.
coreJest.runApp('web-server')
it('should return the todo list', async () => {
const result = fetch('http://localhost:4000/todos')
expect(result.json()).toEqual({ todos: [] })
})
Options
args
Object
Arguments to pass to the app.coreConfigOverride
Object
Override the core config for the run.
coreJest.runBare([options: Object])
Load core modules and let them be available for code that can be tested without running an app or task.
coreJest.runBare()
it('should be able to use global modules', async () => {
const result = await MyService.doSomething()
expect(result).toEqual('something')
})
Options
coreConfigOverride
Object
Override the core config for the run.
coreJest.execTask(name: string, [options: Object])
Runs a task on the spot use this per test case that needs to test what the task did.
it('should do something', async () => {
await coreJest.execTask('maintain', 'deleted-users', ['fast'])
expect(User.deleted().count()).toEqual(0)
})
Options
args
Object
Arguments to pass to the task.directive
string
The directive to run the task with.directiveOptions
string[]
The directive options to run the task with.coreConfigOverride
Object
Override the core config for the run.
coreJest.abortTask()
Aborts the task that is currently running.
it('should abort the task', async () => {
coreJest.execTask('maintain', 'deleted-users', ['fast'])
await coreJest.abortTask()
expect(User.deleted().count()).toEqual(1)
})
coreJest.runInitializer(name: string, [options: Object])
Runs an initializer on the spot use this per test case that needs to test what the initializer did.
it('should do something', async () => {
await coreJest.runInitializer('library-initializer')
expect(fs.existsSync('file.txt')).toEqual(true)
})
Options
args
Object
Arguments to pass to the initializer.coreConfigOverride
Object
Override the core config for the run.locationOverride
string
Initializers are fetched from thenode_modules
folder by default. For testing this is change to the,/src
folder. Since this is used for library development.
Typescript
In order for typescript to see the global types you need to reference the types somewhere in your project, normally ./src/globals.d.ts
.
/// <reference types="@universal-packages/core-jest" />
This library is developed in TypeScript and shipped fully typed.
Contributing
The development of this library happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving this library.