UNPKG

wix-storybook-utils

Version:

Utilities for automated component documentation within Storybook

130 lines 5.11 kB
import { createAutoTestkitDriver } from './drivers'; describe('AutoTestkit', function () { var driver = createAutoTestkitDriver(); describe('without error', function () { var metadata = { displayName: 'component', drivers: [ { file: 'component.driver.js', descriptor: [ { name: 'click', args: [], type: 'function', }, ], }, { file: 'component.protractor.driver.js', descriptor: [ { name: 'click', args: [], type: 'function', }, ], }, { file: 'component.puppeteer.driver.js', descriptor: [ { name: 'click', args: [], type: 'function', }, ], }, { file: 'component.unknown.driver.js', descriptor: [ { name: 'click', args: [], type: 'function', }, ], }, { file: 'component.uni.driver.js', descriptor: [ { name: 'click', args: [], type: 'function', }, ], }, ], }; var makeTestkitTemplate = function (platform) { return "import { <%= utils.toCamel(component.displayName) %>TestkitFactory } from 'wix-style-react/dist".concat(platform, "';"); }; var storyConfig = { config: { testkitsWarning: 'Hey there, testkits warning', testkits: { vanilla: { template: makeTestkitTemplate(''), }, enzyme: { template: makeTestkitTemplate('/enzyme'), }, puppeteer: { template: makeTestkitTemplate('/puppeteer'), }, protractor: { template: makeTestkitTemplate('/protractor'), }, unidriver: { template: makeTestkitTemplate('/unidriver'), }, }, }, }; beforeEach(function () { return driver.create({ metadata: metadata, storyConfig: storyConfig }); }); it('has markdown-body class on root element', function () { expect(driver.get.rootClass()).toBe('markdown-body'); }); describe('heading', function () { it('should display correct text', function () { expect(driver.get.heading()).toBe("".concat(metadata.displayName, " Testkits")); }); it('should be h1 tag', function () { expect(driver.get.tag('heading')).toBe('h1'); }); it('should display warning', function () { expect(driver.get.warning()).toEqual(storyConfig.config.testkitsWarning); }); }); it('should have correct testkit names', function () { expect(driver.get.driverAt(0).get.name()).toBe('UniDriver Testkit'); expect(driver.get.driverAt(1).get.name()).toBe('ReactTestUtils Testkit'); expect(driver.get.driverAt(2).get.name()).toBe('Protractor Testkit'); expect(driver.get.driverAt(3).get.name()).toBe('Puppeteer Testkit'); expect(driver.get.driverAt(4).get.name()).toBe('Testkit'); }); it('should show unidriver first', function () { expect(driver.get.driverAt(0).get.name()).toBe('UniDriver Testkit'); }); it('should have correct import example code', function () { expect(driver.get.driverAt(0).get.importCode()).toMatch("import { componentTestkitFactory } from 'wix-style-react/dist/unidriver'"); }); }); describe('with error', function () { var metadata = { displayName: 'component', drivers: [ { file: 'component.driver.js', error: 'Oh no!', }, ], }; beforeEach(function () { return driver.create({ metadata: metadata }); }); it('should not render documentation table', function () { expect(driver.get.driverAt(0)).toBe(null); }); }); }); //# sourceMappingURL=index.test.js.map