Skip to content

Commit 7823d48

Browse files
committed
chore(journey-client): address feedback and file/directory renaming
1 parent f632f00 commit 7823d48

80 files changed

Lines changed: 400 additions & 380 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ packages/**/coverage/
1919
node_modules/
2020
tests/**/app/index.js*
2121
tests/**/ie11/ie-bundle.js*
22+
2223
# Out-TSC directories (TypeScript output)
2324
**/out-tsc/*
2425
out-tsc/
@@ -32,6 +33,7 @@ out-tsc/
3233

3334
# Test code
3435
tests/**/app/index.js*
36+
e2e/**/.env.e2e
3537
test-results
3638

3739
# Environment files
@@ -53,7 +55,7 @@ vite.config.*.timestamp*
5355
.netrc
5456

5557
# ignore this in CI please.
56-
# Nx stuff we get in CI that we dont want to commit
58+
# Nx stuff we get in CI that we don't want to commit
5759
code
5860
terminalOutput
5961
outputs/*
@@ -82,4 +84,4 @@ test-output
8284

8385
# Gemini local knowledge base files
8486
GEMINI.md
85-
**/GEMINI.md
87+
**/GEMINI.md

e2e/davinci-suites/.env.e2e

Lines changed: 0 additions & 2 deletions
This file was deleted.

e2e/journey-app/components/password.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import type { PasswordCallback } from '@forgerock/journey-client/types';
88

