diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index b15a7d8967..f019b54f17 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -64,7 +64,7 @@ runs: run: pnpm nx sync:check - name: Run Nx build/lint/test/e2e - run: pnpm exec nx affected -t build lint test e2e-ci + run: pnpm exec nx affected -t build lint test typecheck e2e-ci shell: bash - name: Upload Playwright report diff --git a/packages/journey-client/src/lib/config.slice.test.ts b/packages/journey-client/src/lib/config.slice.test.ts index 0f85c4683f..a4a79df186 100644 --- a/packages/journey-client/src/lib/config.slice.test.ts +++ b/packages/journey-client/src/lib/config.slice.test.ts @@ -9,6 +9,7 @@ import { describe, it, expect } from 'vitest'; import { configSlice } from './config.slice.js'; import type { WellknownResponse } from '@forgerock/sdk-types'; +import type { RequestMiddleware } from '@forgerock/sdk-request-middleware'; import type { ResolvedConfig } from './config.slice.js'; function createMockWellknown(overrides: Partial = {}): WellknownResponse { @@ -18,6 +19,8 @@ function createMockWellknown(overrides: Partial = {}): Wellkn token_endpoint: 'https://am.example.com/am/oauth2/alpha/access_token', userinfo_endpoint: 'https://am.example.com/am/oauth2/alpha/userinfo', end_session_endpoint: 'https://am.example.com/am/oauth2/alpha/connect/endSession', + introspection_endpoint: 'https://am.example.com/am/oauth2/alpha/introspect', + revocation_endpoint: 'https://am.example.com/am/oauth2/alpha/token/revoke', ...overrides, }; } @@ -87,7 +90,7 @@ describe('journey-client config.slice', () => { describe('configSlice_Middleware_StoresMiddleware', () => { it('should store the provided middleware array', () => { // Arrange - const mockMiddleware = [{ type: 'test-middleware' as const }]; + const mockMiddleware: RequestMiddleware[] = [(_req, _action, next) => next()]; const payload: ResolvedConfig = { wellknownResponse: createMockWellknown(), middleware: mockMiddleware, diff --git a/packages/journey-client/src/lib/wellknown.utils.test.ts b/packages/journey-client/src/lib/wellknown.utils.test.ts index 0212b3fedf..0dfeb04536 100644 --- a/packages/journey-client/src/lib/wellknown.utils.test.ts +++ b/packages/journey-client/src/lib/wellknown.utils.test.ts @@ -9,6 +9,12 @@ import { describe, it, expect } from 'vitest'; import { convertWellknown } from './wellknown.utils.js'; import type { WellknownResponse } from '@forgerock/sdk-types'; +import type { ResolvedServerConfig } from './wellknown.utils.js'; + +function assertResolved(result: unknown): asserts result is ResolvedServerConfig { + expect(result).toBeDefined(); + expect(result).not.toHaveProperty('error'); +} function createMockWellknown(overrides: Partial = {}): WellknownResponse { return { @@ -34,6 +40,7 @@ describe('wellknown.utils', () => { const result = convertWellknown(data); // Assert + assertResolved(result); expect(result.baseUrl).toBe('https://am.example.com'); expect(result.paths.authenticate).toBe('/am/json/alpha/authenticate'); expect(result.paths.sessions).toBe('/am/json/alpha/sessions/'); @@ -52,6 +59,7 @@ describe('wellknown.utils', () => { const result = convertWellknown(data); // Assert + assertResolved(result); expect(result.baseUrl).toBe('https://test.com'); expect(result.paths.authenticate).toBe('/am/json/realms/root/authenticate'); expect(result.paths.sessions).toBe('/am/json/realms/root/sessions/'); @@ -70,6 +78,7 @@ describe('wellknown.utils', () => { const result = convertWellknown(data); // Assert + assertResolved(result); expect(result.baseUrl).toBe('https://test.com'); expect(result.paths.authenticate).toBe('/am/json/realms/root/realms/alpha/authenticate'); expect(result.paths.sessions).toBe('/am/json/realms/root/realms/alpha/sessions/'); @@ -89,6 +98,7 @@ describe('wellknown.utils', () => { const result = convertWellknown(data); // Assert + assertResolved(result); expect(result.baseUrl).toBe('https://test.com'); expect(result.paths.authenticate).toBe( '/am/json/realms/root/realms/customers/realms/premium/authenticate', @@ -111,6 +121,7 @@ describe('wellknown.utils', () => { const result = convertWellknown(data); // Assert + assertResolved(result); expect(result.baseUrl).toBe('https://am.example.com:8443'); expect(result.paths.authenticate).toBe('/am/json/alpha/authenticate'); }); @@ -128,6 +139,7 @@ describe('wellknown.utils', () => { const result = convertWellknown(data); // Assert + assertResolved(result); expect(result.baseUrl).toBe('https://am.example.com'); expect(result.paths.authenticate).toBe('/json/alpha/authenticate'); expect(result.paths.sessions).toBe('/json/alpha/sessions/'); @@ -185,6 +197,7 @@ describe('wellknown.utils', () => { const result = convertWellknown(data); // Assert + assertResolved(result); expect(result.baseUrl).toBe('http://localhost:9443'); expect(result.paths.authenticate).toBe('/am/json/realms/root/authenticate'); expect(result.paths.sessions).toBe('/am/json/realms/root/sessions/'); diff --git a/packages/sdk-effects/oidc/src/lib/wellknown.effects.test.ts b/packages/sdk-effects/oidc/src/lib/wellknown.effects.test.ts index aee2893ad5..4e2c39dcc1 100644 --- a/packages/sdk-effects/oidc/src/lib/wellknown.effects.test.ts +++ b/packages/sdk-effects/oidc/src/lib/wellknown.effects.test.ts @@ -17,6 +17,10 @@ function createMockWellknown(overrides: Partial = {}): Wellkn issuer: 'https://am.example.com/am/oauth2/alpha', authorization_endpoint: 'https://am.example.com/am/oauth2/alpha/authorize', token_endpoint: 'https://am.example.com/am/oauth2/alpha/access_token', + userinfo_endpoint: 'https://am.example.com/am/oauth2/alpha/userinfo', + end_session_endpoint: 'https://am.example.com/am/oauth2/alpha/connect/endSession', + introspection_endpoint: 'https://am.example.com/am/oauth2/alpha/introspect', + revocation_endpoint: 'https://am.example.com/am/oauth2/alpha/token/revoke', ...overrides, }; }