Preset for testing Gatsby sites using Jest, based off the official documentation on testing Gatsby with Jest. Compatible with both JavaScript and TypeScript codebases.
Warning: Does Not Include gatsby
module mocks.
Install preset using npm:
npm install --save-dev jest-preset-gatsby
or yarn:
yarn add --dev jest-preset-gatsby
Configure Jest to use the preset in jest.config.js
:
module.exports = {
preset: "jest-preset-gatsby",
};
or package.json
:
{
"jest": {
"preset": "jest-preset-gatsby"
}
}
This preset also includes a preset for TypeScript projects; configure Jest to use it in jest.config.js
:
module.exports = {
preset: "jest-preset-gatsby/typescript",
};
or package.json
:
{
"jest": {
"preset": "jest-preset-gatsby/typescript"
}
}
This package does not include mocks for the gatsby
module. In order to sufficiently test your project your should probably mock the gatsby
module, add the following at __mocks__/gatsby.js
if you're in need of one:
const React = require("react");
const gatsby = jest.requireActual("gatsby");
module.exports = {
...gatsby,
graphql: jest.fn(),
Link: jest.fn().mockImplementation(
// these props are invalid for an `a` tag
({
activeClassName,
activeStyle,
getProps,
innerRef,
partiallyActive,
ref,
replace,
to,
...rest
}) =>
React.createElement("a", {
...rest,
href: to,
})
),
StaticQuery: jest.fn(),
useStaticQuery: jest.fn(),
};
jest-runner-prettier
- Use Jest to check your codebase againstprettier
jest-runner-stylelint
- Use Jest to check your styles withstylelint
jest-runner-eslint
- Use Jest to check your code witheslint
jest-raw-loader
- Load the raw content of files in Jest, replicating the behavior ofwebpack
'sraw-loader
Copyright Kepler Sticka-Jones 2019-2021. Licensed MIT