Skip to content

ts-graphviz/jest-graphviz

Repository files navigation

GitHub Action npm version License: MIT code style: prettier Test Coverage

jest-graphviz

A plugin for jest that supports graphviz integration.

Installation

The plugin can then be installed using npm:

NPM

yarn

yarn add -D jest-graphviz

npm

npm install --save-dev jest-graphviz

Configuration

Import jest-graphviz with the script specified in setupFilesAfterEnv.

Example

jest.config.js

module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'node',
  verbose: true,
  collectCoverage: true,
  setupFilesAfterEnv: [
    // Add this.
    '<rootDir>/config/jest/setup-jest.ts',
  ],
};

config/jest/setup-jest.ts

import 'jest-graphviz';

Requirement

This extension requires Graphviz. If you don't have it installed, install it herehere.

Usage

toBeValidDot

describe('toBeValidDot test', () => {
  it('matcher works', () => {
    const dot = 'digraph g { a -> b; }';
    expect(dot).toBeValidDot();
  });

  it('invalid dot', () => {
    const dot = 'invalid';
    expect(dot).not.toBeValidDot();
  });
});

toBeValidDotAndMatchSnapshot

describe('toBeValidDotAndMatchSnapshot test', () => {
  test('matcher works', () => {
    const dot = 'digraph g { a -> b; }';
    expect(dot).toBeValidDotAndMatchSnapshot();
  });
});

toMatchDotJsonSnapshot

describe('toMatchDotJsonSnapshot test', () => {
  test('matcher works', () => {
    const dot = 'digraph g { a -> b; }';
    expect(dot).toMatchDotJsonSnapshot();
  });
});

It depends on the JSON output format added in Graphviz 2.40.0.

See Also

Graphviz-dot Test and Integration

License

This software is released under the MIT License, see LICENSE.

Author

kamiazya(Yuki Yamazaki)

ko-fi