This commit is contained in:
2020-06-19 21:38:32 +00:00
parent 48d062c49b
commit bfcae2a750
15 changed files with 76 additions and 58 deletions

View File

@@ -42,8 +42,8 @@ export default {
if (!window.$gz._.has(window.$gz.store.state.enums, k)) {
let that = this;
await that.fetchEnumKey(k).then(dat => {
// eslint-disable-next-line
await that.fetchEnumKey(k).then((dat) => {
//massage the data as necessary
let e = { enumKey: k, items: {} };
for (let i = 0; i < dat.length; i++) {
@@ -57,9 +57,11 @@ export default {
}
},
fetchEnumKey(enumKey) {
return window.$gz.api.get("enum-list/list/" + enumKey).then(res => {
if (res.error) {
throw res.error;
// eslint-disable-next-line
return window.$gz.api.get("enum-list/list/" + enumKey).then((res) => {
//We never expect there to be no data here
if (!res.data) {
throw res;
}
return res.data;
});

View File

@@ -130,6 +130,15 @@ export default {
msg += "\n";
}
dealWithError(msg, vm);
} else if (err instanceof Response) {
let msg =
"http error: " +
err.statusText +
" - " +
err.status +
" Url: " +
err.url;
dealWithError(msg, vm);
} else {
//last resort
let msg = JSON.stringify(err);

View File

@@ -257,8 +257,9 @@ export default {
.get("pick-list/List" + urlParams)
.then(res => {
vm.fetching = false;
if (res.error) {
throw res.error;
//We never expect there to be no data here
if (!res.data) {
throw res;
}
vm.searchResults = res.data;
window.$gz.form.addNoSelectionItem(vm.searchResults);

View File

@@ -79,10 +79,11 @@ export default {
}
vm.tagSearchUnderway = true;
window.$gz.api
.get("tag/list?query=" + val) //roles
.get("tag-list/list?query=" + val) //roles
.then(res => {
if (res.error) {
throw res.error;
//We never expect there to be no data here
if (!res.data) {
throw res;
}
//adding this to the property will automatically have it cached by the autocomplete component
//as cache-items has been set so this just needs to be set here once and all is well in future

View File

@@ -58,7 +58,7 @@ import chartBarHorizontalControl from "./components/chart-bar-horizontal-control
//DEVELOPMENT MODE
//THIS SHOULD BE FALSE IN RELEASE
//************************************************************
const DEV_MODE = false;
const DEV_MODE = true;
//************************************************************
//**************************************************************
//**************************************************************

View File

@@ -562,14 +562,16 @@ function initForm(vm) {
try {
await fetchTranslatedText(vm);
let res = await window.$gz.api.get("license");
if (res.error) {
throw res.error;
//We never expect there to be no data here
if (!res.data) {
throw res;
}
vm.currentLicenseInfo = res.data.license;
res = await window.$gz.api.get("license/database-empty");
if (res.error) {
throw res.error;
//We never expect there to be no data here
if (!res.data) {
throw res;
}
vm.dbIsEmpty = res.data;
} catch (err) {
@@ -614,18 +616,4 @@ function fetchTranslatedText(vm) {
"CopyDbId"
]);
}
// //////////////////////
// //
// //
// function populateSelectionLists(vm) {
// //http://localhost:7575/api/v8/translation/list
// return window.$gz.api.get("translation/list").then(res => {
// if (res.error) {
// window.$gz.errorHandler.handleFormError(res.error, vm);
// } else {
// vm.selectLists.translations = res.data;
// }
// });
// }
</script>

View File

@@ -302,8 +302,9 @@ function fetchTranslatedText(vm) {
//
function getServerInfo(vm) {
return window.$gz.api.get("server-info").then(res => {
if (res.error) {
throw res.error;
//We never expect there to be no data here
if (!res.data) {
throw res;
} else {
vm.serverInfo = res.data;
}

View File

@@ -163,8 +163,9 @@ export default {
try {
//Does the database need to be erased?
let res = await window.$gz.api.get("license/database-empty");
if (res.error) {
throw res.error;
//We never expect there to be no data here
if (!res.data) {
throw res;
}
if (res.data != true) {
let dialogResult = await window.$gz.dialog.confirmGeneric(

View File

@@ -221,9 +221,6 @@ export default {
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
} else {
//Aya<span class="v-list-item__mask">Nov</span>
// <v-list-item-subtitle v-html="item.subtitle"></v-list-item-subtitle>
//subtitle: "<span class='text--primary'>to Alex, Scott, Jennifer</span> &mdash; Wish I could come, but I'm out of town this weekend.",
let showInfo = res.data;
let searchTerms = vm.searchPhrase
.toLocaleLowerCase()

View File

@@ -14,7 +14,7 @@ describe("Login", () => {
.type(`${Cypress.env("adminpassword")}{enter}`);
// we should be redirected to /dashboard
cy.url().should("include", "/home-dashboard");
cy.url().should("include", "/ay-evaluate");
//navigate and confirm
//open nav and home menu

View File

@@ -10,7 +10,7 @@ describe("GZ-DATA-TABLE", () => {
cy.get("input[name=password]")
.clear()
.type("BizAdminFull{enter}");
cy.url().should("include", "/home-dashboard");
//cy.url().should("include", "/home-dashboard");
cy.visit("/widgets");
cy.url().should("include", "/widgets");

View File

@@ -14,7 +14,7 @@ describe("SEARCH", () => {
.type(`${Cypress.env("adminpassword")}{enter}`);
// we should be redirected to /dashboard
cy.url().should("include", "/home-dashboard");
//cy.url().should("include", "/home-dashboard");
cy.visit("/home-search");
cy.url().should("include", "/home-search");

View File

@@ -12,7 +12,7 @@ describe("PICK LIST TEMPLATE", () => {
cy.get("input[name=password]")
.clear()
.type(`${Cypress.env("adminpassword")}{enter}`);
cy.url().should("include", "/home-dashboard");
// cy.url().should("include", "/home-dashboard");
cy.visit("/adm-global-settings");
cy.url().should("include", "/adm-global-settings");

View File

@@ -15,7 +15,7 @@ describe("TRANSLATION", () => {
.type("fr{enter}");
// we should be redirected to /dashboard
cy.url().should("include", "/home-dashboard");
// cy.url().should("include", "/home-dashboard");
//nav to about form
cy.get("[data-cy=contextmenu]").click();
@@ -49,7 +49,7 @@ describe("TRANSLATION", () => {
.type("es{enter}");
// we should be redirected to /dashboard
cy.url().should("include", "/home-dashboard");
// cy.url().should("include", "/home-dashboard");
//nav to about form
cy.get("[data-cy=contextmenu]").click();
@@ -79,7 +79,7 @@ describe("TRANSLATION", () => {
.type("de{enter}");
// we should be redirected to /dashboard
cy.url().should("include", "/home-dashboard");
// cy.url().should("include", "/home-dashboard");
//nav to about form
cy.get("[data-cy=contextmenu]").click();

View File

@@ -1,4 +1,7 @@
// https://docs.cypress.io/api/introduction/api.html
// const { WatchIgnorePlugin } = require("webpack");
//https://docs.cypress.io/guides/references/assertions.html#BDD-Assertions
describe("WIDGET FORM", () => {
it("Performs all crud ops on widget successfully", () => {
@@ -13,21 +16,24 @@ describe("WIDGET FORM", () => {
.clear()
.type(`${Cypress.env("adminpassword")}{enter}`);
cy.url().should("include", "/home-dashboard");
cy.url().should("include", "/ay-evaluate");
//POST
cy.visit("/widgets/0");
cy.url().should("include", "/widgets/0");
//cy.wait(5000);
//save the start url for later
let startUrl = null;
//funcs are async so need to get result via then
cy.url().then(url => {
cy.url().then((url) => {
startUrl = url;
});
//first edit to break the required rules
cy.get("[data-cy=active]").check({ force: true }); //have to force, for some reason it thinks it's covered
//now name and price sb required rule broken
cy.contains("Name is a required field");
cy.contains("Name is a required field", { timeout: 1000 });
cy.contains("Price is a required field");
//enter name
let name = "E2E CRUD " + unique;
@@ -57,8 +63,8 @@ describe("WIDGET FORM", () => {
// cy.get(" div.v-picker__title__btn:nth-child(2) > :nth-child(1)").click();
//click on 20
cy.get(
"span.v-time-picker-clock__item:nth-child(6) > span:nth-child(1)"
).click();
".v-dialog--active > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > span:nth-child(6) > span:nth-child(1)"
).click({ force: true });
//click on OK
cy.get('[data-cy="tpick:startDate"] > .v-picker__actions > .v-btn').click();
@@ -84,7 +90,7 @@ describe("WIDGET FORM", () => {
//click on 20
cy.get(
".v-dialog--active > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > span:nth-child(6) > span:nth-child(1)"
).click();
).click({ force: true });
//click on OK
cy.get('[data-cy="tpick:endDate"] > .v-picker__actions > .v-btn').click();
@@ -99,14 +105,26 @@ describe("WIDGET FORM", () => {
cy.get("[data-cy=usertype]").type("cu{enter}", { force: true });
cy.get("[data-cy=notes]").type("Testing 1..2..3{enter}EOT");
cy.get("[data-cy=tags] input[type=text] ").type("zone1{enter}{esc}"); //esc necessary to close tags control
cy.get("[data-cy=WidgetCustom2]").type(
"Custom text field testing a...b...c...{enter}EOT"
);
cy.get("[data-cy=tags] input[type=text] ").type("zone1{enter}{esc}", {
force: true
}); //esc necessary to close tags control
cy.get(
"[data-cy=WidgetCustom2]"
).type("Custom text field testing a...b...c...{enter}EOT", { force: true });
//GET ROUTE
//SAve the record and ensure it's different
cy.get('[data-cy="widget-edit:save"]').click();
cy.url().should("not.eql", startUrl);
cy.url().should("include", "/widgets");
cy.get("[data-cy=serial]").should("not.have.value", 0); //server sets new value on save
//PUT
cy.get("[data-cy=count]").type("321", { force: true });
cy.get('[data-cy="widget-edit:save"]').click({ force: true });
//now get it back again and confirm settings
//confirm it's the same one
cy.get("[data-cy=name]").should("have.value", name);
@@ -115,9 +133,9 @@ describe("WIDGET FORM", () => {
cy.get('[data-cy="widget-edit:delete"]').click();
cy.get('[data-cy="gzconfirm:yesbutton"]').click();
//LOGOUT
cy.get("[data-cy=contextmenu]").click();
cy.get("[data-cy='app:logout']").click();
cy.url().should("include", "/login");
// //LOGOUT
// cy.get("[data-cy=contextmenu]").click();
// cy.get("[data-cy='app:logout']").click();
// cy.url().should("include", "/login");
});
});