Skip to content
Preset for testing Gatsby sites using Jest.
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.dependabot
__tests__
typescript
.gitignore
.travis.yml
LICENSE
README.md
jest-preset.js
jest.config.js
loadershim.js
package-lock.json
package.json
preprocess.js

README.md

jest-preset-gatsby

Build Status npm version Mentioned in Awesome Jest

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.

Installation

Install preset using npm:

npm install --save-dev jest-preset-gatsby

or yarn:

yarn add --dev jest-preset-gatsby

Usage

Configure Jest to use the preset in jest.config.js:

module.exports = {
  preset: "jest-preset-gatsby"
};

or package.json:

{
  "jest": {
    "preset": "jest-preset-gatsby"
  }
}

Using in a TypeScript Project

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"
  }
}

Mocking Gatsby Module

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()
};

Related Packages

License

Copyright 2019 Kepler Sticka-Jones. Licensed MIT

You can’t perform that action at this time.