forked from tsai/budibase
15 changed files with 114 additions and 37 deletions
@ -0,0 +1,85 @@ |
|||
context('Create a View', () => { |
|||
before(() => { |
|||
cy.visit('localhost:4001/_builder') |
|||
cy.createApp('View App', 'View App Description') |
|||
cy.createTable('data') |
|||
cy.addColumn('data', 'group', 'Plain Text') |
|||
cy.addColumn('data', 'age', 'Number') |
|||
cy.addColumn('data', 'rating', 'Number') |
|||
|
|||
cy.addRecord(["Students", 25, 1]) |
|||
cy.addRecord(["Students", 20, 3]) |
|||
cy.addRecord(["Students", 18, 6]) |
|||
cy.addRecord(["Students", 25, 2]) |
|||
cy.addRecord(["Teachers", 49, 5]) |
|||
cy.addRecord(["Teachers", 36, 3]) |
|||
}) |
|||
|
|||
|
|||
it('creates a stats view based on age', () => { |
|||
cy.contains("Create New View").click() |
|||
cy.get("[placeholder='View Name']").type("Test View") |
|||
cy.contains("Save View").click() |
|||
cy.get("thead th").should(($headers) => { |
|||
expect($headers).to.have.length(7) |
|||
const headers = $headers.map((i, header) => Cypress.$(header).text()) |
|||
expect(headers.get()).to.deep.eq([ |
|||
"group", |
|||
"sum", |
|||
"min", |
|||
"max", |
|||
"sumsqr", |
|||
"count", |
|||
"avg", |
|||
]) |
|||
}) |
|||
cy.get("tbody td").should(($values) => { |
|||
const values = $values.map((i, value) => Cypress.$(value).text()) |
|||
expect(values.get()).to.deep.eq([ |
|||
"null", |
|||
"173", |
|||
"18", |
|||
"49", |
|||
"5671", |
|||
"6", |
|||
"28.833333333333332" |
|||
]) |
|||
}) |
|||
}) |
|||
|
|||
it('groups the stats view by group', () => { |
|||
cy.contains("Group By").click() |
|||
cy.get("select").select("group") |
|||
cy.contains("Save").click() |
|||
cy.contains("Students").should("be.visible") |
|||
cy.contains("Teachers").should("be.visible") |
|||
|
|||
cy.get("tbody tr").first().find("td").should(($values) => { |
|||
const values = $values.map((i, value) => Cypress.$(value).text()) |
|||
expect(values.get()).to.deep.eq([ |
|||
"Students", |
|||
"88", |
|||
"18", |
|||
"25", |
|||
"1974", |
|||
"4", |
|||
"22" |
|||
]) |
|||
}) |
|||
}) |
|||
|
|||
it('renames a view', () => { |
|||
cy.contains("[data-cy=model-nav-item]", "Test View").find(".ri-more-line").click() |
|||
cy.contains("Edit").click() |
|||
cy.get("[placeholder='View Name']").type(" Updated") |
|||
cy.contains("Save").click() |
|||
cy.contains("Test View Updated").should("be.visible") |
|||
}) |
|||
|
|||
it('deletes a view', () => { |
|||
cy.contains("[data-cy=model-nav-item]", "Test View Updated").find(".ri-more-line").click() |
|||
cy.contains("Delete").click() |
|||
cy.get(".content").contains("button", "Delete").click() |
|||
cy.contains("TestView Updated").should("not.be.visible") |
|||
}) |
|||
}) |
|||
Loading…
Reference in new issue