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-12.6.0.pre.alpha.collapsible1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.6.0.pre.alpha.cssphone1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.6.0 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.5.0.pre.alpha.datepickerinput1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.5.0.pre.alpha.phonerails1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.5.0.pre.alpha.datepicker1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.5.0.pre.alpha.filter1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.5.0 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.4.0.pre.alpha.map1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.4.0.pre.alpha.devdocstest1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.4.0 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.3.1.pre.alpha.phone1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.3.1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.3.0.pre.alpha.patchtest1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.3.0 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.2.0 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.1.0 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.0.0 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.20.0.pre.alpha.passthrough1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.20.0.pre.alpha.railsdialog1 app/pb_kits/playbook/utilities/test-utils.js