From adb9dacc199b22a329e63793c2d5813bf2777767 Mon Sep 17 00:00:00 2001 From: Adel Bensaad Date: Thu, 3 Oct 2024 09:59:30 +0100 Subject: [PATCH] chore: add debug logging for login and session handling --- cypress/support/e2e.js | 46 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 6 deletions(-) diff --git a/cypress/support/e2e.js b/cypress/support/e2e.js index 641209a96..7c3ba3015 100644 --- a/cypress/support/e2e.js +++ b/cypress/support/e2e.js @@ -36,6 +36,11 @@ before(() => { const baseUrl = Cypress.env('dhis2BaseUrl') const instanceVersion = Cypress.env('dhis2InstanceVersion') + cy.task( + 'log', + `Attempting to log in with user: ${username} on base URL: ${baseUrl}` + ) + cy.request({ url: `${baseUrl}/${LOGIN_ENDPOINT}`, method: 'POST', @@ -46,12 +51,20 @@ before(() => { j_password: password, '2fa_code': '', }, - }).should((response) => { + }).then((response) => { + cy.task('log', `Login request returned status: ${response.status}`) expect(response.status).to.eq(200) + if (response.redirectedToUrl) { + cy.task('log', `Redirected to URL: ${response.redirectedToUrl}`) + } }) cy.getAllCookies() .should((cookies) => { + cy.task( + 'log', + `Cookies after login attempt: ${JSON.stringify(cookies)}` + ) expect(cookies.length).to.be.at.least(1) }) .then((cookies) => { @@ -59,10 +72,23 @@ before(() => { baseUrl, cookies ) - Cypress.env( - computeEnvVariableName(instanceVersion), - JSON.stringify(sessionCookieForBaseUrl) - ) + if (sessionCookieForBaseUrl) { + cy.task( + 'log', + `Found session cookie for base URL: ${JSON.stringify( + sessionCookieForBaseUrl + )}` + ) + Cypress.env( + computeEnvVariableName(instanceVersion), + JSON.stringify(sessionCookieForBaseUrl) + ) + } else { + cy.task( + 'log', + `Session cookie not found for base URL: ${baseUrl}` + ) + } }) }) @@ -70,12 +96,20 @@ beforeEach(() => { const baseUrl = Cypress.env('dhis2BaseUrl') const instanceVersion = Cypress.env('dhis2InstanceVersion') const envVariableName = computeEnvVariableName(instanceVersion) - const { name, value, ...options } = JSON.parse(Cypress.env(envVariableName)) + const sessionCookie = Cypress.env(envVariableName) + + cy.task( + 'log', + `Setting session cookie for base URL: ${baseUrl} with cookie data: ${sessionCookie}` + ) + + const { name, value, ...options } = JSON.parse(sessionCookie) localStorage.setItem(LOCAL_STORAGE_KEY, baseUrl) cy.setCookie(name, value, options) cy.getAllCookies().should((cookies) => { + cy.task('log', `Cookies in beforeEach: ${JSON.stringify(cookies)}`) expect(findSessionCookieForBaseUrl(baseUrl, cookies)).to.exist expect(localStorage.getItem(LOCAL_STORAGE_KEY)).to.equal(baseUrl) })