@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.
Files changed (108) hide show
  1. package/lib/components/editor/editor-group/connection-editor/RelationalDatabaseConnectionEditor.d.ts.map +1 -1
  2. package/lib/components/editor/editor-group/connection-editor/RelationalDatabaseConnectionEditor.js +2 -2
  3. package/lib/components/editor/editor-group/connection-editor/RelationalDatabaseConnectionEditor.js.map +1 -1
  4. package/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.d.ts +15 -2
  5. package/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.d.ts.map +1 -1
  6. package/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.js +46 -5
  7. package/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.js.map +1 -1
  8. package/lib/components/editor/editor-group/data-editor/RelationalCSVDataEditor.d.ts.map +1 -1
  9. package/lib/components/editor/editor-group/data-editor/RelationalCSVDataEditor.js +18 -3
  10. package/lib/components/editor/editor-group/data-editor/RelationalCSVDataEditor.js.map +1 -1
  11. package/lib/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_NewSchemaSetDriver.d.ts.map +1 -1
  12. package/lib/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_NewSchemaSetDriver.js +2 -2
  13. package/lib/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_NewSchemaSetDriver.js.map +1 -1
  14. package/lib/components/editor/editor-group/mapping-editor/MappingEditor.d.ts.map +1 -1
  15. package/lib/components/editor/editor-group/mapping-editor/MappingEditor.js +0 -3
  16. package/lib/components/editor/editor-group/mapping-editor/MappingEditor.js.map +1 -1
  17. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.d.ts.map +1 -1
  18. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js +36 -72
  19. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js.map +1 -1
  20. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.d.ts +5 -0
  21. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.d.ts.map +1 -1
  22. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.js +53 -8
  23. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.js.map +1 -1
  24. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestableEditor.d.ts.map +1 -1
  25. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestableEditor.js +3 -1
  26. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestableEditor.js.map +1 -1
  27. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestsEditor.d.ts.map +1 -1
  28. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestsEditor.js +7 -3
  29. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestsEditor.js.map +1 -1
  30. package/lib/components/editor/editor-group/testable/TestableSharedComponents.js +1 -1
  31. package/lib/components/editor/editor-group/testable/TestableSharedComponents.js.map +1 -1
  32. package/lib/index.css +2 -2
  33. package/lib/index.css.map +1 -1
  34. package/lib/package.json +3 -3
  35. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.d.ts +22 -1
  36. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.d.ts.map +1 -1
  37. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.js +56 -5
  38. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.js.map +1 -1
  39. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.d.ts +12 -12
  40. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.d.ts.map +1 -1
  41. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.js +113 -61
  42. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.js.map +1 -1
  43. package/lib/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.d.ts +4 -2
  44. package/lib/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.d.ts.map +1 -1
  45. package/lib/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.js +23 -9
  46. package/lib/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.js.map +1 -1
  47. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts +5 -2
  48. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts.map +1 -1
  49. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.js +23 -16
  50. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.js.map +1 -1
  51. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestEditorState.d.ts +3 -2
  52. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestEditorState.d.ts.map +1 -1
  53. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestEditorState.js +11 -7
  54. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestEditorState.js.map +1 -1
  55. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.d.ts +3 -2
  56. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.d.ts.map +1 -1
  57. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.js +29 -8
  58. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.js.map +1 -1
  59. package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.d.ts +2 -2
  60. package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.d.ts.map +1 -1
  61. package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.js +8 -6
  62. package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.js.map +1 -1
  63. package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.d.ts +14 -2
  64. package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.d.ts.map +1 -1
  65. package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.js +75 -5
  66. package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.js.map +1 -1
  67. package/lib/stores/editor/utils/MockDataUtils.d.ts +4 -1
  68. package/lib/stores/editor/utils/MockDataUtils.d.ts.map +1 -1
  69. package/lib/stores/editor/utils/MockDataUtils.js +70 -2
  70. package/lib/stores/editor/utils/MockDataUtils.js.map +1 -1
  71. package/lib/stores/editor/utils/TestableUtils.d.ts +1 -2
  72. package/lib/stores/editor/utils/TestableUtils.d.ts.map +1 -1
  73. package/lib/stores/editor/utils/TestableUtils.js +4 -13
  74. package/lib/stores/editor/utils/TestableUtils.js.map +1 -1
  75. package/lib/stores/graph-modifier/DSL_Data_GraphModifierHelper.d.ts +6 -2
  76. package/lib/stores/graph-modifier/DSL_Data_GraphModifierHelper.d.ts.map +1 -1
  77. package/lib/stores/graph-modifier/DSL_Data_GraphModifierHelper.js +23 -4
  78. package/lib/stores/graph-modifier/DSL_Data_GraphModifierHelper.js.map +1 -1
  79. package/lib/stores/graph-modifier/DSL_Mapping_GraphModifierHelper.js +1 -1
  80. package/lib/stores/graph-modifier/DSL_Mapping_GraphModifierHelper.js.map +1 -1
  81. package/lib/stores/graph-modifier/STO_Relational_GraphModifierHelper.d.ts +1 -0
  82. package/lib/stores/graph-modifier/STO_Relational_GraphModifierHelper.d.ts.map +1 -1
  83. package/lib/stores/graph-modifier/STO_Relational_GraphModifierHelper.js +3 -0
  84. package/lib/stores/graph-modifier/STO_Relational_GraphModifierHelper.js.map +1 -1
  85. package/package.json +13 -13
  86. package/src/components/editor/editor-group/connection-editor/RelationalDatabaseConnectionEditor.tsx +13 -0
  87. package/src/components/editor/editor-group/data-editor/EmbeddedDataEditor.tsx +129 -3
  88. package/src/components/editor/editor-group/data-editor/RelationalCSVDataEditor.tsx +65 -0
  89. package/src/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_NewSchemaSetDriver.tsx +6 -3
  90. package/src/components/editor/editor-group/mapping-editor/MappingEditor.tsx +0 -6
  91. package/src/components/editor/editor-group/mapping-editor/MappingTestableEditor.tsx +159 -366
  92. package/src/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.tsx +187 -61
  93. package/src/components/editor/editor-group/service-editor/testable/ServiceTestableEditor.tsx +26 -18
  94. package/src/components/editor/editor-group/service-editor/testable/ServiceTestsEditor.tsx +85 -83
  95. package/src/components/editor/editor-group/testable/TestableSharedComponents.tsx +2 -2
  96. package/src/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.ts +75 -4
  97. package/src/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.ts +157 -69
  98. package/src/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.ts +45 -10
  99. package/src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.ts +37 -15
  100. package/src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestEditorState.ts +15 -8
  101. package/src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.ts +57 -6
  102. package/src/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.ts +10 -6
  103. package/src/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.ts +92 -3
  104. package/src/stores/editor/utils/MockDataUtils.ts +109 -1
  105. package/src/stores/editor/utils/TestableUtils.ts +4 -19
  106. package/src/stores/graph-modifier/DSL_Data_GraphModifierHelper.ts +45 -6
  107. package/src/stores/graph-modifier/DSL_Mapping_GraphModifierHelper.ts +1 -1
  108. 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, PURE_ModelStoreIcon, PURE_UnknownElementTypeIcon, PURE_DatabaseIcon, } from '@finos/legend-art';
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 mappedClassSelectorRef = useRef(null);
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(generateEnumerableNameFromToken(mapping.tests.map((e) => e.id), getDefaultSuiteNamePrefix(suiteType, selectedClass)));
84
- const isValid = selectedClass && suiteName;
85
- const handleEnterClassMappingSelectorModal = () => mappedClassSelectorRef.current?.focus();
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: handleEnterClassMappingSelectorModal,
106
- }, 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 Suite" }), _jsxs(ModalBody, { children: [_jsxs("div", { className: "panel__content__form__section", children: [_jsx("div", { className: "panel__content__form__section__header__label", children: "Target Class To Test" }), _jsx("div", { className: "panel__content__form__section__header__prompt", children: "Mapped class for which you would like to build test suite for" }), _jsx(CustomSelectorInput, { ref: mappedClassSelectorRef, options: mappedClassOptions, onChange: changeClassOption, value: selectedClassOption, darkMode: true, placeholder: "Choose a class...", isClearable: true })] }), _jsx(PanelFormTextField, { name: "Test Suite Name", prompt: "", value: suiteName, update: (value) => setSuiteName(value ?? ''), errorMessage: validateTestableId(suiteName, undefined) })] }), _jsxs(ModalFooter, { children: [_jsx(ModalFooterButton, { disabled: !isValid, onClick: create, text: "Create" }), _jsx(ModalFooterButton, { onClick: close, text: "Close" })] })] }) }));
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(compatibleClasses[0]);
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 }), mappingSuiteState instanceof MappingDataTestSuiteState && (_jsxs("div", { className: "panel__content__form__section", children: [_jsx("div", { className: "panel__content__form__section__header__label", children: "Target Class To Test" }), _jsx("div", { className: "panel__content__form__section__header__prompt", children: "Mapped class for which you would like to build test suite for" }), _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" })] })] }) }));
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: [_jsxs("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: "data" }) }), _jsx("div", { className: "panel__header__actions", children: _jsx("div", { className: clsx('panel__content__form__section__toggler', {
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: [_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: "Data" }) }) }), _jsxs("div", { className: "service-test-data-editor__data", children: [mappingTestableDataState.dataHolder.storeTestData.length ? (_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: _jsx("div", { className: "binding-editor__header__title__label", children: "stores" }) }), _jsx("div", { className: "panel__header__actions", children: _jsx("button", { className: "panel__header__action", tabIndex: -1, onClick: addStoreTestData, title: "Add Store Test Data", children: _jsx(PlusIcon, {}) }) })] }), _jsx("div", { children: mappingTestableDataState.dataHolder.storeTestData.map((storeTestData) => (_jsx(StoreTestDataItem, { storeTestData: storeTestData, mappingTestableDataState: mappingTestableDataState }, storeTestData.store.value.name))) })] }), _jsx(ResizablePanelSplitter, { children: _jsx(ResizablePanelSplitterLine, { color: "var(--color-dark-grey-200)" }) }), _jsxs(ResizablePanel, { minSize: 600, children: [_jsx(PanelLoadingIndicator, { isLoading: Boolean(mappingTestableDataState.selectedDataState
341
- ?.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 }))] })] }));
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
- if (mappingTestState instanceof MappingDataTestState) {
361
- return (_jsx(MappingDataTestSetupEditor, { mappingDataTestState: mappingTestState }));
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.ASSERTIONS && (_jsx(MappingTestAssertionsEditor, { mappingDataTestState: mappingTestState }))] })] }));
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.runTests();
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.testsStates.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() })] }) })] }));
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: _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--tests-suites", children: "suite" }) }) }), _jsx("div", { className: "service-test-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) }))] }) }));
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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"}
@@ -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) & {
@@ -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;AA+BH,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,yGAAyG,CAAC;AAiBjH,eAAO,MAAM,wBAAwB,WAC3B;IAAE,uBAAuB,EAAE,uBAAuB,CAAA;CAAE;;CAmH7D,CAAC;AA+EF,eAAO,MAAM,sBAAsB,WACzB;IAAE,aAAa,EAAE,oBAAoB,CAAA;CAAE;;CA4KhD,CAAC;AAEF,eAAO,MAAM,qBAAqB,WACxB;IAAE,aAAa,EAAE,oBAAoB,CAAA;CAAE;;CA2FhD,CAAC"}
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" })] }) })] })] }), _jsx(EmbeddedDataEditor, { isReadOnly: isReadOnly, embeddedDataEditorState: connectionTestDataState.embeddedEditorState }), connectionTestDataState.parametersState.parameterValuesEditorState
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 connectionOptions = testDataState.allIdentifiedConnections.map((e) => ({
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
- !testDataState.allIdentifiedConnections.length ||
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: "test suite 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" })), _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
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