Fix cypress test

This commit is contained in:
Andrew Kingston 2020-09-25 13:12:16 +01:00
parent 7cd387527c
commit 24e316f03d
2 changed files with 162 additions and 156 deletions

View File

@ -1,70 +1,62 @@
context('Create a Table', () => { context("Create a Table", () => {
before(() => { before(() => {
cy.visit('localhost:4001/_builder') cy.visit("localhost:4001/_builder")
cy.createApp('Table App', 'Table App Description') cy.createApp("Table App", "Table App Description")
}) })
it('should create a new Table', () => { it("should create a new Table", () => {
cy.createTable('dog') cy.createTable("dog")
// Check if Table exists // Check if Table exists
cy.get('.title').should('have.text', 'dog') cy.get(".title").should("have.text", "dog")
}) })
it('adds a new column to the table', () => { it("adds a new column to the table", () => {
cy.addColumn('dog', 'name', 'Plain Text') cy.addColumn("dog", "name", "Plain Text")
cy.contains("name").should("be.visible")
cy.contains('name').should("be.visible")
}) })
it('creates a record in the table', () => { it("creates a record in the table", () => {
cy.addRecord(["Rover"]) cy.addRecord(["Rover"])
cy.contains("Rover").should("be.visible")
cy.contains('Rover').should("be.visible")
}) })
it('updates a column on the table', () => { it("updates a column on the table", () => {
cy.contains("name").click() cy.contains("name").click()
cy.get("[data-cy='edit-column-header']").click() cy.get("[data-cy='edit-column-header']").click()
cy.get("[placeholder=Name]").type("updated") cy.get("[placeholder=Name]").type("updated")
cy.get("select").select("Plain Text") cy.get("select").select("Plain Text")
cy.contains("Save Column").click() cy.contains("Save Column").click()
cy.contains("nameupdated").should("have.text", "nameupdated ")
cy.contains('nameupdated').should('have.text', 'nameupdated ')
}) })
it('edits a record', () => { it("edits a record", () => {
cy.get("tbody .ri-more-line").click() cy.get("tbody .ri-more-line").click()
cy.get("[data-cy=edit-row]").click() cy.get("[data-cy=edit-row]").click()
cy.get(".actions input").type("Updated") cy.get(".actions input").type("Updated")
cy.contains("Save").click() cy.contains("Save").click()
cy.contains("RoverUpdated").should("have.text", "RoverUpdated")
cy.contains('RoverUpdated').should('have.text', 'RoverUpdated')
}) })
it('deletes a record', () => { it("deletes a record", () => {
cy.get("tbody .ri-more-line").click() cy.get("tbody .ri-more-line").click()
cy.get("[data-cy=delete-row]").click() cy.get("[data-cy=delete-row]").click()
cy.get(".modal-actions").contains("Delete").click() cy.contains("Delete Row").click()
cy.contains("RoverUpdated").should("not.exist")
cy.contains('RoverUpdated').should('not.exist')
}) })
it('deletes a column', () => { it("deletes a column", () => {
cy.contains("name").click() cy.contains("name").click()
cy.get("[data-cy='delete-column-header']").click() cy.get("[data-cy='delete-column-header']").click()
cy.contains("nameupdated").should("not.exist")
cy.contains('nameupdated').should('not.exist')
}) })
it('deletes a table', () => { it("deletes a table", () => {
cy.contains("div", "dog").get(".ri-more-line").click() cy.contains("div", "dog")
.get(".ri-more-line")
.click()
cy.get("[data-cy=delete-table]").click() cy.get("[data-cy=delete-table]").click()
cy.get(".modal-actions").contains("Delete").click() cy.contains("Delete Table").click()
cy.contains("dog").should("not.exist")
cy.contains('dog').should('not.exist')
}) })
}) })

View File

