UNPKG

@trinitymirrordigital/dragonfly-jest-config

Version:
40 lines (35 loc) 1.14 kB
const isElement = require('lodash/isElement'); // eslint-disable-line const { CreateMatcher } = require('@djforth/jest-matchers-core'); module.exports = { toHaveAttribute: CreateMatcher( (actual, expected, attrs) => { if (!isElement(actual)) return false; if (!actual.hasAttribute(expected)) return false; return actual.getAttribute(expected) === attrs[0]; }, { fail: `Expected element have attribute :expected = :attrs got :actual`, succ: `element has attribute :expected = :attrs`, }, ), toHaveTextContent: CreateMatcher( (actual, expected) => { if (!isElement(actual)) return false; return !!actual.textContent.match(expected); }, { fail: `Expected element have content :expected got :actual`, succ: `element has content :expected`, }, ), toHaveCssClass: CreateMatcher( (actual, expected) => { if (!isElement(actual)) return false; return actual.classList.contains(expected); }, { fail: `Expected element have css class :expected got :actual`, succ: `element has css class :expected`, }, ), };