jasmine-ts-auto-mock
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

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:

https://github.com/angular/angular-cli/issues/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

Package Sidebar

Install

npm i jasmine-ts-auto-mock

Weekly Downloads

308

Version

2.0.0

License

ISC

Unpacked Size

3.34 kB

Total Files

4

Last publish

Collaborators

  • uittorio
  • pmyl