@wise/dynamic-flow-client-internal 5.28.2 → 5.28.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/main.js +1 -1
- package/build/main.mjs +1 -1
- package/package.json +2 -2
- package/build/dynamicFlow/DynamicFlow.js +0 -11
- package/build/dynamicFlow/DynamicFlowModal.js +0 -21
- package/build/dynamicFlow/DynamicFlowWiseProps.js +0 -1
- package/build/dynamicFlow/DynamicFlowWithRef.js +0 -19
- package/build/dynamicFlow/context-menu/useContextMenu.js +0 -33
- package/build/dynamicFlow/context-menu/useDFContextMenu.js +0 -135
- package/build/dynamicFlow/context-menu/useDFContextMenu.test.js +0 -101
- package/build/dynamicFlow/getMergedRenderers.js +0 -36
- package/build/dynamicFlow/messages.js +0 -13
- package/build/dynamicFlow/renderers.js +0 -10
- package/build/dynamicFlow/telemetry/app-version.js +0 -4
- package/build/dynamicFlow/telemetry/dispatchAnalyticsEvent.js +0 -8
- package/build/dynamicFlow/telemetry/getLogEvent.js +0 -22
- package/build/dynamicFlow/telemetry/getTrackEvent.js +0 -39
- package/build/dynamicFlow/telemetry/index.js +0 -2
- package/build/dynamicFlow/useCreateSnackBar.js +0 -9
- package/build/dynamicFlow/useOnCopy.js +0 -16
- package/build/dynamicFlow/useWiseHttpClient.js +0 -24
- package/build/dynamicFlow/useWiseToCoreProps.js +0 -42
- package/build/i18n/index.js +0 -43
- package/build/index.js +0 -6
- package/build/stories/ButtonLoader.story.js +0 -109
- package/build/stories/ContainerQueries.story.js +0 -74
- package/build/stories/DynamicFlow.story.js +0 -37
- package/build/stories/DynamicFlowWithRef.story.js +0 -72
- package/build/stories/Editable.story.js +0 -58
- package/build/stories/Initialisation.story.js +0 -33
- package/build/stories/PinnedButtons.story.js +0 -94
- package/build/stories/SCAIntegration.story.js +0 -67
- package/build/stories/utils/fixtureHttpClient.js +0 -59
- package/build/test-utils/NeptuneProviders.js +0 -11
- package/build/test-utils/index.js +0 -4
- package/build/test-utils/respond-with.js +0 -6
- package/build/test-utils/rtl-utils.js +0 -7
- package/build/test-utils/wait.js +0 -3
- package/build/tests/DynamicFlow.test.js +0 -177
- package/build/tests/HideStepTitle.test.js +0 -58
- package/build/tests/RequestCache.test.js +0 -34
- package/build/tests/SCARejectionHandling.test.js +0 -71
- package/build/tests/Subflow.Wise.test.js +0 -650
- package/build/tests/events.test.js +0 -124
- package/build/tests/logging.test.js +0 -12
- package/build/tests/onNotification.test.js +0 -96
- package/build/tests/renderers/ControlAndTags.test.js +0 -225
- package/build/tests/renderers/ImageRenderer.test.js +0 -129
- package/build/tests/renderers/RadioInputRendererComponent.test.js +0 -89
- package/build/tests/renderers/ReviewRenderer.test.js +0 -41
- package/build/tests/renderers/TextInputRenderer.test.js +0 -44
- package/build/tests/renderers/TimeZoneHeader.test.js +0 -19
- package/build/tests/renderers/UploadInputRenderer.maxSize.test.js +0 -22
- package/build/tests/renderers/value-utils.test.js +0 -24
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { screen } from '@testing-library/react';
|
|
3
|
-
import userEvent from '@testing-library/user-event';
|
|
4
|
-
import ReviewRenderer from '@wise/dynamic-flow-renderers/src/ReviewRenderer';
|
|
5
|
-
import { vi } from 'vitest';
|
|
6
|
-
import { renderWithProviders } from '../../test-utils/rtl-utils';
|
|
7
|
-
const user = userEvent.setup({ advanceTimers: vi.advanceTimersByTime });
|
|
8
|
-
const ReviewRendererComponent = ReviewRenderer.render;
|
|
9
|
-
describe('ReviewRenderer', () => {
|
|
10
|
-
const getProps = (fields) => ({
|
|
11
|
-
type: 'review',
|
|
12
|
-
uid: 'uid',
|
|
13
|
-
fields,
|
|
14
|
-
margin: 'md',
|
|
15
|
-
render: () => null,
|
|
16
|
-
stepLoadingState: 'idle',
|
|
17
|
-
features: {},
|
|
18
|
-
trackEvent: vi.fn(),
|
|
19
|
-
httpClient: vi.fn(),
|
|
20
|
-
});
|
|
21
|
-
describe('when help is provided in a field', () => {
|
|
22
|
-
const props = getProps([
|
|
23
|
-
{
|
|
24
|
-
label: 'Field Label',
|
|
25
|
-
value: 'Field Value',
|
|
26
|
-
help: 'Field Help',
|
|
27
|
-
analyticsId: 'review-field-aid',
|
|
28
|
-
},
|
|
29
|
-
]);
|
|
30
|
-
describe('when clicking the help icon', () => {
|
|
31
|
-
it('should call trackEvent with the correct parameters', async () => {
|
|
32
|
-
renderWithProviders(_jsx(ReviewRendererComponent, Object.assign({}, props)));
|
|
33
|
-
const infoButton = screen.getByRole('button', { name: 'Click here for more info.' });
|
|
34
|
-
await user.click(infoButton);
|
|
35
|
-
expect(props.trackEvent).toHaveBeenCalledWith('Help Pressed', {
|
|
36
|
-
layoutItemId: 'review-field-aid',
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
});
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { screen } from '@testing-library/react';
|
|
3
|
-
import { userEvent } from '@testing-library/user-event';
|
|
4
|
-
import TextInputRenderer from '@wise/dynamic-flow-renderers/src/TextInputRenderer';
|
|
5
|
-
import { vi } from 'vitest';
|
|
6
|
-
import { renderWithProviders } from '../../test-utils/rtl-utils';
|
|
7
|
-
const user = userEvent.setup({ advanceTimers: vi.advanceTimersByTime });
|
|
8
|
-
const TextInputRendererFunction = TextInputRenderer.render;
|
|
9
|
-
describe('TextInputRenderer', () => {
|
|
10
|
-
const props = {
|
|
11
|
-
type: 'input-text',
|
|
12
|
-
autoComplete: 'off',
|
|
13
|
-
control: 'numeric',
|
|
14
|
-
disabled: false,
|
|
15
|
-
uid: 'uid',
|
|
16
|
-
id: 'uid',
|
|
17
|
-
title: 'UK sort code',
|
|
18
|
-
placeholder: '40-30-20',
|
|
19
|
-
required: true,
|
|
20
|
-
value: null,
|
|
21
|
-
displayFormat: '**-**-**',
|
|
22
|
-
maxLength: 8,
|
|
23
|
-
minLength: 6,
|
|
24
|
-
render: () => null,
|
|
25
|
-
trackEvent: vi.fn(),
|
|
26
|
-
stepLoadingState: 'idle',
|
|
27
|
-
httpClient: vi.fn(),
|
|
28
|
-
validationState: undefined,
|
|
29
|
-
fieldLoadingState: 'idle',
|
|
30
|
-
features: {},
|
|
31
|
-
onBlur: vi.fn(),
|
|
32
|
-
onFocus: vi.fn(),
|
|
33
|
-
onChange: vi.fn(),
|
|
34
|
-
};
|
|
35
|
-
describe('when focused', () => {
|
|
36
|
-
it('does not trigger onChange', async () => {
|
|
37
|
-
const onChange = vi.fn();
|
|
38
|
-
renderWithProviders(_jsx(TextInputRendererFunction, Object.assign({}, props, { onChange: onChange })));
|
|
39
|
-
const input = screen.getByLabelText('UK sort code');
|
|
40
|
-
await user.click(input);
|
|
41
|
-
expect(onChange).not.toHaveBeenCalled();
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
});
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { vi } from 'vitest';
|
|
3
|
-
import { DynamicFlow } from '../../dynamicFlow/DynamicFlow';
|
|
4
|
-
import { renderWithProviders } from '../../test-utils/rtl-utils';
|
|
5
|
-
describe('TimeZoneHeader', () => {
|
|
6
|
-
it('includes a time-zone header in all requests', () => {
|
|
7
|
-
const props = {
|
|
8
|
-
flowId: 'test',
|
|
9
|
-
initialAction: { url: '/api/test', method: 'GET' },
|
|
10
|
-
customFetch: vi.fn(),
|
|
11
|
-
onCompletion: vi.fn(),
|
|
12
|
-
onError: vi.fn(),
|
|
13
|
-
};
|
|
14
|
-
renderWithProviders(_jsx(DynamicFlow, Object.assign({}, props)));
|
|
15
|
-
expect(props.customFetch).toHaveBeenCalledWith('/api/test', expect.anything());
|
|
16
|
-
const requestHeaders = new Headers(props.customFetch.mock.calls[0][1].headers);
|
|
17
|
-
expect(requestHeaders.get('Time-Zone')).toBeDefined();
|
|
18
|
-
});
|
|
19
|
-
});
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { UploadInputRenderer } from '@wise/dynamic-flow-renderers/src/UploadInputRenderer';
|
|
2
|
-
import { vi } from 'vitest';
|
|
3
|
-
const rendererFunction = UploadInputRenderer.render;
|
|
4
|
-
const getProps = (overrides = {}) => (Object.assign({ type: 'input-upload', uid: 'test-upload', id: 'test-upload', title: 'Upload File', description: 'Please upload your file', disabled: false, source: 'file', accepts: ['image/*'], maxSize: undefined, value: null, required: false, stepLoadingState: 'idle', validationState: { status: 'valid' }, fieldLoadingState: 'idle', features: {}, onUpload: vi.fn(), render: vi.fn(), httpClient: vi.fn(), trackEvent: vi.fn(), onBlur: vi.fn(), onFocus: vi.fn() }, overrides));
|
|
5
|
-
describe('UploadInputRenderer maxSize', () => {
|
|
6
|
-
describe('when maxSize is set', () => {
|
|
7
|
-
it('should pass maxSize to UploadInput', () => {
|
|
8
|
-
const props = getProps({ maxSize: 5120000 }); // 5 MB
|
|
9
|
-
const renderedComponent = rendererFunction(props);
|
|
10
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
11
|
-
expect(renderedComponent === null || renderedComponent === void 0 ? void 0 : renderedComponent.props.children.props.sizeLimit).toBe(5000); // 5 MB in KB
|
|
12
|
-
});
|
|
13
|
-
});
|
|
14
|
-
describe('when maxSize is not set', () => {
|
|
15
|
-
it('should pass null to UploadInput', () => {
|
|
16
|
-
const props = getProps();
|
|
17
|
-
const renderedComponent = rendererFunction(props);
|
|
18
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
19
|
-
expect(renderedComponent === null || renderedComponent === void 0 ? void 0 : renderedComponent.props.children.props.sizeLimit).toBeNull();
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { dateStringToDateOrNull, dateToDateString } from '@wise/dynamic-flow-renderers/src/utils/value-utils';
|
|
2
|
-
describe('dateStringToDateOrNull', () => {
|
|
3
|
-
it('should return null if the input is nullish', () => {
|
|
4
|
-
expect(dateStringToDateOrNull(undefined)).toBeNull();
|
|
5
|
-
expect(dateStringToDateOrNull('')).toBeNull();
|
|
6
|
-
expect(dateStringToDateOrNull(null)).toBeNull();
|
|
7
|
-
});
|
|
8
|
-
it('should return null if the input is not a valid date', () => {
|
|
9
|
-
expect(dateStringToDateOrNull('Jan-06-2022')).toBeNull();
|
|
10
|
-
expect(dateStringToDateOrNull('Jan 06 2022')).toBeNull();
|
|
11
|
-
});
|
|
12
|
-
it('should return a Date object if the input is a valid date string', () => {
|
|
13
|
-
const date = dateStringToDateOrNull('2022-01-31');
|
|
14
|
-
expect(date === null || date === void 0 ? void 0 : date.getFullYear()).toBe(2022);
|
|
15
|
-
expect(date === null || date === void 0 ? void 0 : date.getMonth()).toBe(0);
|
|
16
|
-
expect(date === null || date === void 0 ? void 0 : date.getDate()).toBe(31);
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
describe('dateToDateString', () => {
|
|
20
|
-
it('should return a formatted date string when passed a date', () => {
|
|
21
|
-
const date = new Date('2022-01-01');
|
|
22
|
-
expect(dateToDateString(date)).toBe('2022-01-01');
|
|
23
|
-
});
|
|
24
|
-
});
|