Sha256: 797f32307151b05bf9d349f1e6ca83d6e751c032129ca308fd591cb909f3917a

Contents?: true

Size: 1.33 KB

Versions: 1009

Compression:

Stored size: 1.33 KB

Contents

/* This file provides the base for tests */

import React from 'react'
import { render, screen } from '@testing-library/react'
import '@testing-library/jest-dom/extend-expect'

// Accessbility
import { axe, toHaveNoViolations } from 'jest-axe'
expect.extend(toHaveNoViolations)

/*
  We can complicate this wrapper as needed.
  https://testing-library.com/docs/react-testing-library/setup
*/
// eslint-disable-next-line react/prop-types
const TestApp = ({ children }) => {
  return (
    <>
      { children }
    </>
  )
}

const customRender = (ui, options) =>
  render(ui, { wrapper: TestApp, ...options })

export * from '@testing-library/react'
export { customRender as render }

export const SCREEN_SIZES = ["xs", "sm", "md", "lg", "xl"]

export const renderKit = (Kit, props = {}, newProps = {}) => {
  const kitProps = { ...props, ...newProps }
  render(<Kit {...kitProps} />)
  return screen.getByTestId(kitProps.data.testid)
}

export const ensureAccessible = async (Kit, props = {}, newProps = {}) => {
  const kitProps = { ...props, ...newProps }
  render(<Kit {...kitProps} />)
  expect(await axe(screen.getByTestId(kitProps.data.testid))).toHaveNoViolations()
}

export const appendAlert = (message) => {
  const alertNode = document.createElement('div')
  alertNode.innerHTML = message
  document.querySelector('body').appendChild(alertNode)
}

Version data entries

1,009 entries across 1,009 versions & 1 rubygems

Version Path
playbook_ui-11.5.0.pre.alpha.fontawesome app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.7.0.pre.alpha.pre.guagechart1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.6.0 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.5.0.pre.alpha.datepicker1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.6.0.pre.alpha.rubocopperf1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.6.1.pre.alpha.rubocop.pre.performance1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.5.0.pre.alpha.pre.rubocop app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.6.0.pre.alpha.momenttz1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.5.0 app/pb_kits/playbook/utilities/test-utils.js