Files
redash/client/cypress/integration/data-source/create_data_source_spec.js
Gabriel Dutra ac652c20bf Fix create link on data sources page (#5121)
* Fix create link on data sources page

* Cypress: Add test that the source dialog opens
2020-08-21 16:47:42 -03:00

55 lines
2.0 KiB
JavaScript

describe("Create Data Source", () => {
beforeEach(() => {
cy.login();
});
it("opens the creation dialog when clicking in the create link or button", () => {
cy.visit("/data_sources");
cy.server();
cy.route("**/api/data_sources", []); // force an empty response
["CreateDataSourceButton", "CreateDataSourceLink"].forEach(createElementTestId => {
cy.getByTestId(createElementTestId).click();
cy.getByTestId("CreateSourceDialog").should("exist");
cy.getByTestId("CreateSourceCancelButton").click();
cy.getByTestId("CreateSourceDialog").should("not.exist");
});
});
it("renders the page and takes a screenshot", function() {
cy.visit("/data_sources/new");
cy.server();
cy.route("**/api/data_sources/types").as("DataSourceTypesRequest");
cy.wait("@DataSourceTypesRequest")
.then(({ response }) => response.body.filter(type => type.deprecated))
.then(deprecatedTypes => deprecatedTypes.map(type => type.type))
.as("deprecatedTypes");
cy.getByTestId("PreviewItem")
.then($previewItems => Cypress.$.map($previewItems, item => Cypress.$(item).attr("data-test-type")))
.then(availableTypes => expect(availableTypes).not.to.contain.members(this.deprecatedTypes));
cy.getByTestId("CreateSourceDialog").should("contain", "PostgreSQL");
cy.wait(1000); // eslint-disable-line cypress/no-unnecessary-waiting
cy.percySnapshot("Create Data Source - Types");
});
it("creates a new PostgreSQL data source", () => {
cy.visit("/data_sources/new");
cy.getByTestId("SearchSource").type("PostgreSQL");
cy.getByTestId("CreateSourceDialog")
.contains("PostgreSQL")
.click();
cy.getByTestId("Name").type("Redash");
cy.getByTestId("Host").type("postgres");
cy.getByTestId("User").type("postgres");
cy.getByTestId("Password").type("postgres");
cy.getByTestId("Database Name").type("postgres{enter}");
cy.getByTestId("CreateSourceSaveButton").click();
cy.contains("Saved.");
});
});