~statianzo/angularjs-testing-library

79c6c4f2a53b4f49b1143e1f7295520ec1a229c1 — Jason Staten 4 years ago caee065
feat: skip auto-cleanup via ATL_SKIP_AUTO_CLEANUP
3 files changed, 12 insertions(+), 13 deletions(-)

M src/__tests__/auto-cleanup-skip.js
M src/__tests__/auto-cleanup.js
M src/index.js
M src/__tests__/auto-cleanup-skip.js => src/__tests__/auto-cleanup-skip.js +8 -8
@@ 1,18 1,18 @@
import React from 'react'

let render
beforeAll(() => {
  process.env.RTL_SKIP_AUTO_CLEANUP = 'true'
  const rtl = require('../')
  render = rtl.render
  process.env.ATL_SKIP_AUTO_CLEANUP = 'true'
  const atl = require('../')
  render = atl.render
})

// This one verifies that if RTL_SKIP_AUTO_CLEANUP is set
// This one verifies that if ATL_SKIP_AUTO_CLEANUP is set
// then we DON'T auto-wire up the afterEach for folks
test('first', () => {
  render(<div>hi</div>)
  render(`<div>hi</div>`)
})

test('second', () => {
  expect(document.body.innerHTML).toEqual('<div><div>hi</div></div>')
  expect(document.body.innerHTML).toEqual(
    '<div><div class="ng-scope">hi</div></div>',
  )
})

M src/__tests__/auto-cleanup.js => src/__tests__/auto-cleanup.js +2 -3
@@ 1,11 1,10 @@
import React from 'react'
import {render} from '../'

// This just verifies that by importing RTL in an
// This just verifies that by importing ATL in an
// environment which supports afterEach (like jest)
// we'll get automatic cleanup between tests.
test('first', () => {
  render(<div>hi</div>)
  render(`<div>hi</div>`)
})

test('second', () => {

M src/index.js => src/index.js +2 -2
@@ 5,8 5,8 @@ import {cleanup} from './pure'
// then we'll automatically run cleanup afterEach test
// this ensures that tests run in isolation from each other
// if you don't like this then either import the `pure` module
// or set the RTL_SKIP_AUTO_CLEANUP env variable to 'true'.
if (typeof afterEach === 'function' && !process.env.RTL_SKIP_AUTO_CLEANUP) {
// or set the ATL_SKIP_AUTO_CLEANUP env variable to 'true'.
if (typeof afterEach === 'function' && !process.env.ATL_SKIP_AUTO_CLEANUP) {
  afterEach(async () => {
    await flush()
    cleanup()