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."); +});