@ -1,12 +1,11 @@
context("Create a View", () => {
context('Create a View', () => {
before(() => { before(() => {
cy.visit('localhost:4001/_builder') cy.visit("localhost:4001/_builder")
cy.createApp('View App', 'View App Description') cy.createApp("View App", "View App Description")
cy.createTable('data') cy.createTable("data")
cy.addColumn('data', 'group', 'Plain Text') cy.addColumn("data", "group", "Plain Text")
cy.addColumn('data', 'age', 'Number') cy.addColumn("data", "age", "Number")
cy.addColumn('data', 'rating', 'Number') cy.addColumn("data", "rating", "Number")
// 6 Records // 6 Records
cy.addRecord(["Students", 25, 1]) cy.addRecord(["Students", 25, 1])
@ -17,40 +16,48 @@ context('Create a View', () => {
cy.addRecord(["Teachers", 36, 3]) cy.addRecord(["Teachers", 36, 3])
}) })
it('creates a view', () => { it("creates a view", () => {
cy.contains("Create New View").click() cy.contains("Create New View").click()
cy.get("[placeholder='View Name']").type("Test View") cy.get("[placeholder='View Name']").type("Test View")
cy.contains("Save View").click() cy.contains("Save View").click()
cy.get(".title").contains("Test View") cy.get(".title").contains("Test View")
cy.get("thead th").should(($headers) => { cy.get("thead th").should($headers => {
expect($headers).to.have.length(3) expect($headers).to.have.length(3)
const headers = $headers.map((i, header) => Cypress.$(header).text()) const headers = $headers.map((i, header) => Cypress.$(header).text())
expect(headers.get()).to.deep.eq([ expect(headers.get()).to.deep.eq(["group", "age", "rating"])
"group", })
"age",
"rating"
])
}) })
});
it('filters the view by age over 10', () => { it("filters the view by age over 10", () => {
cy.contains("Filter").click() cy.contains("Filter").click()
cy.contains("Add Filter").click() cy.contains("Add Filter").click()
cy.get(".menu-container").find("select").first().select("age") cy.get(".menu-container")
cy.get(".menu-container").find("select").eq(1).select("More Than") .find("select")
.first()
.select("age")
cy.get(".menu-container")
.find("select")
.eq(1)
.select("More Than")
cy.get("input[placeholder='age']").type(18) cy.get("input[placeholder='age']").type(18)
cy.contains("Save").click() cy.contains("Save").click()
cy.get("tbody tr").should(($values) => { cy.get("tbody tr").should($values => {
expect($values).to.have.length(5) expect($values).to.have.length(5)
}) })
}); })
it('creates a stats calculation view based on age', () => { it("creates a stats calculation view based on age", () => {
cy.contains("Calculate").click() cy.contains("Calculate").click()
cy.get(".menu-container").find("select").first().select("Statistics") cy.get(".menu-container")
cy.get(".menu-container").find("select").eq(1).select("age") .find("select")
.first()
.select("Statistics")
cy.get(".menu-container")
.find("select")
.eq(1)
.select("age")
cy.contains("Save").click() cy.contains("Save").click()
cy.get("thead th").should(($headers) => { cy.get("thead th").should($headers => {
expect($headers).to.have.length(7) expect($headers).to.have.length(7)
const headers = $headers.map((i, header) => Cypress.$(header).text()) const headers = $headers.map((i, header) => Cypress.$(header).text())
expect(headers.get()).to.deep.eq([ expect(headers.get()).to.deep.eq([
@ -63,7 +70,7 @@ context('Create a View', () => {
"avg", "avg",
]) ])
}) })
cy.get("tbody td").should(($values) => { cy.get("tbody td").should($values => {
const values = $values.map((i, value) => Cypress.$(value).text()) const values = $values.map((i, value) => Cypress.$(value).text())
expect(values.get()).to.deep.eq([ expect(values.get()).to.deep.eq([
"age", "age",
@ -72,19 +79,22 @@ context('Create a View', () => {
"49", "49",
"5", "5",
"5347", "5347",
"31" "31",
]) ])
}) })
}) })
it('groups the view by group', () => { it("groups the view by group", () => {
cy.contains("Group By").click() cy.contains("Group By").click()
cy.get("select").select("group") cy.get("select").select("group")
cy.contains("Save").click() cy.contains("Save").click()
cy.contains("Students").should("be.visible") cy.contains("Students").should("be.visible")
cy.contains("Teachers").should("be.visible") cy.contains("Teachers").should("be.visible")
cy.get("tbody tr").first().find("td").should(($values) => { cy.get("tbody tr")
.first()
.find("td")
.should($values => {
const values = $values.map((i, value) => Cypress.$(value).text()) const values = $values.map((i, value) => Cypress.$(value).text())
expect(values.get()).to.deep.eq([ expect(values.get()).to.deep.eq([
"Students", "Students",
@ -93,24 +103,28 @@ context('Create a View', () => {
"25", "25",
"3", "3",
"1650", "1650",
"23.333333333333332" "23.333333333333332",
]) ])
}) })
}) })
it('renames a view', () => { it("renames a view", () => {
cy.contains("[data-cy=model-nav-item]", "Test View").find(".ri-more-line").click() cy.contains("[data-cy=model-nav-item]", "Test View")
.find(".ri-more-line")
.click()
cy.contains("Edit").click() cy.contains("Edit").click()
cy.get("[placeholder='View Name']").type(" Updated") cy.get("[placeholder='View Name']").type(" Updated")
cy.contains("Save").click() cy.contains("Save").click()
cy.contains("Test View Updated").should("be.visible") cy.contains("Test View Updated").should("be.visible")
}) })
it('deletes a view', () => { it("deletes a view", () => {
cy.contains("[data-cy=model-nav-item]", "Test View Updated").click() cy.contains("[data-cy=model-nav-item]", "Test View Updated").click()
cy.contains("[data-cy=model-nav-item]", "Test View Updated").find(".ri-more-line").click() cy.contains("[data-cy=model-nav-item]", "Test View Updated")
.find(".ri-more-line")
.click()
cy.contains("Delete").click() cy.contains("Delete").click()
cy.get(".content").contains("button", "Delete").click() cy.contains("Delete View").click()
cy.contains("TestView Updated").should("not.be.visible") cy.contains("TestView Updated").should("not.be.visible")
}) })
}) })