2.4.0 • Published 3 years ago

@djforth/jest-matchers-core v2.4.0

Weekly downloads
138
License
MIT
Repository
github
Last release
3 years ago

jest-matchers

Build Status

Custom matcher for testing jest

Install

yarn add -D @djforth/jest-matchers

Adding to jest-matcher to jest config

In your jest config add the following:

{
"setupTestFrameworkScriptFile": "@djforth/jest-matchers",
}

Matchers:

This includes Jasmine-matchers (which work with jest), see https://github.com/JamieMason/Jasmine-Matchers for details of matchers

Immutable Matchers

Matchers for Immutable JS

MatcherExample
toBeImmutableMapexpect(Immutable.Map()).toBeImmutableMap();
toBeImmutableListexpect(Immutable.List()).toBeImmutableList();
toBeImmutableOrderedMapexpect(Immutable.OrderedMap()).toBeImmutableOrderedMap();
equalsImmutableexpect(Immutable.Map()).equalsImmutable(Immutable.Map());
hasImmutableKeyexpect(Immutable.Map()).hasImmutableKey(Immutable.Map());

Moment Matchers

Matchers for Moment JS. Based on moments query methods

MatcherExample
toBeMomentexpect(moment()).toBeMoment();
equalsMomentexpect(moment()).equalsMoment(moment());
toBeAfterexpect(moment('28-01-2013')).toBeAfter(moment('27-01-2013'));
toBeBeforeexpect(moment('28-01-2013')).toBeBefore(moment('29-01-2013'));
toBeSameOrAfterexpect(moment('28-01-2013')).toBeSameOrAfter(moment('28-01-2013'));
toBeSameOrBeforeexpect(moment('28-01-2013')).toBeSameOrBefore(moment('28-01-2013'));
toBeBetweenexpect(moment('28-01-2013')).toBeBetween({start: moment('27-01-2013'), finish: moment('29-01-2013')}));

Element matchers

MatcherExample
toBeElementexpect(document.createElement('div')).toBeElement();
toHaveAttributeexpect(document.createElement('div')).toHaveAttribute('aria-hidden', 'false');
toHaveTextContentexpect(document.createElement('div')).toHaveTextContent('Some text');
toHaveCssClassexpect(document.createElement('div')).toHaveCssClass('some-class');

Other Matchers

MatcherExample
toBeElementexpect(document.createElement('div')).toBeElement();
hasKeyexpect({foo: 'bar'}).hasKey('foo');