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.9.0 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.8.0.pre.alpha.PLAY625phonenumberdark301 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.8.0.pre.alpha.PLAY625phonenumberdark300 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.8.0.pre.alpha.PLAY649mapkitstyles299 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.8.0.pre.alpha.PLAY645typescriptprogresstep298 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.8.0.pre.alpha.PLAY645typescriptprogresstep297 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.8.0.pre.alpha.rubyandnpmalpharelease296 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.8.0.pre.alpha.rubyandnpmalpharelease295 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.8.0.pre.alpha.rubyandnpmalpharelease294 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.8.0 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.7.1.pre.alpha.rubyandnpmalpharelease293 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.7.1.pre.alpha.rubyandnpmalpharelease292 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.7.1.pre.alpha.rubyandnpmalpharelease291 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.7.1.pre.alpha.alpharubyrelease281 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.7.1.pre.alpha.menu2 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.7.1.pre.alpha.menu1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.7.1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.7.0 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.6.0.pre.alpha.sectionseparator1 app/pb_kits/playbook/utilities/test-utils.js
playbook_ui-12.6.0.pre.alpha.menuyml1 app/pb_kits/playbook/utilities/test-utils.js