UNPKG

wix-style-react

Version:
71 lines (60 loc) 2.24 kB
import { waitForVisibilityOf, scrollToElement, protractorTestkitFactoryCreator, } from 'wix-ui-test-utils/protractor'; import dataTableDriverFactory from '../DataTable.protractor.driver'; import { eyesItInstance } from '../../../../test/utils/eyes-it'; import { createTestStoryUrl } from '../../../../test/utils/storybook-helpers'; import { storySettings, testStories } from '../docs/storySettings'; const dataTableTestkitFactory = protractorTestkitFactoryCreator( dataTableDriverFactory, ); describe('Data Table', () => { const eyes = eyesItInstance(); const storyUrl = createTestStoryUrl({ ...storySettings, testName: testStories.dataTable, }); it('should call func on row click', async () => { const driver = dataTableTestkitFactory({ dataHook: 'story-data-table-example', }); const indexToClick = 2; const name = 'Deborah Rhodes'; await browser.get(storyUrl); await waitForVisibilityOf( driver.element(), 'Cant find Data Table Component', ); await scrollToElement(driver.element()); const rowData = await driver.getRowTextByIndex(indexToClick); expect(rowData).toBe(`#${indexToClick + 1} ${name}`); await driver.clickRowByIndex(indexToClick); const EC = protractor.ExpectedConditions; await browser.wait(EC.alertIsPresent(), 10000, 'Alert is not presented :('); expect(await browser.switchTo().alert().getText()).toBe( `You clicked "${name}", row number ${indexToClick + 1}`, ); await browser.switchTo().alert().accept(); }); eyes.it('display new data when received', async () => { const dataHook = 'story-data-table-infinite-scroll'; const driver = dataTableTestkitFactory({ dataHook }); await browser.get(storyUrl); await waitForVisibilityOf( driver.element(), 'Cant find Data Table Component', ); await scrollToElement(driver.element()); const initialItems = 20; const itemsAfterLoad = 40; await driver.scrollToRowByIdx(initialItems - 1); await browser.wait( async () => (await driver.rowsCount()) === itemsAfterLoad, 10000, 'New data was not loaded :(', ); expect(await driver.rowsCount()).toEqual(itemsAfterLoad); }); });