codedependant / vscode-generate-jest-mocks

VS Code extension to automatically generate Jest mocks for your Javascript/Typescript files based on module usage.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

generate-jest-mocks

Automatically generate Jest mocks for your Javascript/Typescript files based on module usage.

Demo

Features

Consider the following file named create_user.js:

const api = require("api");
const track = require("track");
const { flush } = require("cache");

function main(user) {
  const userID = api.users.create(user);
  track("create_user", userID);
  flush(userID);
}

Running Generate Jest Mocks from the test file create_user.test.js will result in the following manual Jest mocks being generated:

jest.mock('api', () => ({
  users: {
    create: jest.fn(),
  }
});
jest.mock('track', () => jest.fn());
jest.mock('cache', () => ({ flush: jest.fn() }));

Or alternatively, when running Generate Jest Auto Mocks, Jest automocks can be generated:

jest.mock("api");
jest.mock("track");
jest.mock("cache");

It also handles ES6 and Typescript files. For:

import cache, {set} from 'cache';

set('foo', 'bar');
cache.flush();
}

the following will be generated:

jest.mock("cache", () => ({
  default: {
    flush: jest.fn(),
  },
  set: jest.fn(),
}));

Release Notes

Users appreciate release notes as you update your extension.

0.0.1

Initial release of generate-jest-mocks


How to Contribute

  1. Fork the repository
  2. Create a new branch for your feature or bug fix
  3. Write your code
  4. Write tests that cover your code as much as possible
  5. Run all tests and ensure they pass
  6. Submit a pull request

Please try to keep your pull request small and focused. This will make it much easier to review and accept.

About

VS Code extension to automatically generate Jest mocks for your Javascript/Typescript files based on module usage.

License:Apache License 2.0


Languages

Language:TypeScript 58.6%Language:JavaScript 41.4%