@finos/legend-application-studio 26.1.8 → 26.1.9
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/lib/components/editor/editor-group/connection-editor/RelationalDatabaseConnectionEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/connection-editor/RelationalDatabaseConnectionEditor.js +2 -2
- package/lib/components/editor/editor-group/connection-editor/RelationalDatabaseConnectionEditor.js.map +1 -1
- package/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.d.ts +15 -2
- package/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.js +46 -5
- package/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.js.map +1 -1
- package/lib/components/editor/editor-group/data-editor/RelationalCSVDataEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/data-editor/RelationalCSVDataEditor.js +18 -3
- package/lib/components/editor/editor-group/data-editor/RelationalCSVDataEditor.js.map +1 -1
- package/lib/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_NewSchemaSetDriver.d.ts.map +1 -1
- package/lib/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_NewSchemaSetDriver.js +2 -2
- package/lib/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_NewSchemaSetDriver.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingEditor.js +0 -3
- package/lib/components/editor/editor-group/mapping-editor/MappingEditor.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js +36 -72
- package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js.map +1 -1
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.d.ts +5 -0
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.js +53 -8
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.js.map +1 -1
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestableEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestableEditor.js +3 -1
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestableEditor.js.map +1 -1
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestsEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestsEditor.js +7 -3
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestsEditor.js.map +1 -1
- package/lib/components/editor/editor-group/testable/TestableSharedComponents.js +1 -1
- package/lib/components/editor/editor-group/testable/TestableSharedComponents.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +3 -3
- package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.d.ts +22 -1
- package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.js +56 -5
- package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.d.ts +12 -12
- package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.js +113 -61
- package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.d.ts +4 -2
- package/lib/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.js +23 -9
- package/lib/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts +5 -2
- package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.js +23 -16
- package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestEditorState.d.ts +3 -2
- package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestEditorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestEditorState.js +11 -7
- package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestEditorState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.d.ts +3 -2
- package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.js +29 -8
- package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.d.ts +2 -2
- package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.js +8 -6
- package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.d.ts +14 -2
- package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.js +75 -5
- package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.js.map +1 -1
- package/lib/stores/editor/utils/MockDataUtils.d.ts +4 -1
- package/lib/stores/editor/utils/MockDataUtils.d.ts.map +1 -1
- package/lib/stores/editor/utils/MockDataUtils.js +70 -2
- package/lib/stores/editor/utils/MockDataUtils.js.map +1 -1
- package/lib/stores/editor/utils/TestableUtils.d.ts +1 -2
- package/lib/stores/editor/utils/TestableUtils.d.ts.map +1 -1
- package/lib/stores/editor/utils/TestableUtils.js +4 -13
- package/lib/stores/editor/utils/TestableUtils.js.map +1 -1
- package/lib/stores/graph-modifier/DSL_Data_GraphModifierHelper.d.ts +6 -2
- package/lib/stores/graph-modifier/DSL_Data_GraphModifierHelper.d.ts.map +1 -1
- package/lib/stores/graph-modifier/DSL_Data_GraphModifierHelper.js +23 -4
- package/lib/stores/graph-modifier/DSL_Data_GraphModifierHelper.js.map +1 -1
- package/lib/stores/graph-modifier/DSL_Mapping_GraphModifierHelper.js +1 -1
- package/lib/stores/graph-modifier/DSL_Mapping_GraphModifierHelper.js.map +1 -1
- package/lib/stores/graph-modifier/STO_Relational_GraphModifierHelper.d.ts +1 -0
- package/lib/stores/graph-modifier/STO_Relational_GraphModifierHelper.d.ts.map +1 -1
- package/lib/stores/graph-modifier/STO_Relational_GraphModifierHelper.js +3 -0
- package/lib/stores/graph-modifier/STO_Relational_GraphModifierHelper.js.map +1 -1
- package/package.json +13 -13
- package/src/components/editor/editor-group/connection-editor/RelationalDatabaseConnectionEditor.tsx +13 -0
- package/src/components/editor/editor-group/data-editor/EmbeddedDataEditor.tsx +129 -3
- package/src/components/editor/editor-group/data-editor/RelationalCSVDataEditor.tsx +65 -0
- package/src/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_NewSchemaSetDriver.tsx +6 -3
- package/src/components/editor/editor-group/mapping-editor/MappingEditor.tsx +0 -6
- package/src/components/editor/editor-group/mapping-editor/MappingTestableEditor.tsx +159 -366
- package/src/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.tsx +187 -61
- package/src/components/editor/editor-group/service-editor/testable/ServiceTestableEditor.tsx +26 -18
- package/src/components/editor/editor-group/service-editor/testable/ServiceTestsEditor.tsx +85 -83
- package/src/components/editor/editor-group/testable/TestableSharedComponents.tsx +2 -2
- package/src/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.ts +75 -4
- package/src/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.ts +157 -69
- package/src/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.ts +45 -10
- package/src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.ts +37 -15
- package/src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestEditorState.ts +15 -8
- package/src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.ts +57 -6
- package/src/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.ts +10 -6
- package/src/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.ts +92 -3
- package/src/stores/editor/utils/MockDataUtils.ts +109 -1
- package/src/stores/editor/utils/TestableUtils.ts +4 -19
- package/src/stores/graph-modifier/DSL_Data_GraphModifierHelper.ts +45 -6
- package/src/stores/graph-modifier/DSL_Mapping_GraphModifierHelper.ts +1 -1
- package/src/stores/graph-modifier/STO_Relational_GraphModifierHelper.ts +6 -0
@@ -1,4 +1,4 @@
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
2
2
|
/**
|
3
3
|
* Copyright (c) 2020-present, Goldman Sachs
|
4
4
|
*
|
@@ -17,7 +17,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
17
|
import { observer } from 'mobx-react-lite';
|
18
18
|
import { ModelStore, Database, getMappingCompatibleClasses, getRootSetImplementation, RelationalInstanceSetImplementation, EmbeddedRelationalInstanceSetImplementation, isStubbed_RawLambda, stub_RawLambda, } from '@finos/legend-graph';
|
19
19
|
import { forwardRef, useEffect, useRef, useState } from 'react';
|
20
|
-
import { BlankPanelPlaceholder, CaretDownIcon, clsx, compareLabelFn, CustomSelectorInput, Dialog, DropdownMenu, MenuContent, MenuContentItem, Modal, ModalBody, ModalFooter, ModalFooterButton, ModalTitle, PanelContent, PanelFormTextField, PencilIcon, PlusIcon, ResizablePanel, ResizablePanelGroup, ResizablePanelSplitter, ResizablePanelSplitterLine, RunAllIcon, RunErrorsIcon, TestTubeIcon, CheckCircleIcon, TimesCircleIcon, PanelLoadingIndicator, ContextMenu,
|
20
|
+
import { BlankPanelPlaceholder, CaretDownIcon, clsx, compareLabelFn, CustomSelectorInput, Dialog, DropdownMenu, MenuContent, MenuContentItem, Modal, ModalBody, ModalFooter, ModalFooterButton, ModalTitle, PanelContent, PanelFormTextField, PencilIcon, PlusIcon, ResizablePanel, ResizablePanelGroup, ResizablePanelSplitter, ResizablePanelSplitterLine, RunAllIcon, RunErrorsIcon, TestTubeIcon, CheckCircleIcon, TimesCircleIcon, PanelLoadingIndicator, ContextMenu, ModalHeader, } from '@finos/legend-art';
|
21
21
|
import { assertErrorThrown, generateEnumerableNameFromToken, guaranteeNonNullable, prettyCONSTName, uniq, } from '@finos/legend-shared';
|
22
22
|
import { MAPPING_TEST_SUITE_TYPE, MappingQueryTestSuiteState, MappingDataTestState, MappingDataTestSuiteState, MappingQueryTestState, } from '../../../../stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.js';
|
23
23
|
import { useApplicationStore } from '@finos/legend-application';
|
@@ -34,7 +34,11 @@ import { getTestableResultIcon } from '../../side-bar/testable/GlobalTestRunner.
|
|
34
34
|
import { validateTestableId } from '../../../../stores/editor/utils/TestableUtils.js';
|
35
35
|
import { getMappingStores } from '../../../../stores/editor/editor-state/element-editor-state/mapping/MappingEditorState.js';
|
36
36
|
import { EmbeddedDataType } from '../../../../stores/editor/editor-state/ExternalFormatState.js';
|
37
|
-
import { buildElementOption, } from '@finos/legend-lego/graph-editor';
|
37
|
+
import { buildElementOption, getPackageableElementOptionFormatter, } from '@finos/legend-lego/graph-editor';
|
38
|
+
const SOURCE_CLASS_FORM_TITLE = 'Source Class To Add Data';
|
39
|
+
const SOURCE_CLASS_FORM_PROMPT = 'Source class to provide test data for';
|
40
|
+
const TARGET_CLASS_FORM_TITLE = 'Target Class To Test';
|
41
|
+
const TARGET_CLASS_FORM_PROMPT = 'Mapped class for which you would like to build test query';
|
38
42
|
const CreateTestSuiteModal = observer((props) => {
|
39
43
|
const { mappingTestableState } = props;
|
40
44
|
const mappingEditorState = mappingTestableState.mappingEditorState;
|
@@ -56,15 +60,10 @@ const CreateTestSuiteModal = observer((props) => {
|
|
56
60
|
}
|
57
61
|
return MAPPING_TEST_SUITE_TYPE.QUERY;
|
58
62
|
};
|
59
|
-
const getDefaultSuiteNamePrefix = (type, _class) => {
|
60
|
-
if (type === MAPPING_TEST_SUITE_TYPE.QUERY && _class) {
|
61
|
-
return `${_class.name}_suite`;
|
62
|
-
}
|
63
|
-
return 'suite';
|
64
|
-
};
|
65
63
|
// Class mapping selector
|
66
64
|
const compatibleClasses = getMappingCompatibleClasses(mapping, editorStore.graphManagerState.usableClasses);
|
67
|
-
const
|
65
|
+
const inputRef = useRef(null);
|
66
|
+
const handleEnter = () => inputRef.current?.focus();
|
68
67
|
const mappedClassOptions = uniq(compatibleClasses)
|
69
68
|
.map((e) => ({
|
70
69
|
label: e.name,
|
@@ -80,14 +79,13 @@ const CreateTestSuiteModal = observer((props) => {
|
|
80
79
|
: null;
|
81
80
|
// init states
|
82
81
|
const [suiteType, setSuiteType] = useState(getDefaultSuite(selectedClass));
|
83
|
-
const [suiteName, setSuiteName] = useState(
|
84
|
-
const
|
85
|
-
const
|
82
|
+
const [suiteName, setSuiteName] = useState(undefined);
|
83
|
+
const [testName, setTestName] = useState(undefined);
|
84
|
+
const isValid = selectedClass && suiteName && testName;
|
86
85
|
const changeClassOption = (val) => {
|
87
86
|
if (val?.value) {
|
88
87
|
setSelectedClass(val.value);
|
89
88
|
setSuiteType(getDefaultSuite(val.value));
|
90
|
-
setSuiteName(generateEnumerableNameFromToken(mapping.tests.map((e) => e.id), getDefaultSuiteNamePrefix(suiteType, selectedClass)));
|
91
89
|
}
|
92
90
|
else {
|
93
91
|
setSelectedClass(undefined);
|
@@ -97,13 +95,13 @@ const CreateTestSuiteModal = observer((props) => {
|
|
97
95
|
// model
|
98
96
|
const close = () => creatorState.setShowModal(false);
|
99
97
|
const create = () => {
|
100
|
-
if (selectedClass && suiteName) {
|
101
|
-
flowResult(creatorState.createAndAddTestSuite(selectedClass, suiteType, suiteName)).catch(editorStore.applicationStore.alertUnhandledError);
|
98
|
+
if (selectedClass && suiteName && testName) {
|
99
|
+
flowResult(creatorState.createAndAddTestSuite(selectedClass, suiteType, suiteName, testName)).catch(editorStore.applicationStore.alertUnhandledError);
|
102
100
|
}
|
103
101
|
};
|
104
102
|
return (_jsx(Dialog, { open: creatorState.showModal, onClose: close, TransitionProps: {
|
105
|
-
onEnter:
|
106
|
-
}, classes: { container: 'search-modal__container' }, PaperProps: { classes: { root: 'search-modal__inner-container' } }, children: _jsxs(Modal, { darkMode: true,
|
103
|
+
onEnter: handleEnter,
|
104
|
+
}, classes: { container: 'search-modal__container' }, PaperProps: { classes: { root: 'search-modal__inner-container' } }, children: _jsxs(Modal, { darkMode: true, children: [_jsx(ModalHeader, { children: _jsx(ModalTitle, { title: "Create Mapping Test Suite" }) }), _jsxs(ModalBody, { children: [_jsx(PanelLoadingIndicator, { isLoading: creatorState.isCreatingSuiteState.isInProgress }), creatorState.isCreatingSuiteState.message && (_jsx("div", { className: "service-registration-editor__progress-msg", children: `${creatorState.isCreatingSuiteState.message}...` })), _jsx(PanelFormTextField, { ref: inputRef, name: "Test Suite Name", prompt: "Unique Identifier for Test suite i.e Person_suite", value: suiteName, update: (value) => setSuiteName(value ?? ''), errorMessage: validateTestableId(suiteName, undefined) }), _jsx(PanelFormTextField, { name: "Test Name", prompt: "Unique Identifier for first test in suite", value: testName, update: (value) => setTestName(value ?? ''), errorMessage: validateTestableId(testName, undefined) }), _jsxs("div", { className: "panel__content__form__section", children: [_jsx("div", { className: "panel__content__form__section__header__label", children: "Class Mapping" }), _jsx("div", { className: "panel__content__form__section__header__prompt", children: "Mapped Class for which you would like to build test suite for" }), _jsx(CustomSelectorInput, { options: mappedClassOptions, onChange: changeClassOption, value: selectedClassOption, formatOptionLabel: getPackageableElementOptionFormatter({}), darkMode: true, placeholder: "Choose a class...", isClearable: true })] })] }), _jsxs(ModalFooter, { children: [_jsx(ModalFooterButton, { disabled: !isValid || creatorState.isCreatingSuiteState.isInProgress, title: 'Create Test', onClick: create, text: "Create" }), _jsx(ModalFooterButton, { onClick: close, text: "Close" })] })] }) }));
|
107
105
|
});
|
108
106
|
const CreateTestModal = observer((props) => {
|
109
107
|
const { mappingSuiteState } = props;
|
@@ -119,7 +117,7 @@ const CreateTestModal = observer((props) => {
|
|
119
117
|
return 'test';
|
120
118
|
};
|
121
119
|
// class
|
122
|
-
const [selectedClass, setSelectedClass] = useState(
|
120
|
+
const [selectedClass, setSelectedClass] = useState(mappingSuiteState.getDefaultClass());
|
123
121
|
const selectedClassOption = selectedClass
|
124
122
|
? {
|
125
123
|
value: selectedClass,
|
@@ -146,11 +144,17 @@ const CreateTestModal = observer((props) => {
|
|
146
144
|
mappingSuiteState.addNewTest(id, selectedClass);
|
147
145
|
close();
|
148
146
|
};
|
147
|
+
const modalTitle = mappingSuiteState instanceof MappingDataTestSuiteState
|
148
|
+
? TARGET_CLASS_FORM_TITLE
|
149
|
+
: SOURCE_CLASS_FORM_TITLE;
|
150
|
+
const modalPrompt = mappingSuiteState instanceof MappingDataTestSuiteState
|
151
|
+
? TARGET_CLASS_FORM_PROMPT
|
152
|
+
: SOURCE_CLASS_FORM_PROMPT;
|
149
153
|
return (_jsx(Dialog, { open: mappingSuiteState.showCreateModal, onClose: close, classes: { container: 'search-modal__container' }, PaperProps: { classes: { root: 'search-modal__inner-container' } }, children: _jsxs(Modal, { darkMode: true, className: "search-modal", children: [_jsx(ModalTitle, { title: "Create Test" }), _jsxs(ModalBody, { children: [_jsx(PanelFormTextField, { name: "Name", prompt: "", value: id, update: (value) => setId(value ?? ''), errorMessage: id.includes(' ')
|
150
154
|
? `Suite name can't contain spaces`
|
151
155
|
: !id
|
152
156
|
? `Suite name is required`
|
153
|
-
: undefined }),
|
157
|
+
: undefined }), _jsxs("div", { className: "panel__content__form__section", children: [_jsx("div", { className: "panel__content__form__section__header__label", children: modalTitle }), _jsx("div", { className: "panel__content__form__section__header__prompt", children: modalPrompt }), _jsx(CustomSelectorInput, { ref: mappedClassSelectorRef, options: mappedClassOptions, onChange: changeClassOption, value: selectedClassOption, darkMode: true, placeholder: "Choose a class...", isClearable: true })] })] }), _jsxs(ModalFooter, { children: [_jsx(ModalFooterButton, { disabled: !isValid, onClick: create, text: "Create" }), _jsx(ModalFooterButton, { onClick: close, text: "Close" })] })] }) }));
|
154
158
|
});
|
155
159
|
const CreateStoreTestDataModal = observer((props) => {
|
156
160
|
const { mappingTestableDataState } = props;
|
@@ -302,73 +306,32 @@ const MappingTestAssertionsEditor = observer((props) => {
|
|
302
306
|
const renameAssertion = (val) => testAssertion_setId(guaranteeNonNullable(mappingDataTestState.assertionToRename), val);
|
303
307
|
return (_jsxs("div", { className: "panel service-test-editor", children: [_jsx("div", { className: "service-test-suite-editor__header", children: _jsx("div", { className: "service-test-suite-editor__header__title", children: _jsx("div", { className: "service-test-suite-editor__header__title__label service-test-suite-editor__header__title__label--assertions", children: "assertions" }) }) }), _jsx("div", { className: "service-test-editor__content", children: _jsxs(ResizablePanelGroup, { orientation: "vertical", children: [_jsxs(ResizablePanel, { minSize: 100, size: 200, children: [_jsxs("div", { className: "binding-editor__header", children: [_jsxs("div", { className: "binding-editor__header__title", children: [_jsxs("div", { className: "testable-test-assertion-explorer__header__summary", children: [_jsx("div", { className: "testable-test-assertion-explorer__header__summary__icon testable-test-assertion-explorer__header__summary__icon--assertion", children: _jsx(TestTubeIcon, {}) }), _jsx("div", { children: mappingDataTestState.assertionCount })] }), _jsxs("div", { className: "testable-test-assertion-explorer__header__summary", children: [_jsx("div", { className: "testable-test-assertion-explorer__header__summary__icon testable-test-assertion-explorer__header__summary__icon--passed", children: _jsx(CheckCircleIcon, {}) }), _jsx("div", { children: mappingDataTestState.assertionPassed })] }), _jsxs("div", { className: "testable-test-assertion-explorer__header__summary", children: [_jsx("div", { className: "testable-test-assertion-explorer__header__summary__icon testable-test-assertion-explorer__header__summary__icon--failed", children: _jsx(TimesCircleIcon, {}) }), _jsx("div", { children: mappingDataTestState.assertionFailed })] })] }), _jsxs("div", { className: "panel__header__actions", children: [_jsx("button", { className: "panel__header__action testable-test-explorer__play__all__icon", tabIndex: -1, onClick: runTest, title: "Run All Assertions", children: _jsx(RunAllIcon, {}) }), _jsx("button", { className: "panel__header__action", tabIndex: -1, onClick: addAssertion, title: "Add Test Assertion", children: _jsx(PlusIcon, {}) })] })] }), _jsx("div", { children: mappingDataTestState.assertionEditorStates.map((assertionState) => (_jsx(TestAssertionItem, { testableTestState: mappingDataTestState, testAssertionEditorState: assertionState, isReadOnly: isReadOnly }, assertionState.assertion.id))) }), mappingDataTestState.assertionToRename && (_jsx(RenameModal, { val: mappingDataTestState.assertionToRename.id, isReadOnly: isReadOnly, showModal: true, closeModal: () => mappingDataTestState.setAssertionToRename(undefined), setValue: renameAssertion, errorMessageFunc: (_val) => validateTestableId(_val, undefined) }))] }), _jsx(ResizablePanelSplitter, { children: _jsx(ResizablePanelSplitterLine, { color: "var(--color-dark-grey-200)" }) }), _jsx(ResizablePanel, { children: mappingDataTestState.selectedAsertionState && (_jsx(TestAssertionEditor, { testAssertionState: mappingDataTestState.selectedAsertionState })) })] }) })] }));
|
304
308
|
});
|
305
|
-
const StoreTestDataContextMenu = observer(forwardRef(function TestContainerContextMenu(props, ref) {
|
306
|
-
const { deleteStoreData } = props;
|
307
|
-
const remove = () => deleteStoreData();
|
308
|
-
return (_jsx(MenuContent, { ref: ref, children: _jsx(MenuContentItem, { onClick: remove, children: "Delete" }) }));
|
309
|
-
}));
|
310
|
-
const StoreTestDataItem = observer((props) => {
|
311
|
-
const { storeTestData, mappingTestableDataState } = props;
|
312
|
-
const [isSelectedFromContextMenu, setIsSelectedFromContextMenu] = useState(false);
|
313
|
-
const store = storeTestData.store.value;
|
314
|
-
const isReadOnly = mappingTestableDataState.mappingTestableState.mappingEditorState
|
315
|
-
.isReadOnly;
|
316
|
-
const openConnectionTestData = () => mappingTestableDataState.openStoreTestData(storeTestData);
|
317
|
-
const isActive = mappingTestableDataState.selectedDataState?.storeTestData ===
|
318
|
-
storeTestData;
|
319
|
-
const deleteStoreTestData = () => mappingTestableDataState.deleteStoreTestData(storeTestData);
|
320
|
-
const onContextMenuOpen = () => setIsSelectedFromContextMenu(true);
|
321
|
-
const onContextMenuClose = () => setIsSelectedFromContextMenu(false);
|
322
|
-
const icon = store instanceof ModelStore ? (_jsx(PURE_ModelStoreIcon, {})) : store instanceof Database ? (_jsx(PURE_DatabaseIcon, {})) : (_jsx(PURE_UnknownElementTypeIcon, {}));
|
323
|
-
return (_jsx(ContextMenu, { className: clsx('testable-test-assertion-explorer__item', {
|
324
|
-
'testable-test-assertion-explorer__item--selected-from-context-menu': !isActive && isSelectedFromContextMenu,
|
325
|
-
}, { 'testable-test-assertion-explorer__item--active': isActive }), disabled: isReadOnly, content: _jsx(StoreTestDataContextMenu, { storeTestData: storeTestData, deleteStoreData: deleteStoreTestData }), menuProps: { elevation: 7 }, onOpen: onContextMenuOpen, onClose: onContextMenuClose, children: _jsxs("button", { className: clsx('testable-test-assertion-explorer__item__label'), onClick: openConnectionTestData, tabIndex: -1, children: [_jsx("div", { className: "testable-test-assertion-explorer__item__label__icon testable-test-assertion-explorer__test-result-indicator__container", children: icon }), _jsx("div", { className: "testable-test-assertion-explorer__item__label__text", children: store.name })] }) }));
|
326
|
-
});
|
327
309
|
const StoreTestDataEditor = observer((props) => {
|
328
310
|
const { mappingTestableDataState, storeTestDataState } = props;
|
329
311
|
const isReadOnly = mappingTestableDataState.mappingTestableState.mappingEditorState
|
330
312
|
.isReadOnly;
|
331
|
-
return (_jsxs("div", { className: "service-test-data-editor", children: [
|
332
|
-
'panel__content__form__section__toggler--disabled': isReadOnly,
|
333
|
-
}) }) })] }), _jsx(EmbeddedDataEditor, { isReadOnly: isReadOnly, embeddedDataEditorState: storeTestDataState.embeddedEditorState })] }));
|
313
|
+
return (_jsxs("div", { className: "service-test-data-editor", children: [_jsx("div", { className: "service-test-suite-editor__header", children: _jsx("div", { className: "service-test-suite-editor__header__title", children: _jsx("div", { className: "service-test-suite-editor__header__title__label", children: "test data input" }) }) }), _jsx(EmbeddedDataEditor, { isReadOnly: isReadOnly, embeddedDataEditorState: storeTestDataState.embeddedEditorState })] }));
|
334
314
|
});
|
335
315
|
const MappingTestableStoreDataEditor = observer((props) => {
|
336
316
|
const { mappingTestableDataState } = props;
|
337
317
|
const addStoreTestData = () => {
|
338
318
|
mappingTestableDataState.setShowModal(true);
|
339
319
|
};
|
340
|
-
return (_jsxs("div", { className: "service-test-data-editor panel", children: [
|
341
|
-
|
342
|
-
});
|
343
|
-
const MappingDataTestSetupEditor = observer((props) => {
|
344
|
-
const { mappingDataTestState } = props;
|
345
|
-
const test = mappingDataTestState.test;
|
346
|
-
return (_jsxs("div", { className: "panel service-test-editor", children: [_jsx("div", { className: "panel__header", children: _jsx("div", { className: "service-test-suite-editor__header__title", children: _jsx("div", { className: "service-test-suite-editor__header__title__label", children: "setup" }) }) }), _jsx("div", { className: "service-test-editor__content", children: _jsxs(ResizablePanelGroup, { orientation: "horizontal", children: [_jsx(ResizablePanel, { size: 150, minSize: 28, children: _jsxs("div", { className: "service-test-data-editor panel", children: [_jsx("div", { className: "service-test-suite-editor__header", children: _jsx("div", { className: "service-test-suite-editor__header__title", children: _jsx("div", { className: "service-test-suite-editor__header__title__label", children: "configuration" }) }) }), _jsx("div", { className: "service-test-editor__setup__configuration", children: _jsx(PanelFormTextField, { name: "Documentation", prompt: "Test Documentation", value: test.doc, update: (value) => atomicTest_setDoc(test, value ?? undefined) }) })] }) }), _jsx(ResizablePanelSplitter, { children: _jsx(ResizablePanelSplitterLine, { color: "var(--color-dark-grey-200)" }) }), _jsx(ResizablePanel, { minSize: 56, children: _jsx(MappingTestableStoreDataEditor, { mappingTestableDataState: mappingDataTestState.dataState }) })] }) })] }));
|
347
|
-
});
|
348
|
-
const MappingQueryTestSetupEditor = observer((props) => {
|
349
|
-
const { mappingQueryTestState } = props;
|
350
|
-
const test = mappingQueryTestState.test;
|
351
|
-
const mappingTestableState = mappingQueryTestState.mappingTestableState;
|
352
|
-
const queryState = mappingQueryTestState.queryState;
|
353
|
-
const isReadOnly = mappingQueryTestState.mappingTestableState.mappingEditorState.isReadOnly;
|
354
|
-
return (_jsxs("div", { className: "panel service-test-editor", children: [_jsx("div", { className: "panel__header", children: _jsx("div", { className: "service-test-suite-editor__header__title", children: _jsx("div", { className: "service-test-suite-editor__header__title__label", children: "setup" }) }) }), _jsx("div", { className: "service-test-editor__content", children: _jsxs(ResizablePanelGroup, { orientation: "horizontal", children: [_jsx(ResizablePanel, { size: 150, minSize: 28, children: _jsxs("div", { className: "service-test-data-editor panel", children: [_jsx("div", { className: "service-test-suite-editor__header", children: _jsx("div", { className: "service-test-suite-editor__header__title", children: _jsx("div", { className: "service-test-suite-editor__header__title__label", children: "configuration" }) }) }), _jsx("div", { className: "service-test-editor__setup__configuration", children: _jsx(PanelFormTextField, { name: "Documentation", prompt: "Test Documentation", value: test.doc, update: (value) => atomicTest_setDoc(test, value) }) })] }) }), _jsx(ResizablePanelSplitter, { children: _jsx(ResizablePanelSplitterLine, { color: "var(--color-dark-grey-200)" }) }), _jsx(ResizablePanel, { minSize: 56, children: _jsx(MappingTestableQueryEditor, { testableQueryState: queryState, mappingTestableState: mappingTestableState, isReadOnly: isReadOnly }) })] }) })] }));
|
320
|
+
return (_jsxs("div", { className: "service-test-data-editor panel", children: [mappingTestableDataState.dataHolder.storeTestData.length ? (_jsxs(_Fragment, { children: [_jsx(PanelLoadingIndicator, { isLoading: Boolean(mappingTestableDataState.selectedDataState
|
321
|
+
?.generatingTestDataSate.isInProgress) }), mappingTestableDataState.selectedDataState && (_jsx(StoreTestDataEditor, { storeTestDataState: mappingTestableDataState.selectedDataState, mappingTestableDataState: mappingTestableDataState }))] })) : (_jsx(BlankPanelPlaceholder, { text: "Add Store Test Data", onClick: addStoreTestData, clickActionType: "add", tooltipText: "Click to add store test data" })), mappingTestableDataState.showNewModal && (_jsx(CreateStoreTestDataModal, { mappingTestableDataState: mappingTestableDataState }))] }));
|
355
322
|
});
|
356
323
|
const MappingTestEditor = observer((props) => {
|
357
324
|
const { mappingTestState } = props;
|
358
325
|
const selectedTab = mappingTestState.selectedTab;
|
326
|
+
const isReadOnly = mappingTestState.mappingTestableState.mappingEditorState.isReadOnly;
|
359
327
|
const renderMappingSetupTestEditor = () => {
|
360
|
-
|
361
|
-
|
362
|
-
}
|
363
|
-
else if (mappingTestState instanceof MappingQueryTestState) {
|
364
|
-
return (_jsx(MappingQueryTestSetupEditor, { mappingQueryTestState: mappingTestState }));
|
365
|
-
}
|
366
|
-
return null;
|
328
|
+
const test = mappingTestState.test;
|
329
|
+
return (_jsx("div", { className: "panel mapping-testable-editorr", children: _jsx("div", { className: "mapping-testable-editor__content", children: _jsxs(ResizablePanelGroup, { orientation: "horizontal", children: [_jsx(ResizablePanel, { size: 150, children: _jsx("div", { className: "service-test-data-editor panel", children: _jsx("div", { className: "service-test-editor__setup__configuration", children: _jsx(PanelFormTextField, { name: "Test Documentation", value: test.doc, update: (value) => atomicTest_setDoc(test, value) }) }) }) }), _jsx(ResizablePanelSplitter, { children: _jsx(ResizablePanelSplitterLine, { color: "var(--color-dark-grey-200)" }) }), _jsxs(ResizablePanel, { children: [mappingTestState instanceof MappingQueryTestState && (_jsx(MappingTestableQueryEditor, { testableQueryState: mappingTestState.queryState, mappingTestableState: mappingTestState.mappingTestableState, isReadOnly: isReadOnly })), mappingTestState instanceof MappingDataTestState && (_jsx(MappingTestableStoreDataEditor, { mappingTestableDataState: mappingTestState.dataState }))] })] }) }) }));
|
367
330
|
};
|
368
331
|
return (_jsxs("div", { className: "service-test-editor panel", children: [_jsx("div", { className: "panel__header", children: _jsx("div", { className: "panel__header service-test-editor__header--with-tabs", children: _jsx("div", { className: "uml-element-editor__tabs", children: Object.values(TESTABLE_TEST_TAB).map((tab) => (_jsx("div", { onClick: () => mappingTestState.setSelectedTab(tab), className: clsx('service-test-editor__tab', {
|
369
332
|
'service-test-editor__tab--active': tab === mappingTestState.selectedTab,
|
370
333
|
}), children: prettyCONSTName(tab) }, tab))) }) }) }), _jsxs("div", { className: "service-test-editor", children: [selectedTab === TESTABLE_TEST_TAB.SETUP &&
|
371
|
-
renderMappingSetupTestEditor(), selectedTab === TESTABLE_TEST_TAB.
|
334
|
+
renderMappingSetupTestEditor(), selectedTab === TESTABLE_TEST_TAB.ASSERTION && (_jsx(MappingTestAssertionsEditor, { mappingDataTestState: mappingTestState }))] })] }));
|
372
335
|
});
|
373
336
|
const MappingTestableContextMenu = observer(forwardRef(function TestContainerContextMenu(props, ref) {
|
374
337
|
const { addName, add, rename, _delete } = props;
|
@@ -409,14 +372,15 @@ const MappingTestItem = observer((props) => {
|
|
409
372
|
});
|
410
373
|
const MappingTestSuiteEditor = observer((props) => {
|
411
374
|
const { mappingTestSuiteState } = props;
|
375
|
+
const editorStore = mappingTestSuiteState.editorStore;
|
412
376
|
const selectedTestState = mappingTestSuiteState.selectTestState;
|
413
377
|
const isReadOnly = mappingTestSuiteState.mappingTestableState.mappingEditorState.isReadOnly;
|
414
378
|
const addTest = () => mappingTestSuiteState.setShowModal(true);
|
415
379
|
const runTests = () => {
|
416
|
-
mappingTestSuiteState.
|
380
|
+
flowResult(mappingTestSuiteState.runSuite()).catch(editorStore.applicationStore.alertUnhandledError);
|
417
381
|
};
|
418
382
|
const runFailingTests = () => {
|
419
|
-
mappingTestSuiteState.runFailingTests();
|
383
|
+
flowResult(mappingTestSuiteState.runFailingTests()).catch(editorStore.applicationStore.alertUnhandledError);
|
420
384
|
};
|
421
385
|
const renderMappingTestSuiteDriver = () => {
|
422
386
|
if (mappingTestSuiteState instanceof MappingDataTestSuiteState) {
|
@@ -436,7 +400,7 @@ const MappingTestSuiteEditor = observer((props) => {
|
|
436
400
|
}
|
437
401
|
return null;
|
438
402
|
};
|
439
|
-
return (_jsxs(ResizablePanelGroup, { orientation: "horizontal", children: [_jsx(ResizablePanel, { size: 300, minSize: 28, children: renderMappingTestSuiteDriver() }), _jsx(ResizablePanelSplitter, { children: _jsx(ResizablePanelSplitterLine, { color: "var(--color-dark-grey-200)" }) }), _jsx(ResizablePanel, { minSize: 56, children: _jsxs(ResizablePanelGroup, { orientation: "vertical", children: [_jsxs(ResizablePanel, { size: 300, minSize: 28, children: [_jsxs("div", { className: "binding-editor__header", children: [_jsx("div", { className: "binding-editor__header__title", children: _jsx("div", { className: "panel__header__title__content", children: "Tests" }) }), _jsxs("div", { className: "panel__header__actions", children: [_jsx("button", { className: "panel__header__action testable-test-explorer__play__all__icon", tabIndex: -1, onClick: runTests, title: "Run All Tests", children: _jsx(RunAllIcon, {}) }), _jsx("button", { className: "panel__header__action testable-test-explorer__play__all__icon", tabIndex: -1, onClick: runFailingTests, title: "Run All Failing Tests", children: _jsx(RunErrorsIcon, {}) }), _jsx("button", { className: "panel__header__action", tabIndex: -1, onClick: addTest, title: "Add Mapping Suite", children: _jsx(PlusIcon, {}) })] })] }), _jsxs(PanelContent, { children: [mappingTestSuiteState.
|
403
|
+
return (_jsxs(ResizablePanelGroup, { orientation: "horizontal", children: [_jsx(ResizablePanel, { size: 300, minSize: 28, children: renderMappingTestSuiteDriver() }), _jsx(ResizablePanelSplitter, { children: _jsx(ResizablePanelSplitterLine, { color: "var(--color-dark-grey-200)" }) }), _jsx(ResizablePanel, { minSize: 56, children: _jsxs(ResizablePanelGroup, { orientation: "vertical", children: [_jsxs(ResizablePanel, { size: 300, minSize: 28, children: [_jsxs("div", { className: "binding-editor__header", children: [_jsx("div", { className: "binding-editor__header__title", children: _jsx("div", { className: "panel__header__title__content", children: "Tests" }) }), _jsxs("div", { className: "panel__header__actions", children: [_jsx("button", { className: "panel__header__action testable-test-explorer__play__all__icon", tabIndex: -1, onClick: runTests, title: "Run All Tests", children: _jsx(RunAllIcon, {}) }), _jsx("button", { className: "panel__header__action testable-test-explorer__play__all__icon", tabIndex: -1, onClick: runFailingTests, title: "Run All Failing Tests", children: _jsx(RunErrorsIcon, {}) }), _jsx("button", { className: "panel__header__action", tabIndex: -1, onClick: addTest, title: "Add Mapping Suite", children: _jsx(PlusIcon, {}) })] })] }), _jsxs(PanelContent, { children: [mappingTestSuiteState.testStates.map((test) => (_jsx(MappingTestItem, { mappingTestState: test, suiteState: mappingTestSuiteState }, test.uuid))), mappingTestSuiteState.showCreateModal && (_jsx(CreateTestModal, { mappingSuiteState: mappingTestSuiteState }))] })] }), _jsx(ResizablePanelSplitter, { children: _jsx(ResizablePanelSplitterLine, { color: "var(--color-dark-grey-200)" }) }), _jsx(ResizablePanel, { minSize: 28, children: renderMappingTestEditor() })] }) })] }));
|
440
404
|
});
|
441
405
|
const MappingTestSuiteItem = observer((props) => {
|
442
406
|
const { suite, mappingTestableState } = props;
|
@@ -494,6 +458,6 @@ export const MappingTestableEditor = observer((props) => {
|
|
494
458
|
const renameTestingComponent = (val) => {
|
495
459
|
mappingTestableState.renameTestableComponent(val);
|
496
460
|
};
|
497
|
-
return (_jsx("div", { className: "service-test-suite-editor panel", children: _jsxs("div", { className: "service-test-suite-editor", children: [_jsxs(ResizablePanelGroup, { orientation: "vertical", children: [_jsxs(ResizablePanel, { size: 200, minSize: 28, children: [_jsxs("div", { className: "binding-editor__header", children: [_jsx("div", { className: "binding-editor__header__title", children: _jsx("div", { className: "panel__header__title__content", children: "Test Suites" }) }), _jsxs("div", { className: "panel__header__actions", children: [_jsx("button", { className: "panel__header__action testable-test-explorer__play__all__icon", tabIndex: -1, onClick: runSuites, title: "Run All Suites", children: _jsx(RunAllIcon, {}) }), _jsx("button", { className: "panel__header__action testable-test-explorer__play__all__icon", tabIndex: -1, onClick: runFailingTests, title: "Run All Failing Tests", children: _jsx(RunErrorsIcon, {}) }), _jsx("button", { className: "panel__header__action", tabIndex: -1, onClick: addSuite, title: "Add Mapping Suite", children: _jsx(PlusIcon, {}) })] })] }), _jsxs(PanelContent, { children: [suites.map((suite) => (_jsx(MappingTestSuiteItem, { mappingTestableState: mappingTestableState, suite: suite }, suite.id))), !suites.length && (_jsx(BlankPanelPlaceholder, { text: "Add Test Suite", onClick: addSuite, clickActionType: "add", tooltipText: "Click to add test suite" }))] }), !suites.length && (_jsx(BlankPanelPlaceholder, { disabled: mappingEditorState.isReadOnly, onClick: addSuite, text: "Add a Test Suite", clickActionType: "add", tooltipText: "Click to add a new mapping test suite" }))] }), _jsx(ResizablePanelSplitter, { children: _jsx(ResizablePanelSplitterLine, { color: "var(--color-dark-grey-200)" }) }), _jsx(ResizablePanel, { minSize: 56, children:
|
461
|
+
return (_jsx("div", { className: "service-test-suite-editor panel", children: _jsxs("div", { className: "service-test-suite-editor", children: [_jsxs(ResizablePanelGroup, { orientation: "vertical", children: [_jsxs(ResizablePanel, { size: 200, minSize: 28, children: [_jsxs("div", { className: "binding-editor__header", children: [_jsx("div", { className: "binding-editor__header__title", children: _jsx("div", { className: "panel__header__title__content", children: "Test Suites" }) }), _jsxs("div", { className: "panel__header__actions", children: [_jsx("button", { className: "panel__header__action testable-test-explorer__play__all__icon", tabIndex: -1, onClick: runSuites, title: "Run All Suites", children: _jsx(RunAllIcon, {}) }), _jsx("button", { className: "panel__header__action testable-test-explorer__play__all__icon", tabIndex: -1, onClick: runFailingTests, title: "Run All Failing Tests", children: _jsx(RunErrorsIcon, {}) }), _jsx("button", { className: "panel__header__action", tabIndex: -1, onClick: addSuite, title: "Add Mapping Suite", children: _jsx(PlusIcon, {}) })] })] }), _jsxs(PanelContent, { children: [suites.map((suite) => (_jsx(MappingTestSuiteItem, { mappingTestableState: mappingTestableState, suite: suite }, suite.id))), !suites.length && (_jsx(BlankPanelPlaceholder, { text: "Add Test Suite", onClick: addSuite, clickActionType: "add", tooltipText: "Click to add test suite" }))] }), !suites.length && (_jsx(BlankPanelPlaceholder, { disabled: mappingEditorState.isReadOnly, onClick: addSuite, text: "Add a Test Suite", clickActionType: "add", tooltipText: "Click to add a new mapping test suite" }))] }), _jsx(ResizablePanelSplitter, { children: _jsx(ResizablePanelSplitterLine, { color: "var(--color-dark-grey-200)" }) }), _jsx(ResizablePanel, { minSize: 56, children: _jsx("div", { className: "panel mapping-testable-editorr", children: _jsx("div", { className: "mapping-testable-editor__content", children: renderSuiteState() }) }) })] }), mappingTestableState.createSuiteState.showModal && (_jsx(CreateTestSuiteModal, { mappingTestableState: mappingTestableState })), mappingTestableState.testableComponentToRename && (_jsx(RenameModal, { val: mappingTestableState.testableComponentToRename.id, isReadOnly: isReadOnly, showModal: true, closeModal: () => mappingTestableState.setRenameComponent(undefined), setValue: (val) => renameTestingComponent(val), errorMessageFunc: (_val) => validateTestableId(_val, undefined) }))] }) }));
|
498
462
|
});
|
499
463
|
//# sourceMappingURL=MappingTestableEditor.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"MappingTestableEditor.js","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/mapping-editor/MappingTestableEditor.tsx"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"MappingTestableEditor.js","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/mapping-editor/MappingTestableEditor.tsx"],"names":[],"mappings":"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"}
|
package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.d.ts
CHANGED
@@ -14,6 +14,11 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
import type { ConnectionTestDataState, ServiceTestDataState } from '../../../../../stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.js';
|
17
|
+
export declare const UseDataElementModal: ((props: {
|
18
|
+
connectionTestDataState: ConnectionTestDataState;
|
19
|
+
}) => import("react/jsx-runtime").JSX.Element) & {
|
20
|
+
displayName: string;
|
21
|
+
};
|
17
22
|
export declare const ConnectionTestDataEditor: ((props: {
|
18
23
|
connectionTestDataState: ConnectionTestDataState;
|
19
24
|
}) => import("react/jsx-runtime").JSX.Element) & {
|
package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ServiceTestDataEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
1
|
+
{"version":3,"file":"ServiceTestDataEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAoCH,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,yGAAyG,CAAC;AAiBjH,eAAO,MAAM,mBAAmB,WACtB;IAAE,uBAAuB,EAAE,uBAAuB,CAAA;CAAE;;CAyE7D,CAAC;AAEF,eAAO,MAAM,wBAAwB,WAC3B;IAAE,uBAAuB,EAAE,uBAAuB,CAAA;CAAE;;CA+I7D,CAAC;AA+EF,eAAO,MAAM,sBAAsB,WACzB;IAAE,aAAa,EAAE,oBAAoB,CAAA;CAAE;;CA8KhD,CAAC;AAEF,eAAO,MAAM,qBAAqB,WACxB;IAAE,aAAa,EAAE,oBAAoB,CAAA;CAAE;;CA0GhD,CAAC"}
|
@@ -14,7 +14,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
14
|
* See the License for the specific language governing permissions and
|
15
15
|
* limitations under the License.
|
16
16
|
*/
|
17
|
-
import { BlankPanelPlaceholder, clsx, ContextMenu, CustomSelectorInput, Dialog, InfoCircleIcon, MaskIcon, MenuContent, MenuContentItem, ModalBody, ModalFooter, ModalHeader, PanelLoadingIndicator, PlusIcon, PURE_ConnectionIcon, RefreshIcon, ResizablePanel, ResizablePanelGroup, ResizablePanelSplitter, ResizablePanelSplitterLine, } from '@finos/legend-art';
|
17
|
+
import { BlankPanelPlaceholder, clsx, ContextMenu, CustomSelectorInput, Dialog, InfoCircleIcon, MaskIcon, MenuContent, MenuContentItem, Modal, ModalBody, ModalFooter, ModalFooterButton, ModalHeader, PanelLoadingIndicator, PlusIcon, PURE_ConnectionIcon, RefreshIcon, ResizablePanel, ResizablePanelGroup, ResizablePanelSplitter, ResizablePanelSplitterLine, } from '@finos/legend-art';
|
18
|
+
import { getAllIdentifiedServiceConnections, DataElementReference, PackageableElementExplicitReference, } from '@finos/legend-graph';
|
18
19
|
import { observer } from 'mobx-react-lite';
|
19
20
|
import { forwardRef, useState } from 'react';
|
20
21
|
import { EmbeddedDataEditor } from '../../data-editor/EmbeddedDataEditor.js';
|
@@ -24,14 +25,49 @@ import { ActionAlertActionType, ActionAlertType, useApplicationStore, } from '@f
|
|
24
25
|
import { buildElementOption } from '@finos/legend-lego/graph-editor';
|
25
26
|
import { prettyCONSTName } from '@finos/legend-shared';
|
26
27
|
import { useEditorStore } from '../../../EditorStoreProvider.js';
|
27
|
-
import { LEGEND_STUDIO_DOCUMENTATION_KEY } from '../../../../../__lib__/LegendStudioDocumentation.js';
|
28
28
|
import { LambdaParameterValuesEditor } from '@finos/legend-query-builder';
|
29
|
+
import { LEGEND_STUDIO_DOCUMENTATION_KEY } from '../../../../../__lib__/LegendStudioDocumentation.js';
|
30
|
+
export const UseDataElementModal = observer((props) => {
|
31
|
+
const { connectionTestDataState } = props;
|
32
|
+
const editorStore = connectionTestDataState.editorStore;
|
33
|
+
const useSharedModal = connectionTestDataState.useSharedModal;
|
34
|
+
const closeModal = () => connectionTestDataState.setUseSharedModal(false);
|
35
|
+
const dataElements = connectionTestDataState.editorStore.graphManagerState.graph.dataElements;
|
36
|
+
const [dataElement, setDataElement] = useState(dataElements[0]);
|
37
|
+
const dataElementOptions = editorStore.graphManagerState.usableDataElements.map(buildElementOption);
|
38
|
+
const selectedDataElement = dataElement
|
39
|
+
? buildElementOption(dataElement)
|
40
|
+
: null;
|
41
|
+
const onDataElementChange = (val) => {
|
42
|
+
if (val.value !== selectedDataElement?.value && val.value) {
|
43
|
+
setDataElement(val.value);
|
44
|
+
}
|
45
|
+
};
|
46
|
+
const change = () => {
|
47
|
+
if (dataElement) {
|
48
|
+
const value = new DataElementReference();
|
49
|
+
value.dataElement =
|
50
|
+
PackageableElementExplicitReference.create(dataElement);
|
51
|
+
connectionTestDataState.changeEmbeddedData(value);
|
52
|
+
}
|
53
|
+
closeModal();
|
54
|
+
};
|
55
|
+
const isReadOnly = connectionTestDataState.testDataState.testSuiteState.testableState
|
56
|
+
.serviceEditorState.isReadOnly;
|
57
|
+
return (_jsx(Dialog, { open: useSharedModal, onClose: closeModal, classes: { container: 'search-modal__container' }, PaperProps: { classes: { root: 'search-modal__inner-container' } }, children: _jsxs(Modal, { darkMode: true, className: "service-test-data-modal", children: [_jsx(ModalBody, { children: _jsxs("div", { className: "panel__content__form__section", children: [_jsx("div", { className: "panel__content__form__section__header__label", children: "Data Element" }), _jsx("div", { className: "explorer__new-element-modal__driver", children: _jsx(CustomSelectorInput, { className: "panel__content__form__section__dropdown data-element-reference-editor__value__dropdown", disabled: false, options: dataElementOptions, onChange: onDataElementChange, value: selectedDataElement, darkMode: true }) })] }) }), _jsx(ModalFooter, { children: _jsx(ModalFooterButton, { className: "database-builder__action--btn", disabled: isReadOnly, onClick: change, title: "Change to use Shared Data", children: "Change" }) })] }) }));
|
58
|
+
});
|
29
59
|
export const ConnectionTestDataEditor = observer((props) => {
|
30
60
|
const { connectionTestDataState } = props;
|
31
61
|
const applicationStore = useApplicationStore();
|
32
62
|
const USER_ATTESTATION_MESSAGE = 'Data generated has not been anonmyized. I attest that I am aware of the sensitive data leakage risk when using real data in tests.';
|
33
63
|
const isReadOnly = connectionTestDataState.testDataState.testSuiteState.testableState
|
34
64
|
.serviceEditorState.isReadOnly;
|
65
|
+
const dataElements = connectionTestDataState.editorStore.graphManagerState.graph.dataElements;
|
66
|
+
const openShared = () => {
|
67
|
+
if (dataElements.length) {
|
68
|
+
connectionTestDataState.setUseSharedModal(true);
|
69
|
+
}
|
70
|
+
};
|
35
71
|
// test data
|
36
72
|
const anonymizeGeneratedData = connectionTestDataState.anonymizeGeneratedData;
|
37
73
|
const toggleAnonymizeGeneratedData = () => {
|
@@ -67,9 +103,10 @@ export const ConnectionTestDataEditor = observer((props) => {
|
|
67
103
|
'panel__content__form__section__toggler--disabled': isReadOnly,
|
68
104
|
}), onClick: toggleAnonymizeGeneratedData, children: _jsx("button", { className: clsx('btn--sm service-execution-editor__test-data__anonymize-btn', {
|
69
105
|
'service-execution-editor__test-data__anonymize-btn--active': anonymizeGeneratedData,
|
70
|
-
}), disabled: isReadOnly, tabIndex: -1, title: `[${anonymizeGeneratedData ? 'on' : 'off'}] Anonymize Test Data`, children: _jsx(MaskIcon, {}) }) }), _jsx("button", { className: "panel__header__action service-execution-editor__test-data__generate-btn", onClick: generateTestData, title: "Generate test data if possible", disabled: connectionTestDataState.generatingTestDataState.isInProgress, tabIndex: -1, children: _jsxs("div", { className: "service-execution-editor__test-data__generate-btn__label", children: [_jsx(RefreshIcon, { className: "service-execution-editor__test-data__generate-btn__label__icon" }), _jsx("div", { className: "service-execution-editor__test-data__generate-btn__label__title", children: "Generate" })] }) })
|
106
|
+
}), disabled: isReadOnly, tabIndex: -1, title: `[${anonymizeGeneratedData ? 'on' : 'off'}] Anonymize Test Data`, children: _jsx(MaskIcon, {}) }) }), _jsx("button", { className: "panel__header__action service-execution-editor__test-data__generate-btn", onClick: generateTestData, title: "Generate test data if possible", disabled: connectionTestDataState.generatingTestDataState.isInProgress, tabIndex: -1, children: _jsxs("div", { className: "service-execution-editor__test-data__generate-btn__label", children: [_jsx(RefreshIcon, { className: "service-execution-editor__test-data__generate-btn__label__icon" }), _jsx("div", { className: "service-execution-editor__test-data__generate-btn__label__title", children: "Generate" })] }) }), _jsx("button", { className: "panel__header__action service-execution-editor__test-data__generate-btn", onClick: openShared, title: "Use Shared Data via Defined Data Element", disabled: connectionTestDataState.generatingTestDataState.isInProgress ||
|
107
|
+
!dataElements.length, tabIndex: -1, children: _jsx("div", { className: "service-execution-editor__test-data__generate-btn__label", children: _jsx("div", { className: "service-execution-editor__test-data__generate-btn__label__title", children: "Shared Data" }) }) })] })] }), _jsx(EmbeddedDataEditor, { isReadOnly: isReadOnly, embeddedDataEditorState: connectionTestDataState.embeddedEditorState }), connectionTestDataState.parametersState.parameterValuesEditorState
|
71
108
|
.showModal && (_jsx(LambdaParameterValuesEditor, { graph: connectionTestDataState.editorStore.graphManagerState.graph, observerContext: connectionTestDataState.editorStore.changeDetectionState
|
72
|
-
.observerContext, lambdaParametersState: connectionTestDataState.parametersState }))] }));
|
109
|
+
.observerContext, lambdaParametersState: connectionTestDataState.parametersState })), connectionTestDataState.useSharedModal && (_jsx(UseDataElementModal, { connectionTestDataState: connectionTestDataState }))] }));
|
73
110
|
});
|
74
111
|
const ConnectionTestDataContextMenu = observer(forwardRef(function TestContainerContextMenu(props, ref) {
|
75
112
|
const { deleteConnectionData } = props;
|
@@ -106,8 +143,10 @@ export const NewConnectionDataModal = observer((props) => {
|
|
106
143
|
}
|
107
144
|
};
|
108
145
|
const isReadOnly = testDataState.testSuiteState.testableState.serviceEditorState.isReadOnly;
|
146
|
+
const service = testDataState.testSuiteState.testableState.serviceEditorState.service;
|
109
147
|
const closeModal = () => newConnectionState.setModal(false);
|
110
|
-
const
|
148
|
+
const allIdentifiedConnections = getAllIdentifiedServiceConnections(service);
|
149
|
+
const connectionOptions = allIdentifiedConnections.map((e) => ({
|
111
150
|
label: e.id,
|
112
151
|
value: e,
|
113
152
|
}));
|
@@ -118,7 +157,7 @@ export const NewConnectionDataModal = observer((props) => {
|
|
118
157
|
}
|
119
158
|
: undefined;
|
120
159
|
const isDisabled = isReadOnly ||
|
121
|
-
!
|
160
|
+
!allIdentifiedConnections.length ||
|
122
161
|
Boolean(testDataState.testData.connectionsTestData.find((c) => c.connectionId === selectedConnection?.value.id));
|
123
162
|
const onConnectionSelectionChange = (val) => {
|
124
163
|
if (val.value === undefined) {
|
@@ -169,11 +208,17 @@ export const ServiceTestDataEditor = observer((props) => {
|
|
169
208
|
const applicationStore = useApplicationStore();
|
170
209
|
const testData = testDataState.testData;
|
171
210
|
const newConnectionDataState = testDataState.newConnectionDataState;
|
211
|
+
const identifedConnections = getAllIdentifiedServiceConnections(testDataState.testSuiteState.testableState.service);
|
212
|
+
const selectedDataState = testDataState.selectedDataState;
|
213
|
+
const hideExplorer = identifedConnections.length === 1 &&
|
214
|
+
testData.connectionsTestData.length === 1 &&
|
215
|
+
testData.connectionsTestData[0]?.connectionId ===
|
216
|
+
identifedConnections[0]?.id;
|
172
217
|
const addConnectionTestData = () => {
|
173
218
|
testDataState.newConnectionDataState.openModal();
|
174
219
|
};
|
175
220
|
const seeDocumentation = () => applicationStore.assistantService.openDocumentationEntry(LEGEND_STUDIO_DOCUMENTATION_KEY.QUESTION_HOW_TO_WRITE_SERVICE_CONNECTION_TEST_DATA);
|
176
|
-
return (_jsxs("div", { className: "service-test-data-editor panel", children: [_jsx("div", { className: "service-test-suite-editor__header", children: _jsx("div", { className: "service-test-suite-editor__header__title", children: _jsx("div", { className: "service-test-suite-editor__header__title__label service-test-suite-editor__header__title__label--data", children: "
|
177
|
-
.isInProgress) }), testDataState.selectedDataState && (_jsx(ConnectionTestDataEditor, { connectionTestDataState: testDataState.selectedDataState })), newConnectionDataState.showModal && (_jsx(NewConnectionDataModal, { testDataState: testDataState }))] })] })] })] }));
|
221
|
+
return (_jsxs("div", { className: "service-test-data-editor panel", children: [_jsx("div", { className: "service-test-suite-editor__header", children: _jsx("div", { className: "service-test-suite-editor__header__title", children: _jsx("div", { className: "service-test-suite-editor__header__title__label service-test-suite-editor__header__title__label--data", children: "Test DATA" }) }) }), _jsxs("div", { className: "service-test-data-editor__data", children: [!testData.connectionsTestData.length && (_jsx(BlankPanelPlaceholder, { text: "Add Connection Test Data", onClick: addConnectionTestData, clickActionType: "add", tooltipText: "Click to add connection test data" })), hideExplorer && selectedDataState ? (_jsx(ConnectionTestDataEditor, { connectionTestDataState: selectedDataState })) : (_jsxs(ResizablePanelGroup, { orientation: "vertical", children: [_jsxs(ResizablePanel, { minSize: 100, children: [_jsxs("div", { className: "binding-editor__header", children: [_jsx("div", { className: "binding-editor__header__title", children: _jsxs("div", { className: "binding-editor__header__title__label", children: ["connections", _jsx("button", { className: "binding-editor__header__title__label__hint", tabIndex: -1, onClick: seeDocumentation, title: "click to see more details on connection test data", children: _jsx(InfoCircleIcon, {}) })] }) }), _jsx("div", { className: "panel__header__actions", children: _jsx("button", { className: "panel__header__action", tabIndex: -1, onClick: addConnectionTestData, title: "Add Connection Test Data", children: _jsx(PlusIcon, {}) }) })] }), _jsx("div", { children: testData.connectionsTestData.map((connectionTestData) => (_jsx(ConnectionTestDataItem, { serviceTestDataState: testDataState, connectionTestData: connectionTestData }, connectionTestData.connectionId))) })] }), _jsx(ResizablePanelSplitter, { children: _jsx(ResizablePanelSplitterLine, { color: "var(--color-dark-grey-200)" }) }), _jsxs(ResizablePanel, { minSize: 600, children: [_jsx(PanelLoadingIndicator, { isLoading: Boolean(testDataState.selectedDataState?.generatingTestDataState
|
222
|
+
.isInProgress) }), testDataState.selectedDataState && (_jsx(ConnectionTestDataEditor, { connectionTestDataState: testDataState.selectedDataState })), newConnectionDataState.showModal && (_jsx(NewConnectionDataModal, { testDataState: testDataState }))] })] }))] })] }));
|
178
223
|
});
|
179
224
|
//# sourceMappingURL=ServiceTestDataEditor.js.map
|