jest-plugin-its

'subject' and 'its' implementations from RSpec in Jest.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
jest-plugin-its
2.9.06 years ago7 years agoMinified + gzip package size for jest-plugin-its in KB

Readme

jest-plugin-its
npm npm npm
Adds subject and its implementations from RSpec to Jest.

Getting Started

Install jest-plugin-its using yarn:
yarn add --dev jest-plugin-its

Motivation

Usage

If you want, you can import its and subject for each test file via:
import {its, subject} from 'jest-plugin-its';

If you want to install its and subject as globals, you can modify the jest section of your package.json to include:
"jest": {
  "setupFiles": [
    "jest-plugin-its/setup"
  ]
},

Example

Here's an example that tests the implementation of its:
import {its, subject} from '../';

describe('its', () => {
  describe('with primitives', () => {
    subject(() => ({a: 1, b: 2}));
    its('a', () => isExpected.toEqual(1));
    its('b', () => isExpected.toEqual(2));
  });

  describe('with functions', () => {
    subject(() => ({a: () => 1, b: () => 2}));
    its('a', () => isExpected.toEqual(1));
    its('b', () => isExpected.toEqual(2));
  });

  describe('with nested properties', () => {
    subject(() => ({a: {b: {c: 1, d: 2}}}));
    its('a.b.c', () => isExpected.toEqual(1));
    its('a.b.d', () => isExpected.toEqual(2));
  });
});