Skip to content

Jasmine test utility with automatic mock creation for interfaces and classes

Notifications You must be signed in to change notification settings

Typescript-TDD/jasmine-ts-auto-mock

Repository files navigation

Jasmine Ts Auto Mock

Actions Status

This is a library that extend ts-auto-mock to be used with jasmine

The intention of the library is to automatically assign spies to mocks giving you type safety

Requirements

typescript@^3.2.2

Installation

Examples

If you are using angular with typescript 3.7 you need to follow the solution in this issue:

angular/angular-cli#16071

Add this in the polyfill until angular support typescript 3.7

// @ts-ignore
window.__importDefault = function(mod) {
    return mod && mod.__esModule ? mod : { default: mod };
};

Usage

  1. create an interface
interface Interface {
    methodToMock: () => string
}
  1. create a mock
const mock: Interface = createMock<Interface>();
  1. get the method mock

You can get the method spy in 2 different ways

Through method

import { On, method } from "ts-auto-mock/extension";
const mockMethod: jasmine.Spy = On(mock).get(method(mock => mock.methodToMock));

Through string

import { On, method } from "ts-auto-mock/extension";
const mockMethod: jasmine.Spy = On(mock).get(method('methodToMock'));
  1. trigger the method
someMethodThatWillTriggerInterfacemethodToMock();
expect(mockMethod).toHaveBeenCalled();

Authors

License

This project is licensed under the MIT License

Releases

No releases published

Packages

No packages published