Sha256: e309728b31048012b27446e4c6a0ffd2c7ed5aa1f1a07c9f4a9cfc49a68a9e90

Contents?: true

Size: 1.33 KB

Versions: 29

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 }
  const render = () => <Kit {...kitProps} />
  const html = render()
  expect(await axe(html)).toHaveNoViolations()
}

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

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
playbook_ui-11.4.0.pre.alpha.rubytheme2 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.4.0.pre.alpha.rubytheme1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.4.0 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.3.0.pre.alpha2 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.3.0.pre.alpha1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.3.0 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.2.7 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.2.6 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.2.5 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.2.4 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.2.4.pre.alpha1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.2.3 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.2.2 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.2.1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.2.0 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.1.2 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.1.2.pre.alpha1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.1.1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.1.1.pre.alpha1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-11.1.0 app/pb_kits/playbook/utilities/test-utils.js