e2e translations and about form

This commit is contained in:
2020-04-02 22:58:26 +00:00
parent 6212ff7ce8
commit c3495a7c0d
2 changed files with 100 additions and 21 deletions

View File

@@ -49,28 +49,8 @@ CURRENT TODOs
@@@@@@@@@@@ ROADMAP STAGE 2:
GRID ERROR:Price first column multiple records with price the same, value should not be used as a key WTF?
BUG is that records generation is putting the value of the column as the ID of the column
This was triggered by editing the datafilter and putting price as the first column, apparently the datagrid assumes column 0 is always the ID column
So actually this may need a more deterministic way to identify the rowid like picklist does
Vue warning:
Duplicate keys detected: '123.45'. This may cause an update error.
trace:
found in
---> <GzDataTable> at src/components/gz-data-table.vue
<Widgets> at src/views/widgets.vue
<VContent>
<VApp>
<App> at src/App.vue
<Root>
todo: de-var-ification
- use const for unchanging values, let everywhere else, no var anywhere and test out before moving on
todo: add tests for the following:
- alternate language login works
- About form displays critical info
- Help link goes where it should
- datagrid

View File

@@ -0,0 +1,99 @@
// https://docs.cypress.io/api/introduction/api.html
describe("Login", () => {
it("Successfully logs in as french user about form works", () => {
cy.visit("/login");
//FRENCH
cy.get("input[name=username]")
.clear()
.type("fr");
// {enter} causes the form to submit
cy.get("input[name=password]")
.clear()
.type("fr{enter}");
// we should be redirected to /dashboard
cy.url().should("include", "/home-dashboard");
//nav to about form
cy.get("[data-cy=contextmenu]").click();
cy.get('[data-cy="app:nav:abt"]').click();
cy.url().should("include", "/about");
//ensure there is french on the form
//title
cy.contains("À propos d'AyaNova");
//server section
cy.contains("Navigateur");
//open log
cy.get('[data-cy="app:nav:log"] > .v-btn__content').click();
cy.url().should("include", "/applog");
//LOGOUT
cy.get("[data-cy=contextmenu]").click();
cy.get("[data-cy='app:logout']").click();
cy.url().should("include", "/login");
//-----------------------------------------------------
//SPANISH
cy.get("input[name=username]")
.clear()
.type("es");
// {enter} causes the form to submit
cy.get("input[name=password]")
.clear()
.type("es{enter}");
// we should be redirected to /dashboard
cy.url().should("include", "/home-dashboard");
//nav to about form
cy.get("[data-cy=contextmenu]").click();
cy.get('[data-cy="app:nav:abt"]').click();
//ensure there is translated text on the form
//title
cy.contains("Acerca de AyaNova");
//server section
cy.contains("Navegador");
//LOGOUT
cy.get("[data-cy=contextmenu]").click();
cy.get("[data-cy='app:logout']").click();
cy.url().should("include", "/login");
//-------------------------
//-----------------------------------------------------
//GERMAN
cy.get("input[name=username]")
.clear()
.type("de");
// {enter} causes the form to submit
cy.get("input[name=password]")
.clear()
.type("de{enter}");
// we should be redirected to /dashboard
cy.url().should("include", "/home-dashboard");
//nav to about form
cy.get("[data-cy=contextmenu]").click();
cy.get('[data-cy="app:nav:abt"]').click();
//ensure there is translated text on the form
//title
cy.contains("Über AyaNova");
//license to (uniquely german)
cy.contains("Registrierter Benutzer");
//LOGOUT
cy.get("[data-cy=contextmenu]").click();
cy.get("[data-cy='app:logout']").click();
cy.url().should("include", "/login");
//-------------------------
});
});