106 lines
3.8 KiB
JavaScript
106 lines
3.8 KiB
JavaScript
import selectors from '../../helpers/selectors.js';
|
|
import getBrowser from '../../helpers/puppeteer';
|
|
|
|
describe('SmartTable SearchBar integration', () => {
|
|
let browser;
|
|
let page;
|
|
beforeAll(async() => {
|
|
browser = await getBrowser();
|
|
page = browser.page;
|
|
await page.loginAndModule('salesPerson', 'item');
|
|
await page.waitToClick(selectors.globalItems.searchButton);
|
|
});
|
|
|
|
afterAll(async() => {
|
|
await browser.close();
|
|
});
|
|
|
|
describe('as filters in smart-table section', () => {
|
|
it('should search by type in searchBar', async() => {
|
|
await page.waitToClick(selectors.itemsIndex.openAdvancedSearchButton);
|
|
await page.autocompleteSearch(selectors.itemsIndex.advancedSearchItemType, 'Anthurium');
|
|
await page.waitToClick(selectors.itemsIndex.advancedSearchButton);
|
|
await page.waitForNumberOfElements(selectors.itemsIndex.searchResult, 3);
|
|
});
|
|
|
|
it('should reload page and have same results', async() => {
|
|
await page.reload({
|
|
waitUntil: 'networkidle2'
|
|
});
|
|
|
|
await page.waitForNumberOfElements(selectors.itemsIndex.searchResult, 3);
|
|
});
|
|
|
|
it('should search by grouping in smartTable', async() => {
|
|
await page.waitToClick(selectors.itemsIndex.advancedSmartTableButton);
|
|
await page.write(selectors.itemsIndex.advancedSmartTableGrouping, '1');
|
|
await page.keyboard.press('Enter');
|
|
await page.waitForNumberOfElements(selectors.itemsIndex.searchResult, 2);
|
|
});
|
|
|
|
it('should now reload page and have same results', async() => {
|
|
await page.reload({
|
|
waitUntil: 'networkidle2'
|
|
});
|
|
|
|
await page.waitForNumberOfElements(selectors.itemsIndex.searchResult, 2);
|
|
});
|
|
});
|
|
|
|
describe('as filters in section without smart-table', () => {
|
|
it('go to zone section', async() => {
|
|
await page.loginAndModule('salesPerson', 'zone');
|
|
await page.waitToClick(selectors.globalItems.searchButton);
|
|
});
|
|
|
|
it('should search in searchBar first time', async() => {
|
|
await page.doSearch('A');
|
|
const count = await page.countElement(selectors.zoneIndex.searchResult);
|
|
|
|
expect(count).toEqual(7);
|
|
});
|
|
|
|
it('should search in searchBar second time', async() => {
|
|
await page.doSearch('A');
|
|
const count = await page.countElement(selectors.zoneIndex.searchResult);
|
|
|
|
expect(count).toEqual(7);
|
|
});
|
|
|
|
it('should search in searchBar third time', async() => {
|
|
await page.doSearch('A');
|
|
const count = await page.countElement(selectors.zoneIndex.searchResult);
|
|
|
|
expect(count).toEqual(7);
|
|
});
|
|
});
|
|
|
|
describe('as orders', () => {
|
|
it('should order by first id', async() => {
|
|
await page.loginAndModule('developer', 'item');
|
|
await page.accessToSection('item.fixedPrice');
|
|
await page.doSearch();
|
|
|
|
const result = await page.waitToGetProperty(selectors.itemFixedPrice.firstItemID, 'value');
|
|
|
|
expect(result).toEqual('1');
|
|
});
|
|
|
|
it('should order by last id', async() => {
|
|
await page.waitToClick(selectors.itemFixedPrice.orderColumnId);
|
|
const result = await page.waitToGetProperty(selectors.itemFixedPrice.firstItemID, 'value');
|
|
|
|
expect(result).toEqual('13');
|
|
});
|
|
|
|
it('should reload page and have same order', async() => {
|
|
await page.reload({
|
|
waitUntil: 'networkidle2'
|
|
});
|
|
const result = await page.waitToGetProperty(selectors.itemFixedPrice.firstItemID, 'value');
|
|
|
|
expect(result).toEqual('13');
|
|
});
|
|
});
|
|
});
|