e2e translations and about form
This commit is contained in:
@@ -49,28 +49,8 @@ CURRENT TODOs
|
|||||||
|
|
||||||
@@@@@@@@@@@ ROADMAP STAGE 2:
|
@@@@@@@@@@@ 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:
|
todo: add tests for the following:
|
||||||
|
- alternate language login works
|
||||||
- About form displays critical info
|
- About form displays critical info
|
||||||
- Help link goes where it should
|
- Help link goes where it should
|
||||||
- datagrid
|
- datagrid
|
||||||
|
|||||||
99
ayanova/tests/e2e/specs/translation-about.js
Normal file
99
ayanova/tests/e2e/specs/translation-about.js
Normal 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");
|
||||||
|
|
||||||
|
//-------------------------
|
||||||
|
});
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user