fix(searchBar): applyParams #1219

Merged
alexm merged 2 commits from 4960-hotFix_searchBar into master 2022-12-22 06:52:35 +00:00
3 changed files with 33 additions and 7 deletions

View File

@ -15,7 +15,7 @@ describe('SmartTable SearchBar integration', () => {
await browser.close();
});
describe('as filters', () => {
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');
@ -47,6 +47,34 @@ describe('SmartTable SearchBar integration', () => {
});
});
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');

View File

@ -308,7 +308,7 @@ export default class Searchbar extends Component {
this.tableQ = null;
const hasParams = this.$params.q && Object.keys(JSON.parse(this.$params.q)).length;
const hasParams = this.$params.q && JSON.parse(this.$params.q).tableQ;
if (hasParams) {
const stateFilter = JSON.parse(this.$params.q);
for (let param in stateFilter) {
@ -325,8 +325,8 @@ export default class Searchbar extends Component {
for (let param in stateFilter.tableQ)
params[param] = stateFilter.tableQ[param];
Object.assign(stateFilter, params);
return this.model.applyParams(params)
const newParams = Object.assign(stateFilter, params);
return this.model.applyParams(newParams)
.then(() => this.model.data);
}

View File

@ -174,14 +174,12 @@ describe('Component vnSearchbar', () => {
jest.spyOn(controller, 'doSearch');
controller.model = {
refresh: jest.fn(),
applyFilter: jest.fn().mockReturnValue(Promise.resolve()),
userParams: {
id: 1
}
};
controller.model.applyParams = jest.fn().mockReturnValue(Promise.resolve());
jest.spyOn(controller.model, 'applyParams');
controller.filter = filter;
controller.removeParam(0);