// Basic smoke test, visit every form to ensure they load describe("SMOKE SETUP", () => { before(() => { cy.request({ url: `${Cypress.env("apiBaseUrl")}auth`, method: "POST", body: { login: Cypress.env("admin").login, password: Cypress.env("admin").password } }) .its("body") .then((res) => { cy.request({ method: "GET", url: `${Cypress.env("apiBaseUrl")}server-info`, auth: { bearer: res.data.token } }).then((resp) => { const raw = resp.body.data.serverVersion const match = raw.match(/(\d+\.\d+\.\d+)/) if (!match) { cy.task('setAbortFlag').then(() => { throw new Error(`Could not parse version from: "${raw}"`) }) return // prevent further execution } const version = match[1] const expected = Cypress.env("expectedServerVersion") if (version !== expected) { cy.task('setAbortFlag').then(() => { throw new Error(`❌ Version mismatch: server is ${version}, expected ${expected}. ABORTING ALL TESTS.`) }) return // prevent further execution } cy.log(`✓ Server version confirmed: ${version}`) }) }) }) it("Generates test data without issue", () => { cy.request({ url: `${Cypress.env("apiBaseUrl")}auth`, method: "POST", body: { login: Cypress.env("admin").login, password: Cypress.env("admin").password } }) .its("body") .then(res => { cy.request({ method: "POST", url: `${Cypress.env("apiBaseUrl")}license/permanently-erase-all-data`, auth: { bearer: res.data.token }, headers: { "Content-Type": "application/json" }, body: JSON.stringify("I understand") }).then(() => { cy.request({ method: "POST", url: `${Cypress.env("apiBaseUrl")}trial/seed`, auth: { bearer: res.data.token }, ///small/-7/true body: { seedLevel: "small", timeZoneOffset: -7, e2e: true } }) .its("body") .then(resjob => { cy.log(`resjob is: ${JSON.stringify(resjob)}`); // expect(resjob.body).to.have.property('jobId'); confirmJobDone(resjob.jobId, res.data.token); }); }); }); //----------------------------------------------------- }); }); function confirmJobDone(jobId, authToken) { cy.request({ method: "GET", url: `${Cypress.env("apiBaseUrl")}job-operations/status/${jobId}`, auth: { bearer: authToken } }).then(resp => { //3 means job done if (resp.body.data == 3) return; // else recurse cy.wait(1000); confirmJobDone(jobId, authToken); }); } //=============================================== // describe("SMOKE SETUP", () => { // it("Generates test data without issue", () => { // cy.request({ // url: `${Cypress.env("apiBaseUrl")}auth`, // method: "POST", // body: { // login: Cypress.env("admin").login, // password: Cypress.env("admin").password // } // }) // .its("body") // .then((res) => { // cy.request({ // method: "POST", // url: `${Cypress.env("apiBaseUrl")}trial/seed`, // auth: { // bearer: res.data.token // }, ///small/-7/true // body: { // seedLevel: "small", // timeZoneOffset: -7, // e2e: true // } // }) // .its("body") // .then((resjob) => { // cy.log(`resjob is: ${JSON.stringify(resjob)}`); // // expect(resjob.body).to.have.property('jobId'); // confirmJobDone(resjob.jobId, res.data.token); // }); // }); // //----------------------------------------------------- // }); // }); // function confirmJobDone(jobId, authToken) { // cy.request({ // method: "GET", // url: `${Cypress.env("apiBaseUrl")}job-operations/status/${jobId}`, // auth: { // bearer: authToken // } // }).then((resp) => { // //3 means job done // if (resp.body.data == 3) return; // // else recurse // cy.wait(1000); // confirmJobDone(jobId, authToken); // }); // }