@finos/legend-application-studio 28.13.1 → 28.13.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/__lib__/LegendStudioApplicationNavigationContext.d.ts +1 -0
- package/lib/__lib__/LegendStudioApplicationNavigationContext.d.ts.map +1 -1
- package/lib/__lib__/LegendStudioApplicationNavigationContext.js +1 -0
- package/lib/__lib__/LegendStudioApplicationNavigationContext.js.map +1 -1
- package/lib/application/LegendStudioApplicationConfig.d.ts +5 -9
- package/lib/application/LegendStudioApplicationConfig.d.ts.map +1 -1
- package/lib/application/LegendStudioApplicationConfig.js +6 -10
- package/lib/application/LegendStudioApplicationConfig.js.map +1 -1
- package/lib/components/editor/ActivityBar.d.ts.map +1 -1
- package/lib/components/editor/ActivityBar.js +2 -2
- package/lib/components/editor/ActivityBar.js.map +1 -1
- package/lib/components/editor/editor-group/function-activator/FunctionEditor.d.ts +1 -1
- package/lib/components/editor/editor-group/function-activator/FunctionEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/function-activator/FunctionEditor.js +46 -95
- package/lib/components/editor/editor-group/function-activator/FunctionEditor.js.map +1 -1
- package/lib/components/editor/editor-group/function-activator/SnowflakeAppFunctionActivatorEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/function-activator/SnowflakeAppFunctionActivatorEditor.js +3 -3
- package/lib/components/editor/editor-group/function-activator/SnowflakeAppFunctionActivatorEditor.js.map +1 -1
- package/lib/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.d.ts +22 -0
- package/lib/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.d.ts.map +1 -0
- package/lib/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.js +231 -0
- package/lib/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.js.map +1 -0
- package/lib/components/editor/side-bar/Explorer.d.ts.map +1 -1
- package/lib/components/editor/side-bar/Explorer.js +1 -25
- package/lib/components/editor/side-bar/Explorer.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/{FunctionActivatorPromoteState.d.ts → FunctionActivatorState.d.ts} +9 -9
- package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorState.d.ts.map +1 -0
- package/lib/stores/editor/editor-state/element-editor-state/{FunctionActivatorPromoteState.js → FunctionActivatorState.js} +24 -25
- package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorState.js.map +1 -0
- package/lib/stores/editor/editor-state/element-editor-state/FunctionEditorState.d.ts +6 -5
- package/lib/stores/editor/editor-state/element-editor-state/FunctionEditorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/FunctionEditorState.js +6 -5
- package/lib/stores/editor/editor-state/element-editor-state/FunctionEditorState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/{FunctionActivatorBuilderState.d.ts → ToDelete_FunctionActivatorBuilderState.d.ts} +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/ToDelete_FunctionActivatorBuilderState.d.ts.map +1 -0
- package/lib/stores/editor/editor-state/element-editor-state/{FunctionActivatorBuilderState.js → ToDelete_FunctionActivatorBuilderState.js} +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/ToDelete_FunctionActivatorBuilderState.js.map +1 -0
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/INTERNAL__UnknownFunctionActivatorEditorState.js +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/INTERNAL__UnknownFunctionActivatorEditorState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.d.ts +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.js +3 -2
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.d.ts +81 -0
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.d.ts.map +1 -0
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.js +286 -0
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.js.map +1 -0
- package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingEditorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingEditorState.js +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingEditorState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.d.ts +3 -17
- 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 +8 -69
- 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/testable/TestableEditorState.d.ts +26 -3
- 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 +72 -1
- package/lib/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.js.map +1 -1
- package/lib/stores/graph-modifier/DomainGraphModifierHelper.d.ts +3 -1
- package/lib/stores/graph-modifier/DomainGraphModifierHelper.d.ts.map +1 -1
- package/lib/stores/graph-modifier/DomainGraphModifierHelper.js +7 -1
- package/lib/stores/graph-modifier/DomainGraphModifierHelper.js.map +1 -1
- package/lib/stores/graph-modifier/Testable_GraphModifierHelper.d.ts +3 -2
- package/lib/stores/graph-modifier/Testable_GraphModifierHelper.d.ts.map +1 -1
- package/lib/stores/graph-modifier/Testable_GraphModifierHelper.js +3 -0
- package/lib/stores/graph-modifier/Testable_GraphModifierHelper.js.map +1 -1
- package/package.json +4 -4
- package/src/__lib__/LegendStudioApplicationNavigationContext.ts +1 -0
- package/src/application/LegendStudioApplicationConfig.ts +7 -12
- package/src/components/editor/ActivityBar.tsx +3 -2
- package/src/components/editor/editor-group/function-activator/FunctionEditor.tsx +59 -276
- package/src/components/editor/editor-group/function-activator/SnowflakeAppFunctionActivatorEditor.tsx +3 -10
- package/src/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.tsx +748 -0
- package/src/components/editor/side-bar/Explorer.tsx +0 -59
- package/src/stores/editor/editor-state/element-editor-state/{FunctionActivatorPromoteState.ts → FunctionActivatorState.ts} +23 -26
- package/src/stores/editor/editor-state/element-editor-state/FunctionEditorState.ts +7 -6
- package/src/stores/editor/editor-state/element-editor-state/function-activator/INTERNAL__UnknownFunctionActivatorEditorState.ts +1 -1
- package/src/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.ts +5 -2
- package/src/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.ts +414 -0
- package/src/stores/editor/editor-state/element-editor-state/mapping/MappingEditorState.ts +1 -4
- package/src/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.ts +16 -96
- package/src/stores/editor/editor-state/element-editor-state/testable/TestableEditorState.ts +105 -3
- package/src/stores/graph-modifier/DomainGraphModifierHelper.ts +23 -2
- package/src/stores/graph-modifier/Testable_GraphModifierHelper.ts +9 -1
- package/tsconfig.json +4 -2
- package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorBuilderState.d.ts.map +0 -1
- package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorBuilderState.js.map +0 -1
- package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorPromoteState.d.ts.map +0 -1
- package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorPromoteState.js.map +0 -1
- /package/src/stores/editor/editor-state/element-editor-state/{FunctionActivatorBuilderState.ts → ToDelete_FunctionActivatorBuilderState.ts} +0 -0
@@ -673,10 +673,7 @@ export class MappingEditorState extends ElementEditorState {
|
|
673
673
|
this.mapping,
|
674
674
|
editorStore,
|
675
675
|
);
|
676
|
-
this.mappingTestableState = new MappingTestableState(
|
677
|
-
this.editorStore,
|
678
|
-
this,
|
679
|
-
);
|
676
|
+
this.mappingTestableState = new MappingTestableState(this);
|
680
677
|
}
|
681
678
|
|
682
679
|
get mapping(): Mapping {
|
package/src/stores/editor/editor-state/element-editor-state/mapping/testable/MappingTestableState.ts
CHANGED
@@ -38,7 +38,14 @@ import {
|
|
38
38
|
RunTestsTestableInput,
|
39
39
|
UniqueTestId,
|
40
40
|
} from '@finos/legend-graph';
|
41
|
-
import {
|
41
|
+
import {
|
42
|
+
action,
|
43
|
+
computed,
|
44
|
+
flow,
|
45
|
+
flowResult,
|
46
|
+
makeObservable,
|
47
|
+
observable,
|
48
|
+
} from 'mobx';
|
42
49
|
import {
|
43
50
|
ActionState,
|
44
51
|
assertErrorThrown,
|
@@ -57,7 +64,6 @@ import {
|
|
57
64
|
mappingTestable_setEmbeddedData,
|
58
65
|
mappingTestable_setQuery,
|
59
66
|
mapping_addTestSuite,
|
60
|
-
mapping_deleteTestSuite,
|
61
67
|
} from '../../../../../graph-modifier/DSL_Mapping_GraphModifierHelper.js';
|
62
68
|
import {
|
63
69
|
EmbeddedDataCreatorFromEmbeddedData,
|
@@ -66,15 +72,12 @@ import {
|
|
66
72
|
} from '../../../../utils/TestableUtils.js';
|
67
73
|
import {
|
68
74
|
TESTABLE_TEST_TAB,
|
75
|
+
TestablePackageableElementEditorState,
|
69
76
|
TestableTestEditorState,
|
70
77
|
TestableTestSuiteEditorState,
|
71
78
|
} from '../../testable/TestableEditorState.js';
|
72
79
|
import { EmbeddedDataEditorState } from '../../data/DataEditorState.js';
|
73
|
-
import {
|
74
|
-
testSuite_addTest,
|
75
|
-
testSuite_deleteTest,
|
76
|
-
testable_setId,
|
77
|
-
} from '../../../../../graph-modifier/Testable_GraphModifierHelper.js';
|
80
|
+
import { testSuite_addTest } from '../../../../../graph-modifier/Testable_GraphModifierHelper.js';
|
78
81
|
import { EmbeddedDataType } from '../../../ExternalFormatState.js';
|
79
82
|
import type { EditorStore } from '../../../../EditorStore.js';
|
80
83
|
import {
|
@@ -448,26 +451,6 @@ export class MappingTestSuiteState extends TestableTestSuiteEditorState {
|
|
448
451
|
setShowModal(val: boolean): void {
|
449
452
|
this.showCreateModal = val;
|
450
453
|
}
|
451
|
-
|
452
|
-
changeTest(val: MappingTest): void {
|
453
|
-
if (this.selectTestState?.test !== val) {
|
454
|
-
this.selectTestState = this.testStates.find(
|
455
|
-
(testState) => testState.test === val,
|
456
|
-
);
|
457
|
-
}
|
458
|
-
}
|
459
|
-
|
460
|
-
deleteTest(val: MappingTest): void {
|
461
|
-
testSuite_deleteTest(this.suite, val);
|
462
|
-
this.removeTestState(val);
|
463
|
-
if (this.selectTestState?.test === val) {
|
464
|
-
this.selectTestState = this.testStates[0];
|
465
|
-
}
|
466
|
-
}
|
467
|
-
|
468
|
-
removeTestState(val: MappingTest): void {
|
469
|
-
this.testStates = this.testStates.filter((e) => e.test !== val);
|
470
|
-
}
|
471
454
|
}
|
472
455
|
|
473
456
|
export class CreateSuiteState {
|
@@ -550,28 +533,20 @@ export class CreateSuiteState {
|
|
550
533
|
}
|
551
534
|
}
|
552
535
|
|
553
|
-
export class MappingTestableState {
|
554
|
-
readonly editorStore: EditorStore;
|
536
|
+
export class MappingTestableState extends TestablePackageableElementEditorState {
|
555
537
|
readonly mappingEditorState: MappingEditorState;
|
556
538
|
mappingModelCoverageAnalysisState = ActionState.create();
|
557
539
|
mappingModelCoverageAnalysisResult:
|
558
540
|
| MappingModelCoverageAnalysisResult
|
559
541
|
| undefined;
|
560
542
|
|
561
|
-
testableComponentToRename: MappingTestSuite | MappingTest | undefined;
|
562
543
|
createSuiteState: CreateSuiteState | undefined;
|
563
544
|
|
564
|
-
|
565
|
-
isRunningFailingSuitesState = ActionState.create();
|
566
|
-
|
567
|
-
selectedTestSuite: MappingTestSuiteState | undefined;
|
568
|
-
testableResults: TestResult[] | undefined;
|
545
|
+
declare selectedTestSuite: MappingTestSuiteState | undefined;
|
569
546
|
runningSuite: MappingTestSuite | undefined;
|
570
547
|
|
571
|
-
constructor(
|
572
|
-
|
573
|
-
mappingEditorState: MappingEditorState,
|
574
|
-
) {
|
548
|
+
constructor(mappingEditorState: MappingEditorState) {
|
549
|
+
super(mappingEditorState, mappingEditorState.mapping);
|
575
550
|
makeObservable(this, {
|
576
551
|
mappingModelCoverageAnalysisResult: observable,
|
577
552
|
mappingModelCoverageAnalysisState: observable,
|
@@ -580,6 +555,7 @@ export class MappingTestableState {
|
|
580
555
|
renameTestableComponent: observable,
|
581
556
|
testableResults: observable,
|
582
557
|
createSuiteState: observable,
|
558
|
+
suiteCount: computed,
|
583
559
|
changeSuite: action,
|
584
560
|
closeCreateModal: action,
|
585
561
|
openCreateModal: action,
|
@@ -592,7 +568,6 @@ export class MappingTestableState {
|
|
592
568
|
runSuite: flow,
|
593
569
|
runAllFailingSuites: flow,
|
594
570
|
});
|
595
|
-
this.editorStore = editorStore;
|
596
571
|
this.mappingEditorState = mappingEditorState;
|
597
572
|
this.init();
|
598
573
|
}
|
@@ -601,10 +576,6 @@ export class MappingTestableState {
|
|
601
576
|
return this.mappingEditorState.mapping;
|
602
577
|
}
|
603
578
|
|
604
|
-
get suiteCount(): number {
|
605
|
-
return this.mapping.tests.length;
|
606
|
-
}
|
607
|
-
|
608
579
|
get passingSuites(): MappingTestSuite[] {
|
609
580
|
const results = this.testableResults;
|
610
581
|
if (results?.length) {
|
@@ -649,11 +620,7 @@ export class MappingTestableState {
|
|
649
620
|
);
|
650
621
|
}
|
651
622
|
|
652
|
-
|
653
|
-
this.testableResults = val;
|
654
|
-
}
|
655
|
-
|
656
|
-
init(): void {
|
623
|
+
override init(): void {
|
657
624
|
if (!this.selectedTestSuite) {
|
658
625
|
const suite = this.mapping.tests[0];
|
659
626
|
this.selectedTestSuite = suite
|
@@ -670,32 +637,12 @@ export class MappingTestableState {
|
|
670
637
|
this.createSuiteState = undefined;
|
671
638
|
}
|
672
639
|
|
673
|
-
renameTestableComponent(val: string | undefined): void {
|
674
|
-
const _component = this.testableComponentToRename;
|
675
|
-
if (_component) {
|
676
|
-
testable_setId(_component, val ?? '');
|
677
|
-
}
|
678
|
-
}
|
679
|
-
|
680
640
|
changeSuite(suite: MappingTestSuite): void {
|
681
641
|
if (this.selectedTestSuite?.suite !== suite) {
|
682
642
|
this.selectedTestSuite = this.buildTestSuiteState(suite);
|
683
643
|
}
|
684
644
|
}
|
685
645
|
|
686
|
-
setRenameComponent(
|
687
|
-
testSuite: MappingTestSuite | MappingTest | undefined,
|
688
|
-
): void {
|
689
|
-
this.testableComponentToRename = testSuite;
|
690
|
-
}
|
691
|
-
|
692
|
-
deleteTestSuite(testSuite: MappingTestSuite): void {
|
693
|
-
mapping_deleteTestSuite(this.mapping, testSuite);
|
694
|
-
if (this.selectedTestSuite?.suite === testSuite) {
|
695
|
-
this.init();
|
696
|
-
}
|
697
|
-
}
|
698
|
-
|
699
646
|
buildTestSuiteState(val: MappingTestSuite): MappingTestSuiteState {
|
700
647
|
return new MappingTestSuiteState(this.editorStore, this, val);
|
701
648
|
}
|
@@ -773,33 +720,6 @@ export class MappingTestableState {
|
|
773
720
|
}
|
774
721
|
}
|
775
722
|
|
776
|
-
*runTestable(): GeneratorFn<void> {
|
777
|
-
try {
|
778
|
-
this.setTestableResults(undefined);
|
779
|
-
this.isRunningTestableSuitesState.inProgress();
|
780
|
-
this.selectedTestSuite?.testStates.forEach((t) => t.resetResult());
|
781
|
-
this.selectedTestSuite?.testStates.forEach((t) =>
|
782
|
-
t.runningTestAction.inProgress(),
|
783
|
-
);
|
784
|
-
const input = new RunTestsTestableInput(this.mapping);
|
785
|
-
const testResults =
|
786
|
-
(yield this.editorStore.graphManagerState.graphManager.runTests(
|
787
|
-
[input],
|
788
|
-
this.editorStore.graphManagerState.graph,
|
789
|
-
)) as TestResult[];
|
790
|
-
this.handleNewResults(testResults);
|
791
|
-
this.isRunningTestableSuitesState.complete();
|
792
|
-
} catch (error) {
|
793
|
-
assertErrorThrown(error);
|
794
|
-
this.editorStore.applicationStore.notificationService.notifyError(error);
|
795
|
-
this.isRunningTestableSuitesState.fail();
|
796
|
-
} finally {
|
797
|
-
this.selectedTestSuite?.testStates.forEach((t) =>
|
798
|
-
t.runningTestAction.complete(),
|
799
|
-
);
|
800
|
-
}
|
801
|
-
}
|
802
|
-
|
803
723
|
*runAllFailingSuites(): GeneratorFn<void> {
|
804
724
|
try {
|
805
725
|
this.isRunningFailingSuitesState.inProgress();
|
@@ -15,6 +15,7 @@
|
|
15
15
|
*/
|
16
16
|
|
17
17
|
import {
|
18
|
+
type Test,
|
18
19
|
type AtomicTest,
|
19
20
|
type Testable,
|
20
21
|
type TestAssertion,
|
@@ -38,13 +39,19 @@ import {
|
|
38
39
|
} from '@finos/legend-shared';
|
39
40
|
import { action, flowResult, makeObservable, observable } from 'mobx';
|
40
41
|
import type { EditorStore } from '../../../EditorStore.js';
|
41
|
-
import {
|
42
|
+
import {
|
43
|
+
atomicTest_addAssertion,
|
44
|
+
testSuite_deleteTest,
|
45
|
+
testable_deleteTest,
|
46
|
+
testable_setId,
|
47
|
+
} from '../../../../graph-modifier/Testable_GraphModifierHelper.js';
|
42
48
|
import { createEmptyEqualToJsonAssertion } from '../../../utils/TestableUtils.js';
|
43
49
|
import { TESTABLE_RESULT } from '../../../sidebar-state/testable/GlobalTestRunnerState.js';
|
44
50
|
import {
|
45
51
|
TestAssertionEditorState,
|
46
52
|
TEST_ASSERTION_TAB,
|
47
53
|
} from './TestAssertionState.js';
|
54
|
+
import type { ElementEditorState } from '../ElementEditorState.js';
|
48
55
|
|
49
56
|
export class TestableTestResultState {
|
50
57
|
readonly editorStore: EditorStore;
|
@@ -71,7 +78,7 @@ export enum TESTABLE_TEST_TAB {
|
|
71
78
|
ASSERTION = 'ASSERTION',
|
72
79
|
}
|
73
80
|
|
74
|
-
export class TestableTestEditorState {
|
81
|
+
export abstract class TestableTestEditorState {
|
75
82
|
readonly editorStore: EditorStore;
|
76
83
|
testable: Testable;
|
77
84
|
test: AtomicTest;
|
@@ -219,7 +226,7 @@ export class TestableTestEditorState {
|
|
219
226
|
}
|
220
227
|
}
|
221
228
|
|
222
|
-
export class TestableTestSuiteEditorState {
|
229
|
+
export abstract class TestableTestSuiteEditorState {
|
223
230
|
readonly editorStore: EditorStore;
|
224
231
|
testable: Testable;
|
225
232
|
suite: TestSuite;
|
@@ -304,4 +311,99 @@ export class TestableTestSuiteEditorState {
|
|
304
311
|
this.testStates.forEach((t) => t.runningTestAction.complete());
|
305
312
|
}
|
306
313
|
}
|
314
|
+
|
315
|
+
deleteTest(val: AtomicTest): void {
|
316
|
+
testSuite_deleteTest(this.suite, val);
|
317
|
+
this.removeTestState(val);
|
318
|
+
if (this.selectTestState?.test === val) {
|
319
|
+
this.selectTestState = this.testStates[0];
|
320
|
+
}
|
321
|
+
}
|
322
|
+
|
323
|
+
removeTestState(val: AtomicTest): void {
|
324
|
+
this.testStates = this.testStates.filter((e) => e.test !== val);
|
325
|
+
}
|
326
|
+
|
327
|
+
changeTest(val: AtomicTest): void {
|
328
|
+
if (this.selectTestState?.test !== val) {
|
329
|
+
this.selectTestState = this.testStates.find(
|
330
|
+
(testState) => testState.test === val,
|
331
|
+
);
|
332
|
+
}
|
333
|
+
}
|
334
|
+
}
|
335
|
+
|
336
|
+
export abstract class TestablePackageableElementEditorState {
|
337
|
+
readonly editorStore: EditorStore;
|
338
|
+
readonly editorState: ElementEditorState;
|
339
|
+
readonly testable: Testable;
|
340
|
+
testableResults: TestResult[] | undefined;
|
341
|
+
selectedTestSuite: TestableTestSuiteEditorState | undefined;
|
342
|
+
|
343
|
+
testableComponentToRename: Test | undefined;
|
344
|
+
|
345
|
+
isRunningTestableSuitesState = ActionState.create();
|
346
|
+
isRunningFailingSuitesState = ActionState.create();
|
347
|
+
|
348
|
+
constructor(editorState: ElementEditorState, testable: Testable) {
|
349
|
+
this.editorState = editorState;
|
350
|
+
this.editorStore = editorState.editorStore;
|
351
|
+
this.testable = testable;
|
352
|
+
}
|
353
|
+
|
354
|
+
abstract init(): void;
|
355
|
+
|
356
|
+
abstract handleNewResults(results: TestResult[]): void;
|
357
|
+
|
358
|
+
get suiteCount(): number {
|
359
|
+
return this.testable.tests.length;
|
360
|
+
}
|
361
|
+
|
362
|
+
setTestableResults(val: TestResult[] | undefined): void {
|
363
|
+
this.testableResults = val;
|
364
|
+
}
|
365
|
+
|
366
|
+
setRenameComponent(testSuite: Test | undefined): void {
|
367
|
+
this.testableComponentToRename = testSuite;
|
368
|
+
}
|
369
|
+
|
370
|
+
renameTestableComponent(val: string | undefined): void {
|
371
|
+
const _component = this.testableComponentToRename;
|
372
|
+
if (_component) {
|
373
|
+
testable_setId(_component, val ?? '');
|
374
|
+
}
|
375
|
+
}
|
376
|
+
|
377
|
+
deleteTestSuite(testSuite: TestSuite): void {
|
378
|
+
testable_deleteTest(this.testable, testSuite);
|
379
|
+
if (this.selectedTestSuite?.suite === testSuite) {
|
380
|
+
this.init();
|
381
|
+
}
|
382
|
+
}
|
383
|
+
*runTestable(): GeneratorFn<void> {
|
384
|
+
try {
|
385
|
+
this.setTestableResults(undefined);
|
386
|
+
this.isRunningTestableSuitesState.inProgress();
|
387
|
+
this.selectedTestSuite?.testStates.forEach((t) => t.resetResult());
|
388
|
+
this.selectedTestSuite?.testStates.forEach((t) =>
|
389
|
+
t.runningTestAction.inProgress(),
|
390
|
+
);
|
391
|
+
const input = new RunTestsTestableInput(this.testable);
|
392
|
+
const testResults =
|
393
|
+
(yield this.editorStore.graphManagerState.graphManager.runTests(
|
394
|
+
[input],
|
395
|
+
this.editorStore.graphManagerState.graph,
|
396
|
+
)) as TestResult[];
|
397
|
+
this.handleNewResults(testResults);
|
398
|
+
this.isRunningTestableSuitesState.complete();
|
399
|
+
} catch (error) {
|
400
|
+
assertErrorThrown(error);
|
401
|
+
this.editorStore.applicationStore.notificationService.notifyError(error);
|
402
|
+
this.isRunningTestableSuitesState.fail();
|
403
|
+
} finally {
|
404
|
+
this.selectedTestSuite?.testStates.forEach((t) =>
|
405
|
+
t.runningTestAction.complete(),
|
406
|
+
);
|
407
|
+
}
|
408
|
+
}
|
307
409
|
}
|
@@ -27,7 +27,6 @@ import {
|
|
27
27
|
type GenericTypeReference,
|
28
28
|
type TaggedValue,
|
29
29
|
type StereotypeReference,
|
30
|
-
GenericType,
|
31
30
|
type Type,
|
32
31
|
type Multiplicity,
|
33
32
|
type Stereotype,
|
@@ -48,7 +47,13 @@ import {
|
|
48
47
|
type Unit,
|
49
48
|
type RawLambda,
|
50
49
|
type Association,
|
50
|
+
type INTERNAL__UnknownFunctionActivator,
|
51
|
+
type FunctionStoreTestData,
|
52
|
+
type ObserverContext,
|
53
|
+
type FunctionTestSuite,
|
51
54
|
type AggregationKind,
|
55
|
+
type EmbeddedData,
|
56
|
+
GenericType,
|
52
57
|
Class,
|
53
58
|
observe_Enum,
|
54
59
|
observe_DerivedProperty,
|
@@ -66,7 +71,7 @@ import {
|
|
66
71
|
observe_RawLambda,
|
67
72
|
isStubbed_PackageableElement,
|
68
73
|
getOtherAssociatedProperty,
|
69
|
-
|
74
|
+
observe_EmbeddedData,
|
70
75
|
} from '@finos/legend-graph';
|
71
76
|
|
72
77
|
// --------------------------------------------- Packageable Element -------------------------------------
|
@@ -383,6 +388,22 @@ export const INTERNAL__UnknownFunctionActivator_setContent = action(
|
|
383
388
|
},
|
384
389
|
);
|
385
390
|
|
391
|
+
export const functionTestable_setEmbeddedData = action(
|
392
|
+
(
|
393
|
+
store: FunctionStoreTestData,
|
394
|
+
embeddedData: EmbeddedData,
|
395
|
+
observerContext: ObserverContext,
|
396
|
+
): void => {
|
397
|
+
store.data = observe_EmbeddedData(embeddedData, observerContext);
|
398
|
+
},
|
399
|
+
);
|
400
|
+
|
401
|
+
export const functionTestable_deleteDataStore = action(
|
402
|
+
(suite: FunctionTestSuite, val: FunctionStoreTestData): void => {
|
403
|
+
deleteEntry(suite.testData ?? [], val);
|
404
|
+
},
|
405
|
+
);
|
406
|
+
|
386
407
|
// --------------------------------------------- Enumeration -------------------------------------
|
387
408
|
|
388
409
|
export const enum_setName = action((val: Enum, value: string): void => {
|
@@ -21,9 +21,11 @@ import {
|
|
21
21
|
type TestAssertion,
|
22
22
|
type TestSuite,
|
23
23
|
type ObserverContext,
|
24
|
+
type Test,
|
24
25
|
observe_TestAssertion,
|
25
26
|
observe_ExternalFormatData,
|
26
27
|
observe_AtomicTest,
|
28
|
+
type Testable,
|
27
29
|
} from '@finos/legend-graph';
|
28
30
|
import { addUniqueEntry, deleteEntry } from '@finos/legend-shared';
|
29
31
|
import { action } from 'mobx';
|
@@ -64,7 +66,7 @@ export const testSuite_setId = action((test: TestSuite, val: string): void => {
|
|
64
66
|
});
|
65
67
|
|
66
68
|
export const testable_setId = action(
|
67
|
-
(test:
|
69
|
+
(test: Test | AtomicTest, val: string): void => {
|
68
70
|
test.id = val;
|
69
71
|
},
|
70
72
|
);
|
@@ -75,6 +77,12 @@ export const testSuite_deleteTest = action(
|
|
75
77
|
},
|
76
78
|
);
|
77
79
|
|
80
|
+
export const testable_deleteTest = action(
|
81
|
+
(testable: Testable, val: Test): void => {
|
82
|
+
deleteEntry(testable.tests, val);
|
83
|
+
},
|
84
|
+
);
|
85
|
+
|
78
86
|
export const testSuite_addTest = action(
|
79
87
|
(
|
80
88
|
test: TestSuite,
|
package/tsconfig.json
CHANGED
@@ -89,11 +89,11 @@
|
|
89
89
|
"./src/stores/editor/editor-state/element-editor-state/ElementExternalFormatGenerationState.ts",
|
90
90
|
"./src/stores/editor/editor-state/element-editor-state/ElementFileGenerationState.ts",
|
91
91
|
"./src/stores/editor/editor-state/element-editor-state/FileGenerationEditorState.ts",
|
92
|
-
"./src/stores/editor/editor-state/element-editor-state/
|
93
|
-
"./src/stores/editor/editor-state/element-editor-state/FunctionActivatorPromoteState.ts",
|
92
|
+
"./src/stores/editor/editor-state/element-editor-state/FunctionActivatorState.ts",
|
94
93
|
"./src/stores/editor/editor-state/element-editor-state/FunctionEditorState.ts",
|
95
94
|
"./src/stores/editor/editor-state/element-editor-state/ProtocolValueBuilderState.ts",
|
96
95
|
"./src/stores/editor/editor-state/element-editor-state/RuntimeEditorState.ts",
|
96
|
+
"./src/stores/editor/editor-state/element-editor-state/ToDelete_FunctionActivatorBuilderState.ts",
|
97
97
|
"./src/stores/editor/editor-state/element-editor-state/UMLEditorState.ts",
|
98
98
|
"./src/stores/editor/editor-state/element-editor-state/connection/ConnectionEditorState.ts",
|
99
99
|
"./src/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.ts",
|
@@ -107,6 +107,7 @@
|
|
107
107
|
"./src/stores/editor/editor-state/element-editor-state/external-format/DSL_ExternalFormat_SchemaSetEditorState.ts",
|
108
108
|
"./src/stores/editor/editor-state/element-editor-state/function-activator/INTERNAL__UnknownFunctionActivatorEditorState.ts",
|
109
109
|
"./src/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.ts",
|
110
|
+
"./src/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.ts",
|
110
111
|
"./src/stores/editor/editor-state/element-editor-state/mapping/DEPRECATED__MappingTestState.ts",
|
111
112
|
"./src/stores/editor/editor-state/element-editor-state/mapping/FlatDataInstanceSetImplementationState.ts",
|
112
113
|
"./src/stores/editor/editor-state/element-editor-state/mapping/MappingEditorState.ts",
|
@@ -230,6 +231,7 @@
|
|
230
231
|
"./src/components/editor/editor-group/function-activator/FunctionEditor.tsx",
|
231
232
|
"./src/components/editor/editor-group/function-activator/INTERNAL__UnknownFunctionActivatorEdtior.tsx",
|
232
233
|
"./src/components/editor/editor-group/function-activator/SnowflakeAppFunctionActivatorEditor.tsx",
|
234
|
+
"./src/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.tsx",
|
233
235
|
"./src/components/editor/editor-group/mapping-editor/ClassMappingEditor.tsx",
|
234
236
|
"./src/components/editor/editor-group/mapping-editor/DEPRECATED__MappingTestEditor.tsx",
|
235
237
|
"./src/components/editor/editor-group/mapping-editor/EnumerationMappingEditor.tsx",
|
package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorBuilderState.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"FunctionActivatorBuilderState.d.ts","sourceRoot":"","sources":["../../../../../src/stores/editor/editor-state/element-editor-state/FunctionActivatorBuilderState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,kCAAkC,EAClC,KAAK,8BAA8B,EAIpC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,sBAAsB,CAAC;AAI9B,eAAO,MAAM,iCAAiC,UAS7C,CAAC;AAEF,qBAAa,6BAA6B;IACxC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAElD,6BAA6B,CAAC,EAAE,8BAA8B,GAAG,SAAS,CAAC;IAC3E,0CAA0C,CAAC,EACvC,yBAAyB,GACzB,SAAS,CAAC;IACd,aAAa,SAAuB;IACpC,iBAAiB,CAAC,EAAE,kCAAkC,GAAG,SAAS,CAAC;gBAEvD,mBAAmB,EAAE,mBAAmB;IAgBpD,IAAI,YAAY,IAAI,OAAO,CAS1B;IAED,IAAI,OAAO,IAAI,OAAO,CAKrB;IAED,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOnC,gCAAgC,CAC9B,GAAG,EAAE,8BAA8B,GAAG,SAAS,GAC9C,IAAI;IAmDN,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC;CAqB/B"}
|
package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorBuilderState.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"FunctionActivatorBuilderState.js","sourceRoot":"","sources":["../../../../../src/stores/editor/editor-state/element-editor-state/FunctionActivatorBuilderState.ts"],"names":[],"mappings":"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"}
|
package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorPromoteState.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"FunctionActivatorPromoteState.d.ts","sourceRoot":"","sources":["../../../../../src/stores/editor/editor-state/element-editor-state/FunctionActivatorPromoteState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EAOvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKxD,qBAAa,6BAA6B;IACxC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAElD,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,UAAS;IAC5B,6BAA6B,UAAS;IACtC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEpB,mBAAmB,EAAE,mBAAmB;IAkBpD,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAI1C,gCAAgC,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAIpD,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAI7C,wBAAwB,IAAI,IAAI;IAIhC,yBAAyB,IAAI,IAAI;IAIjC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAItC,uBAAuB,CACrB,eAAe,EAAE,0BAA0B,GAC1C,iBAAiB,GAAG,SAAS;IAuB/B,OAAO,CAAC,eAAe,EAAE,0BAA0B,GAAG,WAAW,CAAC,IAAI,CAAC;CAwBzE"}
|
package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorPromoteState.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"FunctionActivatorPromoteState.js","sourceRoot":"","sources":["../../../../../src/stores/editor/editor-state/element-editor-state/FunctionActivatorPromoteState.ts"],"names":[],"mappings":"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"}
|