@finos/legend-application-studio 27.1.0 → 27.1.1

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 (93) hide show
  1. package/lib/__lib__/LegendStudioEvent.d.ts +1 -0
  2. package/lib/__lib__/LegendStudioEvent.d.ts.map +1 -1
  3. package/lib/__lib__/LegendStudioEvent.js +1 -0
  4. package/lib/__lib__/LegendStudioEvent.js.map +1 -1
  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 +5 -4
  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 +62 -12
  10. package/lib/components/editor/editor-group/data-editor/RelationalCSVDataEditor.js.map +1 -1
  11. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.d.ts +1 -1
  12. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.d.ts.map +1 -1
  13. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js +101 -137
  14. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js.map +1 -1
  15. package/lib/components/editor/editor-group/testable/TestableSharedComponents.d.ts +11 -0
  16. package/lib/components/editor/editor-group/testable/TestableSharedComponents.d.ts.map +1 -1
  17. package/lib/components/editor/editor-group/testable/TestableSharedComponents.js +27 -2
  18. package/lib/components/editor/editor-group/testable/TestableSharedComponents.js.map +1 -1
  19. package/lib/index.css +2 -2
  20. package/lib/index.css.map +1 -1
  21. package/lib/package.json +1 -1
  22. package/lib/stores/editor/NewElementState.d.ts.map +1 -1
  23. package/lib/stores/editor/NewElementState.js.map +1 -1
  24. package/lib/stores/editor/editor-state/element-editor-state/data/DataEditorState.d.ts +2 -2
  25. package/lib/stores/editor/editor-state/element-editor-state/data/DataEditorState.d.ts.map +1 -1
  26. package/lib/stores/editor/editor-state/element-editor-state/data/DataEditorState.js +2 -2
  27. package/lib/stores/editor/editor-state/element-editor-state/data/DataEditorState.js.map +1 -1
  28. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.d.ts +14 -19
  29. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.d.ts.map +1 -1
  30. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.js +30 -65
  31. package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.js.map +1 -1
  32. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.d.ts +56 -78
  33. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.d.ts.map +1 -1
  34. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.js +285 -384
  35. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.js.map +1 -1
  36. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestingHelper.d.ts +23 -0
  37. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestingHelper.d.ts.map +1 -0
  38. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestingHelper.js +129 -0
  39. package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestingHelper.js.map +1 -0
  40. package/lib/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.d.ts.map +1 -1
  41. package/lib/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.js +2 -2
  42. package/lib/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.js.map +1 -1
  43. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts +1 -0
  44. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts.map +1 -1
  45. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.js +12 -2
  46. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.js.map +1 -1
  47. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.d.ts.map +1 -1
  48. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.js +15 -8
  49. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.js.map +1 -1
  50. package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.d.ts +7 -4
  51. package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.d.ts.map +1 -1
  52. package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.js +53 -10
  53. package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.js.map +1 -1
  54. package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.d.ts +2 -1
  55. package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.d.ts.map +1 -1
  56. package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.js +20 -16
  57. package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.js.map +1 -1
  58. package/lib/stores/editor/sidebar-state/testable/GlobalTestRunnerState.d.ts +1 -1
  59. package/lib/stores/editor/sidebar-state/testable/GlobalTestRunnerState.d.ts.map +1 -1
  60. package/lib/stores/editor/sidebar-state/testable/GlobalTestRunnerState.js +3 -0
  61. package/lib/stores/editor/sidebar-state/testable/GlobalTestRunnerState.js.map +1 -1
  62. package/lib/stores/editor/utils/MockDataUtils.d.ts.map +1 -1
  63. package/lib/stores/editor/utils/MockDataUtils.js +3 -0
  64. package/lib/stores/editor/utils/MockDataUtils.js.map +1 -1
  65. package/lib/stores/editor/utils/TestableUtils.d.ts +11 -1
  66. package/lib/stores/editor/utils/TestableUtils.d.ts.map +1 -1
  67. package/lib/stores/editor/utils/TestableUtils.js +50 -1
  68. package/lib/stores/editor/utils/TestableUtils.js.map +1 -1
  69. package/lib/stores/graph-modifier/DSL_Mapping_GraphModifierHelper.d.ts +5 -4
  70. package/lib/stores/graph-modifier/DSL_Mapping_GraphModifierHelper.d.ts.map +1 -1
  71. package/lib/stores/graph-modifier/DSL_Mapping_GraphModifierHelper.js +4 -1
  72. package/lib/stores/graph-modifier/DSL_Mapping_GraphModifierHelper.js.map +1 -1
  73. package/package.json +6 -6
  74. package/src/__lib__/LegendStudioEvent.ts +1 -1
  75. package/src/components/editor/editor-group/data-editor/EmbeddedDataEditor.tsx +34 -37
  76. package/src/components/editor/editor-group/data-editor/RelationalCSVDataEditor.tsx +134 -31
  77. package/src/components/editor/editor-group/mapping-editor/MappingTestableEditor.tsx +296 -414
  78. package/src/components/editor/editor-group/testable/TestableSharedComponents.tsx +88 -3
  79. package/src/stores/editor/NewElementState.ts +0 -1
  80. package/src/stores/editor/editor-state/element-editor-state/data/DataEditorState.ts +7 -1
  81. package/src/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.ts +48 -77
  82. package/src/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.ts +407 -617
  83. package/src/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestingHelper.ts +243 -0
  84. package/src/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.ts +6 -2
  85. package/src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.ts +18 -1
  86. package/src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestableState.ts +20 -12
  87. package/src/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.ts +76 -18
  88. package/src/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.ts +29 -24
  89. package/src/stores/editor/sidebar-state/testable/GlobalTestRunnerState.ts +4 -1
  90. package/src/stores/editor/utils/MockDataUtils.ts +2 -0
  91. package/src/stores/editor/utils/TestableUtils.ts +73 -0
  92. package/src/stores/graph-modifier/DSL_Mapping_GraphModifierHelper.ts +15 -12
  93. package/tsconfig.json +1 -0
