UNPKG

reblend-testing-library

Version:

Simple and complete Reblendjs testing utilities that encourage good testing practices.

60 lines 1.92 kB
import { configure, getConfig } from '../'; describe('configuration API', () => { let originalConfig; beforeEach(() => { // Grab the existing configuration so we can restore // it at the end of the test configure(existingConfig => { originalConfig = existingConfig; // Don't change the existing config return {}; }); }); afterEach(() => { configure(originalConfig); }); describe('DTL options', () => { test('configure can set by a plain JS object', () => { const testIdAttribute = 'not-data-testid'; configure({ testIdAttribute }); expect(getConfig().testIdAttribute).toBe(testIdAttribute); }); test('configure can set by a function', () => { // setup base option const baseTestIdAttribute = 'data-testid'; configure({ testIdAttribute: baseTestIdAttribute }); const modifiedPrefix = 'modified-'; configure(existingConfig => ({ testIdAttribute: `${modifiedPrefix}${existingConfig.testIdAttribute}` })); expect(getConfig().testIdAttribute).toBe(`${modifiedPrefix}${baseTestIdAttribute}`); }); }); describe('RTL options', () => { test('configure can set by a plain JS object', () => { configure({ reblendStrictMode: true }); expect(getConfig().reblendStrictMode).toBe(true); }); test('configure can set by a function', () => { configure(existingConfig => ({ reblendStrictMode: !existingConfig.reblendStrictMode })); expect(getConfig().reblendStrictMode).toBe(true); }); }); test('configure can set DTL and RTL options at once', () => { const testIdAttribute = 'not-data-testid'; configure({ testIdAttribute, reblendStrictMode: true }); expect(getConfig().testIdAttribute).toBe(testIdAttribute); expect(getConfig().reblendStrictMode).toBe(true); }); });