test: add native filter default value e2e (#17398)

* add native filter default value e2e test

* fix lint

* remove unnecessary check
This commit is contained in:
jinghua-qa 2021-11-16 08:54:08 -08:00 committed by GitHub
parent 96bdcc3493
commit 1e2c83419c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 48 additions and 4 deletions

View File

@ -93,9 +93,7 @@ describe('Nativefilters Sanity test', () => {
cy.get(nativeFilters.modal.container).should('be.visible');
});
it('User can add a new native filter', () => {
cy.get(nativeFilters.filterFromDashboardView.expand)
.should('be.visible')
.click();
cy.get(nativeFilters.filterFromDashboardView.expand).click({ force: true });
cy.get(nativeFilters.createFilterButton).should('be.visible').click();
cy.get(nativeFilters.modal.container)
.find(nativeFilters.filtersPanel.filterName)
@ -208,7 +206,7 @@ describe('Nativefilters Sanity test', () => {
cy.get(nativeFilters.modal.container)
.find(nativeFilters.filtersPanel.datasetName)
.click()
.type("World Bank's Data{enter}");
.type('wb_health_population{enter}');
cy.get('.loading inline-centered css-101mkpk').should('not.exist');
// hack for unclickable country_name
@ -288,6 +286,50 @@ describe('Nativefilters Sanity test', () => {
'By default, each filter loads at most 1000 choices at the initial page load. Check this box if you have more than 1000 filter values and want to enable dynamically searching that loads filter values as users type (may add stress to your database).',
);
});
it("User can check 'Filter has default value'", () => {
cy.get(nativeFilters.filterFromDashboardView.expand).click({ force: true });
cy.get(nativeFilters.createFilterButton)
.should('be.visible')
.click({ force: true });
cy.get(nativeFilters.modal.container).should('be.visible');
cy.get(nativeFilters.modal.container)
.find(nativeFilters.filtersPanel.datasetName)
.click()
.type('wb_health_population{enter}');
cy.get(nativeFilters.modal.container)
.find(nativeFilters.filtersPanel.filterName)
.click()
.type('country_name');
// hack for unclickable datetime
cy.wait(5000);
cy.get(nativeFilters.filtersPanel.filterInfoInput)
.last()
.click({ force: true });
cy.get(nativeFilters.filtersPanel.filterInfoInput)
.last()
.type('country_name');
cy.get(nativeFilters.filtersPanel.inputDropdown)
.should('be.visible', { timeout: 20000 })
.last()
.click();
cy.contains('Filter has default value').click();
cy.contains('Default value is required');
cy.get(nativeFilters.modal.defaultValueCheck).should('be.visible');
cy.get(nativeFilters.filtersPanel.columnEmptyInput)
.last()
.type('United States{enter}');
cy.get(nativeFilters.modal.footer)
.find(nativeFilters.modal.saveButton)
.should('be.visible')
.click({ force: true });
cy.get(nativeFilters.filterFromDashboardView.filterContent).contains(
'United States',
);
cy.get('.line').within(() => {
cy.contains('United States').should('be.visible');
});
});
});
xdescribe('Nativefilters', () => {

View File

@ -325,6 +325,7 @@ export const nativeFilters = {
removeTab: '[aria-label="trash"]',
},
addFilter: dataTestLocator('add-filter-button'),
defaultValueCheck: '.ant-checkbox-checked',
},
filtersPanel: {
filterName: dataTestLocator('filters-config-modal__name-input'),
@ -339,6 +340,7 @@ export const nativeFilters = {
expand: dataTestLocator('filter-bar__expand-button'),
collapse: dataTestLocator('filter-bar__collapse-button'),
filterName: dataTestLocator('filter-control-name'),
filterContent: '.ant-select-selection-item-content',
},
createFilterButton: dataTestLocator('filter-bar__create-filter'),
removeFilter: '[aria-label="remove"]',