From a55252fb8911df00965a8c21d0997c075a5fc1eb Mon Sep 17 00:00:00 2001 From: Jason Kulatunga Date: Sat, 1 Jun 2024 15:16:51 -0700 Subject: [PATCH] working athena test. --- js/e2e/src/athena_test.ts | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 js/e2e/src/athena_test.ts diff --git a/js/e2e/src/athena_test.ts b/js/e2e/src/athena_test.ts new file mode 100644 index 000000000..a0364cb58 --- /dev/null +++ b/js/e2e/src/athena_test.ts @@ -0,0 +1,34 @@ +import { test, expect } from "@playwright/test"; +import {getEndpointDefinition} from '../utils'; +import {generateSourceAuthorizeUrl} from '../../src/connect/authorization-url'; + +test("Athena Login Flow", async ({page}) => { + test.skip() + + //get the Cerner Sandbox endpoint definition + let endpointDefinition = await getEndpointDefinition('950e9092-8ce7-4926-ad87-64616f00cb4c') + let authorizeData = await generateSourceAuthorizeUrl(endpointDefinition) + + // authorizeData.sourceState + console.log(authorizeData.url.toString()) + + // Start login flow by clicking on button with text "Login to MyChart" + await page.goto(authorizeData.url.toString()); + + // We are on login page + await page.waitForSelector("text=Fasten Health - preview"); + await expect(page).toHaveTitle("Login"); + await page.click("label[for='okta-signin-username']", { force: true }); + await page.keyboard.type("phrtest_preview@mailinator.com"); + await page.click("label[for='okta-signin-password']", { force: true }); + await page.keyboard.type("Password1"); + await page.click("#okta-signin-submit"); + + // We have logged in + await page.waitForSelector("text=Select a health record"); + await expect(page).toHaveTitle("Login"); + await page.locator("text=Jake Medlock (you)").click(); + + // If successful, Fasten Lighthouse page should now be visible + await page.waitForSelector("text=Your account has been securely connected to FASTEN."); +});