@@ -28,6 +28,7 @@ import {
28
28
  type TestAssertion,
29
29
  type AtomicTest,
30
30
  type Class,
31
+ type EmbeddedDataVisitor,
31
32
  ExternalFormatData,
32
33
  RelationalCSVData,
33
34
  ConnectionTestData,
@@ -36,6 +37,14 @@ import {
36
37
  RelationalCSVDataTable,
37
38
  type INTERNAL__UnknownConnection,
38
39
  getAllIdentifiedConnectionsFromRuntime,
40
+ ModelStoreData,
41
+ ModelEmbeddedData,
42
+ PackageableElementExplicitReference,
43
+ type DataElementReference,
44
+ type INTERNAL__UnknownEmbeddedData,
45
+ type TestResult,
46
+ TestExecuted,
47
+ TestExecutionStatus,
39
48
  } from '@finos/legend-graph';
40
49
  import {
41
50
  assertTrue,
@@ -58,6 +67,7 @@ export const validateTestableId = (
58
67
  id: string | undefined,
59
68
  possibleIds: string[] | undefined,
60
69
  ): string | undefined => {
70
+ // undefined in this case means user has yet to write anything so we shouldnt show any error message
61
71
  if (id === undefined) {
62
72
  return undefined;
63
73
  }
@@ -101,6 +111,64 @@ export const createEmbeddedDataFromClass = (
101
111
  return data;
102
112
  };
103
113
 
114
+ export const createBareModelStoreData = (
115
+ _class: Class,
116
+ editorStore: EditorStore,
117
+ ): ModelStoreData => {
118
+ const embeddedData = createEmbeddedDataFromClass(_class, editorStore);
119
+ const modelStoreData = new ModelStoreData();
120
+ const modelData = new ModelEmbeddedData();
121
+ modelData.data = embeddedData;
122
+ modelData.model = PackageableElementExplicitReference.create(_class);
123
+ modelStoreData.modelData = [modelData];
124
+ return modelStoreData;
125
+ };
126
+
127
+ export class EmbeddedDataCreatorFromEmbeddedData
128
+ implements EmbeddedDataVisitor<EmbeddedData>
129
+ {
130
+ visit_EmbeddedData(data: EmbeddedData): EmbeddedData {
131
+ throw new Error('Method not implemented.');
132
+ }
133
+ visit_INTERNAL__UnknownEmbeddedData(
134
+ data: INTERNAL__UnknownEmbeddedData,
135
+ ): EmbeddedData {
136
+ throw new Error('Method not implemented.');
137
+ }
138
+ visit_ExternalFormatData(data: ExternalFormatData): EmbeddedData {
139
+ const val = new ExternalFormatData();
140
+ val.contentType = data.contentType;
141
+ val.data = '';
142
+ return val;
143
+ }
144
+ visit_ModelStoreData(data: ModelStoreData): EmbeddedData {
145
+ const val = new ModelStoreData();
146
+ val.modelData = data.modelData
147
+ ?.map((e) => {
148
+ if (e instanceof ModelEmbeddedData) {
149
+ const v = new ModelEmbeddedData();
150
+ v.model = PackageableElementExplicitReference.create(e.model.value);
151
+ v.data = e.data.accept_EmbeddedDataVisitor(
152
+ new EmbeddedDataCreatorFromEmbeddedData(),
153
+ );
154
+ return v;
155
+ }
156
+ return undefined;
157
+ })
158
+ .filter(isNonNullable);
159
+ return val;
160
+ }
161
+ visit_DataElementReference(data: DataElementReference): EmbeddedData {
162
+ return data.dataElement.value.data.accept_EmbeddedDataVisitor(
163
+ new EmbeddedDataCreatorFromEmbeddedData(),
164
+ );
165
+ }
166
+ visit_RelationalCSVData(data: RelationalCSVData): EmbeddedData {
167
+ const val = new RelationalCSVData();
168
+ return val;
169
+ }
170
+ }
171
+
104
172
  // NOTE: this will all move to `engine` once engine support generating test data for all connections
105
173
  // Throws if unable to generate test data
106
174
  export class TEMPORARY__EmbeddedDataConnectionVisitor
@@ -251,3 +319,8 @@ export const TEMPORARY__createRelationalDataFromCSV = (
251
319
  });
252
320
  return data;
253
321
  };
322
+
323
+ // test result
324
+ export const isTestPassing = (testResult: TestResult): boolean =>
325
+ testResult instanceof TestExecuted &&
326
+ testResult.testExecutionStatus === TestExecutionStatus.PASS;
@@ -78,11 +78,10 @@ import {
78
78
  PrimitiveType,
79
79
  type MappingTestSuite,
80
80
  observe_MappingTestSuite,
81
- type MappingQueryTestSuite,
82
- type MappingQueryTest,
83
- type MappingDataTestSuite,
84
- type MappingDataTest,
85
81
  type StoreTestData,
82
+ type MappingTest,
83
+ type EmbeddedData,
84
+ observe_EmbeddedData,
86
85
  } from '@finos/legend-graph';
87
86
  import {
88
87
  addUniqueEntry,
@@ -203,25 +202,29 @@ export const mapping_deleteTestSuite = action(
203
202
  );
204
203
 
205
204
  export const mappingTestable_setQuery = action(
206
- (test: MappingQueryTest | MappingQueryTestSuite, value: RawLambda): void => {
205
+ (test: MappingTestSuite, value: RawLambda): void => {
207
206
  test.func = observe_RawLambda(value);
208
207
  },
209
208
  );
210
209
 
211
210
  export const mappingTestable_deleteStoreTestData = action(
212
- (
213
- dataHolder: MappingDataTestSuite | MappingDataTest,
214
- val: StoreTestData,
215
- ): void => {
211
+ (dataHolder: MappingTest, val: StoreTestData): void => {
216
212
  deleteEntry(dataHolder.storeTestData, val);
217
213
  },
218
214
  );
219
215
 
220
- export const mappingTestable_addStoreTestData = action(
216
+ export const mappingTestable_setEmbeddedData = action(
221
217
  (
222
- dataHolder: MappingDataTestSuite | MappingDataTest,
223
- val: StoreTestData,
218
+ store: StoreTestData,
219
+ embeddedData: EmbeddedData,
220
+ observerContext: ObserverContext,
224
221
  ): void => {
222
+ store.data = observe_EmbeddedData(embeddedData, observerContext);
223
+ },
224
+ );
225
+
226
+ export const mappingTestable_addStoreTestData = action(
227
+ (dataHolder: MappingTest, val: StoreTestData): void => {
225
228
  addUniqueEntry(dataHolder.storeTestData, val);
226
229
  },
227
230
  );
package/tsconfig.json CHANGED
@@ -112,6 +112,7 @@
112
112
  "./src/stores/editor/editor-state/element-editor-state/mapping/UnsupportedInstanceSetImplementationState.ts",
113
113
  "./src/stores/editor/editor-state/element-editor-state/mapping/relational/RelationalInstanceSetImplementationState.ts",
114
114
  "./src/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.ts",
115
+ "./src/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestingHelper.ts",
115
116
  "./src/stores/editor/editor-state/element-editor-state/service/ServiceEditorState.ts",
116
117
  "./src/stores/editor/editor-state/element-editor-state/service/ServiceExecutionState.ts",
117
118
  "./src/stores/editor/editor-state/element-editor-state/service/ServicePostValidationState.ts",