99
export default function passwordComponent(
10-
formEl: HTMLFormElement,
10+
journeyEl: HTMLDivElement,
1111
callback: PasswordCallback,
1212
idx: number,
1313
) {
@@ -21,10 +21,10 @@ export default function passwordComponent(
2121
input.id = collectorKey;
2222
input.name = collectorKey;
2323

24-
formEl?.appendChild(label);
25-
formEl?.appendChild(input);
24+
journeyEl?.appendChild(label);
25+
journeyEl?.appendChild(input);
2626

27-
formEl?.querySelector(`#${collectorKey}`)?.addEventListener('input', (event) => {
27+
journeyEl?.querySelector(`#${collectorKey}`)?.addEventListener('input', (event) => {
2828
callback.setPassword((event.target as HTMLInputElement).value);
2929
});
3030
}

e2e/journey-app/components/text.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import type { NameCallback } from '@forgerock/journey-client/types';
88

99
export default function textComponent(
10-
formEl: HTMLFormElement,
10+
journeyEl: HTMLDivElement,
1111
callback: NameCallback,
1212
idx: number,
1313
) {
@@ -21,10 +21,10 @@ export default function textComponent(
2121
input.id = collectorKey;
2222
input.name = collectorKey;
2323

24-
formEl?.appendChild(label);
25-
formEl?.appendChild(input);
24+
journeyEl?.appendChild(label);
25+
journeyEl?.appendChild(input);
2626

27-
formEl?.querySelector(`#${collectorKey}`)?.addEventListener('input', (event) => {
27+
journeyEl?.querySelector(`#${collectorKey}`)?.addEventListener('input', (event) => {
2828
callback.setName((event.target as HTMLInputElement).value);
2929
});
3030
}

e2e/journey-app/index.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
<img src="./public/typescript.svg" class="logo vanilla" alt="TypeScript logo" />
1717
</a>
1818
<form id="form">
19-
<div class="error-div"></div>
19+
<div id="error-container"></div>
20+
<div id="journey-container"></div>
2021
</form>
2122
</div>
2223
</div>

e2e/journey-app/main.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ const requestMiddleware: RequestMiddleware[] = [
4343

4444
(async () => {
4545
const journeyClient = await journey({ config, requestMiddleware });
46-
const formEl = document.getElementById('form') as HTMLFormElement;
46+
const errorEl = document.getElementById('error') as HTMLDivElement;
47+
const journeyEl = document.getElementById('journey') as HTMLDivElement;
4748

4849
let step = await journeyClient.start();
4950

@@ -54,7 +55,7 @@ const requestMiddleware: RequestMiddleware[] = [
5455

5556
const session = step.getSessionToken();
5657

57-
formEl.innerHTML = `
58+
journeyEl.innerHTML = `
5859
<h2>Complete</h2>
5960
<span>Session:</span>
6061
<pre data-testid="sessionToken" id="sessionToken">${session}</pre>
@@ -79,17 +80,16 @@ const requestMiddleware: RequestMiddleware[] = [
7980
}
8081

8182
const error = step.payload.message;
82-
const errorDiv = formEl.querySelector('#error-div');
83-
if (errorDiv) {
84-
errorDiv.innerHTML = `
83+
if (errorEl) {
84+
errorEl.innerHTML = `
8585
<pre>${error}</pre>
8686
`;
8787
}
8888
}
8989

9090
// Represents the main render function for app
9191
async function renderForm() {
92-
formEl.innerHTML = '';
92+
journeyEl.innerHTML = '';
9393

9494
if (step?.type !== 'Step') {
9595
throw new Error('Expected step to be defined and of type Step');
@@ -99,22 +99,22 @@ const requestMiddleware: RequestMiddleware[] = [
9999

100100
const header = document.createElement('h2');
101101
header.innerText = formName || '';
102-
formEl.appendChild(header);
102+
journeyEl.appendChild(header);
103103

104104
const callbacks = step.callbacks;
105105

106106
callbacks.forEach((callback, idx) => {
107107
if (callback.getType() === 'NameCallback') {
108108
const cb = callback as NameCallback;
109109
textComponent(
110-
formEl, // You can ignore this; it's just for rendering
110+
journeyEl, // You can ignore this; it's just for rendering
111111
cb, // This callback class
112112
idx,
113113
);
114114
} else if (callback.getType() === 'PasswordCallback') {
115115
const cb = callback as PasswordCallback;
116116
passwordComponent(
117-
formEl, // You can ignore this; it's just for rendering
117+
journeyEl, // You can ignore this; it's just for rendering
118118
cb, // This callback class
119119
idx,
120120
);
@@ -125,10 +125,10 @@ const requestMiddleware: RequestMiddleware[] = [
125125
submitBtn.type = 'submit';
126126
submitBtn.id = 'submitButton';
127127
submitBtn.innerText = 'Submit';
128-
formEl.appendChild(submitBtn);
128+
journeyEl.appendChild(submitBtn);
129129
}
130130

131-
formEl.addEventListener('submit', async (event) => {
131+
journeyEl.addEventListener('submit', async (event) => {
132132
event.preventDefault();
133133

134134
if (step?.type !== 'Step') {

e2e/journey-suites/.env.e2e

Lines changed: 0 additions & 2 deletions
This file was deleted.

e2e/journey-suites/src/basic.test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import { expect, test } from '@playwright/test';
99
import { asyncEvents } from './utils/async-events.js';
10+
import { username, password } from './utils/demo-user.js';
1011

1112
test('Test happy paths on test page', async ({ page }) => {
1213
const { navigate } = asyncEvents(page);
@@ -23,8 +24,8 @@ test('Test happy paths on test page', async ({ page }) => {
2324
expect(page.url()).toBe('http://localhost:5829/');
2425

2526
// Perform basic login
26-
await page.getByLabel('User Name').fill('demouser');
27-
await page.getByLabel('Password').fill('U.QPDWEN47ZMyJhCDmhGLK*nr');
27+
await page.getByLabel('User Name').fill(username);
28+
await page.getByLabel('Password').fill(password);
2829
await page.getByRole('button', { name: 'Submit' }).click();
2930
await expect(page.getByText('Complete')).toBeVisible();
3031

e2e/journey-suites/src/utils/async-events.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export function asyncEvents(page) {
3232
}
3333
const clientIdStorage = originStorage?.localStorage.find((item) => item.name === clientId);
3434

35-
if (clientIdStorage && typeof clientIdStorage.value !== 'string' && !clientIdStorage.value) {
35+
if (!clientIdStorage || typeof clientIdStorage.value !== 'string' || !clientIdStorage.value) {
3636
return null;
3737
}
3838
try {

packages/journey-client/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
* of the MIT license. See the LICENSE file for details.
66
*/
77

8-
export * from './lib/journey-client.js';
8+
export * from './lib/journey.store.js';

0 commit comments

Comments
 (0)