import * as React from 'react'; import {checkboxDriverFactory} from './Checkbox.driver'; import {Checkbox} from './'; import {createDriverFactory} from 'wix-ui-test-utils/driver-factory'; import {isTestkitExists} from 'wix-ui-test-utils/vanilla'; import {isEnzymeTestkitExists} from 'wix-ui-test-utils/enzyme'; import {checkboxTestkitFactory} from '../../testkit'; import {checkboxTestkitFactory as enzymeCheckboxTestkitFactory} from '../../testkit/enzyme'; import {mount} from 'enzyme'; describe('Checkbox', () => { const createDriver = createDriverFactory(checkboxDriverFactory); it('should be unchecked and not disabled by default', () => { const driver = createDriver(); expect(driver.isChecked()).toBeFalsy(); expect(driver.isDisabled()).toBeFalsy(); }); it('should be checked', () => { const driver = createDriver(); expect(driver.isChecked()).toBeTruthy(); }); it('should be disabled', () => { const driver = createDriver(); expect(driver.isDisabled()).toBeTruthy(); }); it('should have an error state', () => { const driver = createDriver(); expect(driver.hasErrorState()).toBeTruthy(); }); it('should have a label', () => { const driver = createDriver(Hey); expect(driver.children().textContent).toBe('Hey'); }); it('should call onChange when clicking the Checkbox', () => { const onChange = jest.fn(); const driver = createDriver(); driver.click(); expect(onChange).toBeCalled(); }); it('should not call onChange when clicking disabled Checkbox', () => { const onChange = jest.fn(); const driver = createDriver(); driver.click(); expect(onChange).not.toBeCalled(); }); it('should not run in indeterminate mode when not specified', () => { const driver = createDriver(); expect(driver.isIndeterminate()).toBeFalsy(); }); it('should run in indeterminate mode when specified', () => { const driver = createDriver(); expect(driver.isIndeterminate()).toBeTruthy(); }); describe('testkit', () => { it('should exist', () => { expect(isTestkitExists(12, checkboxTestkitFactory)).toBe(true); }); }); describe('enzyme testkit', () => { it('should exist', () => { expect(isEnzymeTestkitExists(12, enzymeCheckboxTestkitFactory, mount)).toBe(true); }); }); });