This is an automated email from the ASF dual-hosted git repository. juzhiyuan pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git
The following commit(s) were added to refs/heads/master by this push: new 6dce9e0 feat: improve test cases (#1559) 6dce9e0 is described below commit 6dce9e09640b1c81f14dbb88e5f6f8c43371af31 Author: guoqqqi <72343596+guoq...@users.noreply.github.com> AuthorDate: Mon Mar 8 23:56:16 2021 +0800 feat: improve test cases (#1559) --- web/cypress/fixtures/selector.json | 2 ++ .../integration/route/import_export_route.spec.js | 17 +++++++++++------ web/cypress/integration/route/online-debug.spec.js | 6 ++++-- web/cypress/integration/route/search-route.spec.js | 11 ++++------- 4 files changed, 21 insertions(+), 15 deletions(-) diff --git a/web/cypress/fixtures/selector.json b/web/cypress/fixtures/selector.json index e7b2abb..61615f2 100644 --- a/web/cypress/fixtures/selector.json +++ b/web/cypress/fixtures/selector.json @@ -43,6 +43,7 @@ "fileSelector": "[type=file]", "fileTypeRadio": "[type=radio]", + "fileSelectorClose": ".ant-modal-close", "debugUri": "#debugUri", @@ -50,6 +51,7 @@ "labels_0_labelKey": "#labels_0_labelKey", "labels_0_labelValue": "#labels_0_labelValue", "labelSelector": "[title=Labels]", + "labelSelect_0": ".ant-select-selection-overflow", "pageContainer": ".ant-pro-page-container", "notificationMessage": ".ant-notification-notice-message", diff --git a/web/cypress/integration/route/import_export_route.spec.js b/web/cypress/integration/route/import_export_route.spec.js index dcf9c1a..1786b40 100644 --- a/web/cypress/integration/route/import_export_route.spec.js +++ b/web/cypress/integration/route/import_export_route.spec.js @@ -45,6 +45,7 @@ context('import and export routes', () => { cy.fixture('data.json').as('data'); cy.fixture('export-route-dataset.json').as('exportFile'); }); + it('should create route1 and route2', function () { cy.visit('/'); // create two routes @@ -146,24 +147,28 @@ context('import and export routes', () => { cy.get(this.domSelector.fileSelector).attachFile(file); // click submit cy.contains(componentLocaleUS['component.global.confirm']).click(); + // show upload notification if (file === 'import-error.txt') { // show error msg cy.get(this.domSelector.notificationDesc).should('contain', data.importErrorMsg); // close modal cy.contains(componentLocaleUS['component.global.cancel']).click(); - } else { + cy.get(this.domSelector.notificationCloseIcon).click(); + } else if (file !== 'import-error.txt') { cy.get(this.domSelector.notification).should( 'contain', 'Success' ); - cy.get(this.domSelector.notificationCloseIcon).click(); + cy.get(this.domSelector.fileSelectorClose).click(); + cy.get(this.domSelector.notificationCloseIcon).click().should('not.exist'); // delete route just imported - cy.contains(componentLocaleUS['component.global.delete']).click(); - cy.contains(componentLocaleUS['component.global.confirm']).click(); + cy.reload(); + cy.get(this.domSelector.deleteButton).should('exist').click(); + cy.contains('button', componentLocaleUS['component.global.confirm']).click({ force: true }); + // show delete successfully notification cy.get(this.domSelector.notification).should( - 'contain', - `${componentLocaleUS['component.global.delete']} ${menuLocaleUS['menu.routes']} ${componentLocaleUS['component.status.success']}`, + 'contain', this.data.deleteRouteSuccess ); cy.get(this.domSelector.notificationCloseIcon).click(); } diff --git a/web/cypress/integration/route/online-debug.spec.js b/web/cypress/integration/route/online-debug.spec.js index b8b1883..f491a1c 100644 --- a/web/cypress/integration/route/online-debug.spec.js +++ b/web/cypress/integration/route/online-debug.spec.js @@ -151,8 +151,10 @@ context('Online debug', () => { cy.contains(routeLocaleUS['page.route.button.send']).click(); // assert: send request return - cy.get(domSelector.codeMirrorCode).contains('data').should('be.visible'); - cy.get(domSelector.codeMirrorCode).contains('routes').should('be.visible'); + cy.get(domSelector.codeMirrorCode).within(() => { + cy.contains('data').should('be.visible'); + cy.contains('routes').should('be.visible'); + }); // close debug drawer cy.get(this.domSelector.drawerClose).click(); diff --git a/web/cypress/integration/route/search-route.spec.js b/web/cypress/integration/route/search-route.spec.js index be3e0c2..9bc2951 100644 --- a/web/cypress/integration/route/search-route.spec.js +++ b/web/cypress/integration/route/search-route.spec.js @@ -97,17 +97,14 @@ context('Create and Search Route', () => { }); it('should search the route with labels', function () { - cy.visit('/'); - cy.contains('Route').click(); - + cy.visit('/routes/list'); // search one label - cy.get(this.domSelector.refresh).click(); - cy.get(this.domSelector.labelSelector).click(); + cy.contains(data.test0).should('exist'); + cy.get(this.domSelector.labelSelect_0).click({ timeout }); cy.get(this.domSelector.dropdown).should('be.visible').within(() => { cy.contains(data.value0).click(); }); cy.contains('Search').click(); - cy.contains(data.test0).siblings().should('contain', data.label0_value0); cy.contains(data.test1).should('not.exist'); cy.contains(data.test2).should('not.exist'); @@ -117,7 +114,7 @@ context('Create and Search Route', () => { cy.visit('/routes/list'); for (let i = 0; i < 3; i += 1) { cy.contains(`test${i}`).siblings().contains('Delete').click({ timeout }); - cy.contains('button', 'Confirm').click({ timeout }); + cy.contains('button', 'Confirm').should('be.visible').click({ timeout }); cy.get(this.domSelector.notification).should('contain', this.data.deleteRouteSuccess); } });