testeranto 0.197.0 → 0.199.0
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/.vscode/settings.json +7 -2
- package/design-editor/DesignEditor.tsx +9 -5
- package/dist/common/design-editor/DesignEditor.js +8 -5
- package/dist/common/src/App.js +29 -5
- package/dist/common/src/Node.js +3 -2
- package/dist/common/src/PM/main.js +1 -1
- package/dist/common/src/Pure.js +2 -2
- package/dist/common/src/Web.js +2 -2
- package/dist/common/src/components/DesignEditorPage.js +55 -19
- package/dist/common/src/lib/BaseGiven.js +99 -0
- package/dist/common/src/lib/BaseSuite.test/mock.js +9 -5
- package/dist/common/src/lib/BaseThen.js +64 -0
- package/dist/common/src/lib/BaseWhen.js +45 -0
- package/dist/common/src/lib/Tiposkripto.js +149 -0
- package/dist/common/src/lib/{core.test/MockCore.js → Tiposkripto.test/MockTiposkripto.js} +5 -8
- package/dist/common/src/lib/{core.test/core.test.adapter.js → Tiposkripto.test/Tiposkripto.adapter.js} +10 -8
- package/dist/common/src/lib/{classBuilder.test/classBuilder.test.implementation.js → Tiposkripto.test/Tiposkripto.implementation.js} +44 -61
- package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.js +11 -0
- package/dist/common/src/lib/{classBuilder.test/classBuilder.test.specification.js → Tiposkripto.test/Tiposkripto.specification.js} +13 -9
- package/dist/common/src/lib/abstractBase.test/MockGiven.js +10 -3
- package/dist/common/src/lib/abstractBase.test/MockThen.js +6 -3
- package/dist/common/src/lib/abstractBase.test/MockWhen.js +10 -3
- package/dist/common/src/lib/abstractBase.test/adapter.js +18 -6
- package/dist/common/src/lib/abstractBase.test/implementation.js +3 -3
- package/dist/common/src/lib/mocks.test.js +10 -8
- package/dist/common/src/run.js +15 -4
- package/dist/common/testeranto.config.js +12 -36
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/module/design-editor/DesignEditor.js +8 -5
- package/dist/module/src/App.js +29 -5
- package/dist/module/src/Node.js +3 -2
- package/dist/module/src/PM/main.js +1 -1
- package/dist/module/src/Pure.js +2 -2
- package/dist/module/src/Web.js +2 -2
- package/dist/module/src/components/DesignEditorPage.js +55 -19
- package/dist/module/src/lib/BaseGiven.js +95 -0
- package/dist/module/src/lib/BaseSuite.test/mock.js +6 -2
- package/dist/module/src/lib/BaseThen.js +60 -0
- package/dist/module/src/lib/BaseWhen.js +41 -0
- package/dist/module/src/lib/Tiposkripto.js +146 -0
- package/dist/module/src/lib/{core.test/MockCore.js → Tiposkripto.test/MockTiposkripto.js} +3 -6
- package/dist/module/src/lib/{core.test/core.test.adapter.js → Tiposkripto.test/Tiposkripto.adapter.js} +10 -8
- package/dist/module/src/lib/{classBuilder.test/classBuilder.test.implementation.js → Tiposkripto.test/Tiposkripto.implementation.js} +44 -58
- package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.js +6 -0
- package/dist/module/src/lib/{classBuilder.test/classBuilder.test.specification.js → Tiposkripto.test/Tiposkripto.specification.js} +12 -8
- package/dist/module/src/lib/abstractBase.test/MockGiven.js +9 -2
- package/dist/module/src/lib/abstractBase.test/MockThen.js +5 -2
- package/dist/module/src/lib/abstractBase.test/MockWhen.js +9 -2
- package/dist/module/src/lib/abstractBase.test/adapter.js +18 -6
- package/dist/module/src/lib/abstractBase.test/implementation.js +3 -3
- package/dist/module/src/lib/mocks.test.js +11 -5
- package/dist/module/src/run.js +15 -4
- package/dist/module/testeranto.config.js +12 -36
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/prebuild/App.js +1461 -8949
- package/dist/prebuild/run.mjs +25 -14
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/src/Node.d.ts +2 -2
- package/dist/types/src/PM/__tests__/nodeSidecar.testeranto.d.ts +1 -15
- package/dist/types/src/PM/__tests__/pureSidecar.testeranto.d.ts +1 -15
- package/dist/types/src/PM/__tests__/webSidecar.testeranto.d.ts +1 -15
- package/dist/types/src/Pure.d.ts +2 -2
- package/dist/types/src/Pure.test.d.ts +1 -58
- package/dist/types/src/ReportServer.test.ts/index.d.ts +1 -28
- package/dist/types/src/Types.d.ts +3 -1
- package/dist/types/src/Web.d.ts +2 -2
- package/dist/types/src/components/pure/AppFrame.test/index.d.ts +1 -3
- package/dist/types/src/components/pure/FeaturesReporterView.test/index.d.ts +1 -1
- package/dist/types/src/components/pure/ModalContent.test/index.d.ts +1 -2
- package/dist/types/src/components/pure/ProjectPageView.test/index.d.ts +1 -1
- package/dist/types/src/components/pure/TestPageView.test/index.d.ts +1 -1
- package/dist/types/src/lib/BaseGiven.d.ts +44 -0
- package/dist/types/src/lib/BaseSuite.d.ts +12 -7
- package/dist/types/src/lib/BaseSuite.test/mock.d.ts +3 -1
- package/dist/types/src/lib/BaseSuite.test/node.test.d.ts +1 -2
- package/dist/types/src/lib/BaseSuite.test/pure.test.d.ts +1 -2
- package/dist/types/src/lib/BaseSuite.test/web.test.d.ts +1 -2
- package/dist/types/src/lib/BaseThen.d.ts +27 -0
- package/dist/types/src/lib/BaseWhen.d.ts +27 -0
- package/dist/types/src/lib/Tiposkripto.d.ts +35 -0
- package/dist/types/src/lib/{core.test/MockCore.d.ts → Tiposkripto.test/MockTiposkripto.d.ts} +3 -3
- package/dist/types/src/lib/{core.test/core.test.adapter.d.ts → Tiposkripto.test/Tiposkripto.adapter.d.ts} +1 -1
- package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.d.ts +2 -0
- package/dist/types/src/lib/{core.test/core.test.implementation.d.ts → Tiposkripto.test/Tiposkripto.implementation.d.ts} +1 -1
- package/dist/types/src/lib/{core.test/core.test.specification.d.ts → Tiposkripto.test/Tiposkripto.specification.d.ts} +1 -1
- package/dist/types/src/lib/{classBuilder.test/classBuilder.test.types.d.ts → Tiposkripto.test/Tiposkripto.types.d.ts} +11 -9
- package/dist/types/src/lib/abstractBase.test/MockGiven.d.ts +3 -1
- package/dist/types/src/lib/abstractBase.test/MockThen.d.ts +1 -1
- package/dist/types/src/lib/abstractBase.test/MockWhen.d.ts +1 -1
- package/dist/types/src/lib/abstractBase.test/index.d.ts +1 -2
- package/dist/types/src/lib/abstractBase.test/types.d.ts +3 -3
- package/dist/types/src/lib/index.d.ts +1 -1
- package/dist/types/src/lib/mocks.test.d.ts +0 -2
- package/dist/types/src/lib/pmProxy.test/index.d.ts +1 -2
- package/dist/types/src/lib/types.d.ts +3 -1
- package/dist/types/src/mothership/test.d.ts +1 -18
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/package.json +14 -14
- package/src/App.tsx +27 -5
- package/src/Node.ts +3 -2
- package/src/PM/main.ts +1 -1
- package/src/Pure.ts +3 -2
- package/src/Types.ts +5 -3
- package/src/Web.ts +2 -2
- package/src/components/DesignEditorPage.tsx +54 -21
- package/src/lib/BaseGiven.ts +193 -0
- package/src/lib/BaseSuite.test/mock.ts +9 -2
- package/src/lib/BaseSuite.ts +14 -1
- package/src/lib/BaseThen.ts +108 -0
- package/src/lib/BaseWhen.ts +91 -0
- package/src/lib/{core.test/MockCore.ts → Tiposkripto.test/MockTiposkripto.ts} +4 -7
- package/src/lib/{core.test/core.test.adapter.ts → Tiposkripto.test/Tiposkripto.adapter.ts} +12 -11
- package/src/lib/{classBuilder.test/classBuilder.test.implementation.ts → Tiposkripto.test/Tiposkripto.implementation.ts} +75 -78
- package/src/lib/Tiposkripto.test/Tiposkripto.specification.ts +109 -0
- package/src/lib/Tiposkripto.test/Tiposkripto.ts +15 -0
- package/src/lib/{classBuilder.test/classBuilder.test.types.ts → Tiposkripto.test/Tiposkripto.types.ts} +12 -9
- package/src/lib/Tiposkripto.ts +325 -0
- package/src/lib/abstractBase.test/MockGiven.ts +12 -2
- package/src/lib/abstractBase.test/MockThen.ts +7 -2
- package/src/lib/abstractBase.test/MockWhen.ts +10 -2
- package/src/lib/abstractBase.test/adapter.ts +20 -6
- package/src/lib/abstractBase.test/implementation.ts +6 -6
- package/src/lib/abstractBase.test/types.ts +3 -3
- package/src/lib/index.ts +9 -3
- package/src/lib/mocks.test.ts +10 -9
- package/src/lib/types.ts +3 -1
- package/src/run.ts +19 -4
- package/testeranto/App.js +1461 -8949
- package/testeranto/bundles/node/core/src/lib/BaseSuite.test/node.test.mjs +1121 -9
- package/testeranto/bundles/pure/core/src/lib/BaseSuite.test/pure.test.mjs +979 -8
- package/testeranto/bundles/{pure/core/chunk-62UVCSQC.mjs → web/core/src/lib/BaseSuite.test/web.test.mjs} +721 -431
- package/testeranto/metafiles/node/core.json +264 -2180
- package/testeranto/metafiles/pure/core.json +147 -288
- package/testeranto/metafiles/web/core.json +16949 -18
- package/testeranto/reports/core/config.json +8 -40
- package/testeranto/reports/core/src/Pure.test/pure/type_errors.txt +8 -13
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/error.log +66 -2
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/info.log +2 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/prompt.txt +16 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/tests.json +68 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/type_errors.txt +56 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/error.log +22 -3
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/info.log +2 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +13 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/prompt.txt +16 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/tests.json +88 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +45 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/error.log +0 -3
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/info.log +2 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/lint_errors.txt +47 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/prompt.txt +17 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/tests.json +57 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/type_errors.txt +99 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/prompt.txt +1 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/tests.json +7 -9
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/type_errors.txt +11 -16
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +11 -16
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/error.log +0 -2
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/prompt.txt +15 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/tests.json +29 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/type_errors.txt +56 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/exit.log +1 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/message.txt +17 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/prompt.txt +17 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/stderr.log +18 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/type_errors.txt +32 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/exit.log +1 -1
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stderr.log +60 -82
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/type_errors.txt +8 -13
- package/testeranto/reports/core/summary.json +23 -36
- package/testeranto.config.ts +14 -41
- package/tsc.log +274 -455
- package/dist/common/src/lib/abstractBase.js +0 -196
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +0 -25
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +0 -113
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.mock.js +0 -46
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.node.js +0 -12
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.pure.js +0 -12
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.specification.js +0 -18
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.web.js +0 -12
- package/dist/common/src/lib/basebuilder.js +0 -88
- package/dist/common/src/lib/classBuilder.js +0 -36
- package/dist/common/src/lib/classBuilder.test/classBuilder.test.adapter.js +0 -23
- package/dist/common/src/lib/classBuilder.test/classBuilder.test.js +0 -12
- package/dist/common/src/lib/classBuilder.test/classBuilder.test.types.js +0 -2
- package/dist/common/src/lib/classBuilder.test/mock.js +0 -17
- package/dist/common/src/lib/core.js +0 -45
- package/dist/common/src/lib/core.test/core.test.implementation.js +0 -121
- package/dist/common/src/lib/core.test/core.test.js +0 -63
- package/dist/common/src/lib/core.test/core.test.specification.js +0 -53
- package/dist/common/src/lib/core.test/core.test.types.js +0 -2
- package/dist/module/src/lib/abstractBase.js +0 -190
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +0 -22
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +0 -110
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.mock.js +0 -42
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.node.js +0 -7
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.pure.js +0 -7
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.specification.js +0 -14
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.web.js +0 -7
- package/dist/module/src/lib/basebuilder.js +0 -84
- package/dist/module/src/lib/classBuilder.js +0 -32
- package/dist/module/src/lib/classBuilder.test/classBuilder.test.adapter.js +0 -20
- package/dist/module/src/lib/classBuilder.test/classBuilder.test.js +0 -7
- package/dist/module/src/lib/classBuilder.test/classBuilder.test.types.js +0 -1
- package/dist/module/src/lib/classBuilder.test/mock.js +0 -14
- package/dist/module/src/lib/core.js +0 -42
- package/dist/module/src/lib/core.test/core.test.implementation.js +0 -118
- package/dist/module/src/lib/core.test/core.test.js +0 -58
- package/dist/module/src/lib/core.test/core.test.specification.js +0 -49
- package/dist/module/src/lib/core.test/core.test.types.js +0 -1
- package/dist/types/src/lib/abstractBase.d.ts +0 -70
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.adapter.d.ts +0 -3
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.implementation.d.ts +0 -3
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.mock.d.ts +0 -15
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.node.d.ts +0 -3
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.pure.d.ts +0 -3
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.specification.d.ts +0 -3
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.types.d.ts +0 -22
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.web.d.ts +0 -3
- package/dist/types/src/lib/basebuilder.d.ts +0 -23
- package/dist/types/src/lib/classBuilder.d.ts +0 -15
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.adapter.d.ts +0 -3
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.d.ts +0 -3
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.implementation.d.ts +0 -3
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.specification.d.ts +0 -3
- package/dist/types/src/lib/classBuilder.test/mock.d.ts +0 -14
- package/dist/types/src/lib/core.d.ts +0 -12
- package/dist/types/src/lib/core.test/core.test.d.ts +0 -3
- package/dist/types/src/lib/core.test/core.test.types.d.ts +0 -46
- package/src/lib/abstractBase.ts +0 -351
- package/src/lib/baseBuilder.test/baseBuilder.test.adapter.ts +0 -29
- package/src/lib/baseBuilder.test/baseBuilder.test.implementation.ts +0 -139
- package/src/lib/baseBuilder.test/baseBuilder.test.mock.ts +0 -90
- package/src/lib/baseBuilder.test/baseBuilder.test.node.ts +0 -16
- package/src/lib/baseBuilder.test/baseBuilder.test.pure.ts +0 -16
- package/src/lib/baseBuilder.test/baseBuilder.test.specification.ts +0 -35
- package/src/lib/baseBuilder.test/baseBuilder.test.types.ts +0 -36
- package/src/lib/baseBuilder.test/baseBuilder.test.web.ts +0 -16
- package/src/lib/basebuilder.ts +0 -187
- package/src/lib/classBuilder.test/classBuilder.test.adapter.ts +0 -25
- package/src/lib/classBuilder.test/classBuilder.test.specification.ts +0 -104
- package/src/lib/classBuilder.test/classBuilder.test.ts +0 -14
- package/src/lib/classBuilder.test/mock.ts +0 -83
- package/src/lib/classBuilder.ts +0 -120
- package/src/lib/core.test/core.test.implementation.ts +0 -155
- package/src/lib/core.test/core.test.specification.ts +0 -113
- package/src/lib/core.test/core.test.ts +0 -72
- package/src/lib/core.test/core.test.types.ts +0 -68
- package/src/lib/core.ts +0 -125
- package/testeranto/bundles/node/core/chunk-4CSH4UJE.mjs +0 -872
- package/testeranto/bundles/node/core/chunk-4JTDLQVA.mjs +0 -253
- package/testeranto/bundles/node/core/chunk-C3APFDUV.mjs +0 -70
- package/testeranto/bundles/node/core/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +0 -243
- package/testeranto/bundles/node/core/src/lib/classBuilder.test/classBuilder.test.mjs +0 -411
- package/testeranto/bundles/node/core/src/lib/core.test/core.test.mjs +0 -494
- package/testeranto/bundles/node/core/src/lib/pmProxy.test/index.mjs +0 -4755
- package/testeranto/bundles/pure/core/src/Pure.test.mjs +0 -410
- package/testeranto/bundles/pure/core/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +0 -241
- package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.html +0 -15
- package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.html +0 -15
- package/testeranto/bundles/web/core/src/components/pure/TestPageView.test/index.html +0 -15
- package/testeranto/bundles/web/core/src/lib/baseBuilder.test/baseBuilder.test.web.html +0 -15
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/exit.log +0 -1
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.txt +0 -10
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +0 -17
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/stdout.log +0 -6
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-0/butThen/hello.txt +0 -1
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-1/butThen/artifact_test.txt +0 -1
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/tests.json +0 -71
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +0 -42
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.txt +0 -10
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +0 -17
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +0 -42
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/debug.log +0 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/error.log +0 -3
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/exit.log +0 -1
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/info.log +0 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/warn.log +0 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/exit.log +0 -1
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/prompt.txt +0 -17
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/stderr.log +0 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/stdout.log +0 -619
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/tests.json +0 -165
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/type_errors.txt +0 -88
- package/testeranto/reports/core/src/lib/core.test/core.test/node/exit.log +0 -1
- package/testeranto/reports/core/src/lib/core.test/core.test/node/lint_errors.txt +0 -21
- package/testeranto/reports/core/src/lib/core.test/core.test/node/prompt.txt +0 -19
- package/testeranto/reports/core/src/lib/core.test/core.test/node/stderr.log +0 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/type_errors.txt +0 -45
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/tests.json +0 -152
- package/testeranto/reportsweb_build_errors +0 -546
- /package/dist/common/src/lib/{baseBuilder.test/baseBuilder.test.types.js → Tiposkripto.test/Tiposkripto.types.js} +0 -0
- /package/dist/module/src/lib/{baseBuilder.test/baseBuilder.test.types.js → Tiposkripto.test/Tiposkripto.types.js} +0 -0
- /package/testeranto/reports/core/src/{lib/classBuilder.test/classBuilder.test/node → components/pure/FeaturesReporterView.test/index/web}/lint_errors.txt +0 -0
- /package/testeranto/reports/core/src/{lib/baseBuilder.test/baseBuilder.test.node/node → components/pure/FeaturesReporterView.test/index/web}/message.txt +0 -0
- /package/testeranto/reports/core/src/{lib/baseBuilder.test/baseBuilder.test.pure/pure → components/pure/ProjectPageView.test/index/web}/message.txt +0 -0
- /package/testeranto/reports/core/src/{lib/classBuilder.test/classBuilder.test/node → components/pure/TestPageView.test/index/web}/message.txt +0 -0
- /package/testeranto/reports/core/src/lib/{baseBuilder.test/baseBuilder.test.node/node/stderr.log → BaseSuite.test/web.test/web/lint_errors.txt} +0 -0
- /package/testeranto/reports/core/src/lib/{core.test/core.test/node → BaseSuite.test/web.test/web}/message.txt +0 -0
- /package/testeranto/reports/core/src/lib/{baseBuilder.test/baseBuilder.test.pure/pure/exit.log → TipoSkripto.test/TipoSkripto/node/lint_errors.txt} +0 -0
- /package/testeranto/reports/core/src/lib/{core.test/core.test → TipoSkripto.test/TipoSkripto}/node/stdout.log +0 -0
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import React, { useState, useEffect, useRef } from 'react';
|
|
3
|
-
import { Canvas, Rect, Circle, Text } from 'fabric';
|
|
4
3
|
import { toPng } from 'html-to-image';
|
|
5
4
|
export const DesignEditor = React.forwardRef(({ projectId }, ref) => {
|
|
6
5
|
const canvasRef = useRef(null);
|
|
@@ -13,7 +12,8 @@ export const DesignEditor = React.forwardRef(({ projectId }, ref) => {
|
|
|
13
12
|
const wsRef = useRef(null);
|
|
14
13
|
// Initialize canvas and WebSocket connection
|
|
15
14
|
useEffect(() => {
|
|
16
|
-
|
|
15
|
+
// @ts-ignore
|
|
16
|
+
const canvas = new fabric.Canvas('design-canvas', {
|
|
17
17
|
width: 800,
|
|
18
18
|
height: 600
|
|
19
19
|
});
|
|
@@ -47,7 +47,8 @@ export const DesignEditor = React.forwardRef(({ projectId }, ref) => {
|
|
|
47
47
|
let object;
|
|
48
48
|
switch (shape) {
|
|
49
49
|
case 'rectangle':
|
|
50
|
-
|
|
50
|
+
// @ts-ignore
|
|
51
|
+
object = new fabric.Rect({
|
|
51
52
|
width: 100,
|
|
52
53
|
height: 100,
|
|
53
54
|
fill: 'red',
|
|
@@ -56,7 +57,8 @@ export const DesignEditor = React.forwardRef(({ projectId }, ref) => {
|
|
|
56
57
|
});
|
|
57
58
|
break;
|
|
58
59
|
case 'circle':
|
|
59
|
-
|
|
60
|
+
// @ts-ignore
|
|
61
|
+
object = new fabric.Circle({
|
|
60
62
|
radius: 50,
|
|
61
63
|
fill: 'blue',
|
|
62
64
|
left: 200,
|
|
@@ -64,7 +66,8 @@ export const DesignEditor = React.forwardRef(({ projectId }, ref) => {
|
|
|
64
66
|
});
|
|
65
67
|
break;
|
|
66
68
|
case 'text':
|
|
67
|
-
|
|
69
|
+
// @ts-ignore
|
|
70
|
+
object = new fabric.Text('Double click to edit', {
|
|
68
71
|
fontFamily: 'Arial',
|
|
69
72
|
fontSize: 20,
|
|
70
73
|
left: 100,
|
package/dist/module/src/App.js
CHANGED
|
@@ -29,18 +29,42 @@ export const App = () => {
|
|
|
29
29
|
// Export App to global scope
|
|
30
30
|
function initApp() {
|
|
31
31
|
const rootElement = document.getElementById('root');
|
|
32
|
-
if (rootElement
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
if (rootElement) {
|
|
33
|
+
try {
|
|
34
|
+
// Try to use React 18's createRoot if available
|
|
35
|
+
if (ReactDom.createRoot) {
|
|
36
|
+
const root = ReactDom.createRoot(rootElement);
|
|
37
|
+
root.render(React.createElement(App));
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
// Fall back to React 17's render
|
|
41
|
+
ReactDom.render(React.createElement(App), rootElement);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
console.error('Error rendering app:', err);
|
|
46
|
+
// Retry if React isn't loaded yet
|
|
47
|
+
setTimeout(initApp, 100);
|
|
48
|
+
}
|
|
35
49
|
}
|
|
36
50
|
else {
|
|
37
|
-
// Retry if
|
|
51
|
+
// Retry if root element isn't available yet
|
|
38
52
|
setTimeout(initApp, 100);
|
|
39
53
|
}
|
|
40
54
|
}
|
|
41
55
|
// Export App to global scope
|
|
42
|
-
if (typeof window !== 'undefined') {
|
|
56
|
+
if (typeof window !== 'undefined' && typeof document !== 'undefined') {
|
|
57
|
+
// @ts-ignore
|
|
43
58
|
window.App = App;
|
|
59
|
+
// @ts-ignore
|
|
44
60
|
window.React = React;
|
|
61
|
+
// @ts-ignore
|
|
45
62
|
window.ReactDOM = ReactDom;
|
|
63
|
+
// Initialize the app when the window is ready
|
|
64
|
+
if (document.readyState === 'loading') {
|
|
65
|
+
document.addEventListener('DOMContentLoaded', initApp);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
initApp();
|
|
69
|
+
}
|
|
46
70
|
}
|
package/dist/module/src/Node.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import Testeranto from "./lib/core.js";
|
|
1
|
+
// import Testeranto from "./lib/core.js";
|
|
2
2
|
import { defaultTestResourceRequirement, } from "./lib/index.js";
|
|
3
3
|
import { PM_Node } from "./PM/node.js";
|
|
4
|
+
import Tiposkripto from "./lib/Tiposkripto.js";
|
|
4
5
|
let ipcfile;
|
|
5
|
-
export class NodeTesteranto extends
|
|
6
|
+
export class NodeTesteranto extends Tiposkripto {
|
|
6
7
|
constructor(input, testSpecification, testImplementation, testResourceRequirement, testAdapter) {
|
|
7
8
|
super(input, testSpecification, testImplementation, testResourceRequirement, testAdapter, () => {
|
|
8
9
|
// no-op
|
|
@@ -318,7 +318,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
318
318
|
logs.writeExitCode(-1, e3);
|
|
319
319
|
console.log(ansiC.red(ansiC.inverse(`${src} 1 errored with: ${e3}. Check logs for more info`)));
|
|
320
320
|
logs.exit.write(e3.stack);
|
|
321
|
-
logs.exit.write(-1);
|
|
321
|
+
logs.exit.write("-1");
|
|
322
322
|
this.bddTestIsNowDone(src, -1);
|
|
323
323
|
statusMessagePretty(-1, src, "pure");
|
|
324
324
|
}
|
package/dist/module/src/Pure.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import Testeranto from "./lib/core.js";
|
|
2
1
|
import { defaultTestResourceRequirement, } from "./lib/index.js";
|
|
2
|
+
import Tiposkripto from "./lib/Tiposkripto.js";
|
|
3
3
|
import { PM_Pure } from "./PM/pure.js";
|
|
4
|
-
export class PureTesteranto extends
|
|
4
|
+
export class PureTesteranto extends Tiposkripto {
|
|
5
5
|
constructor(input, testSpecification, testImplementation, testResourceRequirement, testAdapter) {
|
|
6
6
|
super(input, testSpecification, testImplementation, testResourceRequirement, testAdapter, () => {
|
|
7
7
|
// no-op
|
package/dist/module/src/Web.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
3
|
import { PM_Web } from "./PM/web";
|
|
4
|
-
import
|
|
4
|
+
import Tiposkripto from "./lib/Tiposkripto";
|
|
5
5
|
import { defaultTestResourceRequirement, } from "./lib/index.js";
|
|
6
6
|
// let errorCallback = (e: any) => {};
|
|
7
7
|
// let unhandledrejectionCallback = (event: PromiseRejectionEvent) => {
|
|
@@ -10,7 +10,7 @@ import { defaultTestResourceRequirement, } from "./lib/index.js";
|
|
|
10
10
|
// JSON.stringify(event)
|
|
11
11
|
// );
|
|
12
12
|
// };
|
|
13
|
-
export class WebTesteranto extends
|
|
13
|
+
export class WebTesteranto extends Tiposkripto {
|
|
14
14
|
constructor(input, testSpecification, testImplementation, testResourceRequirement, testAdapter) {
|
|
15
15
|
super(input, testSpecification, testImplementation, testResourceRequirement, testAdapter, (cb) => {
|
|
16
16
|
// window.removeEventListener("error", errorCallback);
|
|
@@ -23,16 +23,45 @@ export const DesignEditorPage = () => {
|
|
|
23
23
|
if (designEditorRef.current) {
|
|
24
24
|
designEditorRef.current.loadDesign(fullDesign);
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
26
|
+
let newHandle;
|
|
27
|
+
if ('showSaveFilePicker' in window && window.showSaveFilePicker) {
|
|
28
|
+
try {
|
|
29
|
+
newHandle = await window.showSaveFilePicker({
|
|
30
|
+
types: [{
|
|
31
|
+
description: 'Design Files',
|
|
32
|
+
accept: {
|
|
33
|
+
'application/json': ['.json'],
|
|
34
|
+
},
|
|
35
|
+
}],
|
|
36
|
+
suggestedName: `${projectId}.json`
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
console.warn('Error using showSaveFilePicker:', err);
|
|
41
|
+
// Fall back to traditional download
|
|
42
|
+
const jsonData = JSON.stringify(fullDesign, null, 2);
|
|
43
|
+
const blob = new Blob([jsonData], { type: 'application/json' });
|
|
44
|
+
const url = URL.createObjectURL(blob);
|
|
45
|
+
const a = document.createElement('a');
|
|
46
|
+
a.href = url;
|
|
47
|
+
a.download = `${projectId}.json`;
|
|
48
|
+
a.click();
|
|
49
|
+
URL.revokeObjectURL(url);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
// Fall back to traditional download
|
|
55
|
+
const jsonData = JSON.stringify(fullDesign, null, 2);
|
|
56
|
+
const blob = new Blob([jsonData], { type: 'application/json' });
|
|
57
|
+
const url = URL.createObjectURL(blob);
|
|
58
|
+
const a = document.createElement('a');
|
|
59
|
+
a.href = url;
|
|
60
|
+
a.download = `${projectId}.json`;
|
|
61
|
+
a.click();
|
|
62
|
+
URL.revokeObjectURL(url);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
36
65
|
const jsonData = JSON.stringify(fullDesign, null, 2);
|
|
37
66
|
const writable = await newHandle.createWritable();
|
|
38
67
|
await writable.write(jsonData);
|
|
@@ -60,15 +89,22 @@ export const DesignEditorPage = () => {
|
|
|
60
89
|
throw new Error('File System Access API not supported in this browser');
|
|
61
90
|
}
|
|
62
91
|
console.log('Attempting to show file picker...');
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
92
|
+
let handle;
|
|
93
|
+
if ('showOpenFilePicker' in window) {
|
|
94
|
+
// @ts-ignore
|
|
95
|
+
[handle] = await window.showOpenFilePicker({
|
|
96
|
+
types: [{
|
|
97
|
+
description: 'Design Files',
|
|
98
|
+
accept: {
|
|
99
|
+
'application/json': ['.json'],
|
|
100
|
+
},
|
|
101
|
+
}],
|
|
102
|
+
multiple: false
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
throw new Error('File System Access API not supported');
|
|
107
|
+
}
|
|
72
108
|
if (!handle) {
|
|
73
109
|
throw new Error('No file selected');
|
|
74
110
|
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
+
import { afterEachProxy, beforeEachProxy } from "./pmProxy.js";
|
|
4
|
+
export class BaseGiven {
|
|
5
|
+
addArtifact(path) {
|
|
6
|
+
const normalizedPath = path.replace(/\\/g, "/"); // Normalize path separators
|
|
7
|
+
this.artifacts.push(normalizedPath);
|
|
8
|
+
}
|
|
9
|
+
constructor(name, features, whens, thens, givenCB, initialValues) {
|
|
10
|
+
this.artifacts = [];
|
|
11
|
+
this.name = name;
|
|
12
|
+
this.features = features || [];
|
|
13
|
+
this.whens = whens || [];
|
|
14
|
+
this.thens = thens || [];
|
|
15
|
+
this.givenCB = givenCB;
|
|
16
|
+
this.initialValues = initialValues;
|
|
17
|
+
}
|
|
18
|
+
beforeAll(store) {
|
|
19
|
+
return store;
|
|
20
|
+
}
|
|
21
|
+
toObj() {
|
|
22
|
+
return {
|
|
23
|
+
key: this.key,
|
|
24
|
+
name: this.name,
|
|
25
|
+
whens: (this.whens || []).map((w) => {
|
|
26
|
+
if (w && w.toObj)
|
|
27
|
+
return w.toObj();
|
|
28
|
+
console.error("w is not as expected!", JSON.stringify(w));
|
|
29
|
+
return {};
|
|
30
|
+
}),
|
|
31
|
+
thens: (this.thens || []).map((t) => t && t.toObj ? t.toObj() : {}),
|
|
32
|
+
error: this.error ? [this.error, this.error.stack] : null,
|
|
33
|
+
failed: this.failed,
|
|
34
|
+
features: this.features || [],
|
|
35
|
+
artifacts: this.artifacts || [],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
async afterEach(store, key, artifactory, pm) {
|
|
39
|
+
return store;
|
|
40
|
+
}
|
|
41
|
+
async give(subject, key, testResourceConfiguration, tester, artifactory, tLog, pm, suiteNdx) {
|
|
42
|
+
this.key = key;
|
|
43
|
+
tLog(`\n ${this.key}`);
|
|
44
|
+
tLog(`\n Given: ${this.name}`);
|
|
45
|
+
const givenArtifactory = (fPath, value) => artifactory(`given-${key}/${fPath}`, value);
|
|
46
|
+
this.uberCatcher((e) => {
|
|
47
|
+
console.error(e.toString());
|
|
48
|
+
this.error = e.error;
|
|
49
|
+
tLog(e.stack);
|
|
50
|
+
});
|
|
51
|
+
try {
|
|
52
|
+
// Ensure addArtifact is properly bound to 'this'
|
|
53
|
+
const addArtifact = this.addArtifact.bind(this);
|
|
54
|
+
const proxiedPm = beforeEachProxy(pm, suiteNdx.toString(), addArtifact);
|
|
55
|
+
this.store = await this.givenThat(subject, testResourceConfiguration, givenArtifactory, this.givenCB, this.initialValues, proxiedPm);
|
|
56
|
+
}
|
|
57
|
+
catch (e) {
|
|
58
|
+
// console.error("Given failure: ", e.stack);
|
|
59
|
+
this.failed = true;
|
|
60
|
+
this.error = e.stack;
|
|
61
|
+
// throw e;
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
// tLog(`\n Given this.store`, this.store);
|
|
65
|
+
for (const [whenNdx, whenStep] of this.whens.entries()) {
|
|
66
|
+
await whenStep.test(this.store, testResourceConfiguration, tLog, pm, `suite-${suiteNdx}/given-${key}/when/${whenNdx}`);
|
|
67
|
+
}
|
|
68
|
+
for (const [thenNdx, thenStep] of this.thens.entries()) {
|
|
69
|
+
const t = await thenStep.test(this.store, testResourceConfiguration, tLog, pm, `suite-${suiteNdx}/given-${key}/then-${thenNdx}`);
|
|
70
|
+
tester(t);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
this.error = e.stack;
|
|
75
|
+
this.failed = true;
|
|
76
|
+
// tLog(e.stack);
|
|
77
|
+
// throw e;
|
|
78
|
+
}
|
|
79
|
+
finally {
|
|
80
|
+
try {
|
|
81
|
+
// Ensure addArtifact is properly bound to 'this'
|
|
82
|
+
const addArtifact = this.addArtifact.bind(this);
|
|
83
|
+
const proxiedPm = afterEachProxy(pm, suiteNdx.toString(), key, addArtifact);
|
|
84
|
+
// (proxiedPm as any).currentStep = this;
|
|
85
|
+
await this.afterEach(this.store, this.key, givenArtifactory, proxiedPm);
|
|
86
|
+
}
|
|
87
|
+
catch (e) {
|
|
88
|
+
this.failed = e;
|
|
89
|
+
throw e;
|
|
90
|
+
// this.error = e.message;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return this.store;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
-
import { BaseGiven
|
|
3
|
+
import { BaseGiven } from "../BaseGiven";
|
|
4
4
|
import { BaseSuite } from "../BaseSuite";
|
|
5
|
+
import { BaseThen } from "../BaseThen";
|
|
6
|
+
import { BaseWhen } from "../BaseWhen";
|
|
5
7
|
export class MockGiven extends BaseGiven {
|
|
6
8
|
constructor(name, features, whens, thens) {
|
|
7
9
|
super(name, features, whens, thens, async () => ({ testStore: true }), // givenCB
|
|
@@ -42,7 +44,9 @@ export class MockSuite extends BaseSuite {
|
|
|
42
44
|
}
|
|
43
45
|
const suiteName = name || "testSuite";
|
|
44
46
|
super(suiteName, index, {
|
|
45
|
-
testGiven: new MockGiven("testGiven", ["testFeature"], [
|
|
47
|
+
testGiven: new MockGiven("testGiven", ["testFeature"], [
|
|
48
|
+
new MockWhen("testWhen", async () => Promise.resolve({ testSelection: true })),
|
|
49
|
+
], [
|
|
46
50
|
new MockThen("testThen", async () => Promise.resolve(new BaseSuite("temp", 0, {}))),
|
|
47
51
|
]),
|
|
48
52
|
});
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
+
import { butThenProxy } from "./pmProxy.js";
|
|
4
|
+
export class BaseThen {
|
|
5
|
+
constructor(name, thenCB) {
|
|
6
|
+
this.artifacts = [];
|
|
7
|
+
this.name = name;
|
|
8
|
+
this.thenCB = thenCB;
|
|
9
|
+
this.error = false;
|
|
10
|
+
this.artifacts = [];
|
|
11
|
+
}
|
|
12
|
+
addArtifact(path) {
|
|
13
|
+
const normalizedPath = path.replace(/\\/g, "/"); // Normalize path separators
|
|
14
|
+
this.artifacts.push(normalizedPath);
|
|
15
|
+
}
|
|
16
|
+
toObj() {
|
|
17
|
+
const obj = {
|
|
18
|
+
name: this.name,
|
|
19
|
+
error: this.error,
|
|
20
|
+
artifacts: this.artifacts,
|
|
21
|
+
};
|
|
22
|
+
return obj;
|
|
23
|
+
}
|
|
24
|
+
async test(store, testResourceConfiguration, tLog, pm, filepath) {
|
|
25
|
+
// Ensure addArtifact is properly bound to 'this'
|
|
26
|
+
const addArtifact = this.addArtifact.bind(this);
|
|
27
|
+
const proxiedPm = butThenProxy(pm, filepath, addArtifact);
|
|
28
|
+
return this.butThen(store, async (s) => {
|
|
29
|
+
try {
|
|
30
|
+
if (typeof this.thenCB === "function") {
|
|
31
|
+
// Add debug logging to see what's being passed to thenCB
|
|
32
|
+
// Check if the thenCB is spreading the arguments incorrectly
|
|
33
|
+
// Wrap the proxy to see what's happening when writeFileSync is called
|
|
34
|
+
const wrappedPm = new Proxy(proxiedPm, {
|
|
35
|
+
get: (target, prop, receiver) => {
|
|
36
|
+
if (prop === "writeFileSync") {
|
|
37
|
+
return (...args) => {
|
|
38
|
+
console.log(`[DEBUG] writeFileSync called with args:`, args);
|
|
39
|
+
return target[prop](...args);
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return target[prop];
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
const result = await this.thenCB(s, wrappedPm);
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
return this.thenCB;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
console.error(e.stack);
|
|
54
|
+
}
|
|
55
|
+
}, testResourceConfiguration, proxiedPm).catch((e) => {
|
|
56
|
+
this.error = e.stack;
|
|
57
|
+
// throw e;
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
+
import { andWhenProxy } from "./pmProxy.js";
|
|
4
|
+
export class BaseWhen {
|
|
5
|
+
addArtifact(path) {
|
|
6
|
+
const normalizedPath = path.replace(/\\/g, "/"); // Normalize path separators
|
|
7
|
+
this.artifacts.push(normalizedPath);
|
|
8
|
+
}
|
|
9
|
+
constructor(name, whenCB) {
|
|
10
|
+
this.artifacts = [];
|
|
11
|
+
this.name = name;
|
|
12
|
+
this.whenCB = whenCB;
|
|
13
|
+
}
|
|
14
|
+
toObj() {
|
|
15
|
+
const obj = {
|
|
16
|
+
name: this.name,
|
|
17
|
+
error: this.error
|
|
18
|
+
? `${this.error.name}: ${this.error.message}\n${this.error.stack}`
|
|
19
|
+
: null,
|
|
20
|
+
artifacts: this.artifacts || [],
|
|
21
|
+
};
|
|
22
|
+
console.log(`[TOOBJ] Serializing ${this.constructor.name} with artifacts:`, obj.artifacts);
|
|
23
|
+
return obj;
|
|
24
|
+
}
|
|
25
|
+
async test(store, testResourceConfiguration, tLog, pm, filepath) {
|
|
26
|
+
try {
|
|
27
|
+
// tLog(" When:", this.name);
|
|
28
|
+
// Ensure addArtifact is properly bound to 'this'
|
|
29
|
+
const addArtifact = this.addArtifact.bind(this);
|
|
30
|
+
const proxiedPm = andWhenProxy(pm, filepath, addArtifact);
|
|
31
|
+
// (proxiedPm as any).currentStep = this;
|
|
32
|
+
const result = await this.andWhen(store, this.whenCB, testResourceConfiguration, proxiedPm);
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
catch (e) {
|
|
36
|
+
console.error("[ERROR] When step failed:", this.name.toString(), e.toString());
|
|
37
|
+
this.error = e;
|
|
38
|
+
throw e;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-empty-object-type */
|
|
3
|
+
/* eslint-disable no-async-promise-executor */
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5
|
+
import { defaultTestResourceRequirement, DefaultAdapter, } from "./index.js";
|
|
6
|
+
import { BaseGiven } from "./BaseGiven";
|
|
7
|
+
import { BaseWhen } from "./BaseWhen.js";
|
|
8
|
+
import { BaseThen } from "./BaseThen.js";
|
|
9
|
+
import { BaseSuite } from "./BaseSuite";
|
|
10
|
+
export default class Tiposkripto {
|
|
11
|
+
constructor(input, testSpecification, testImplementation, testResourceRequirement = defaultTestResourceRequirement, testAdapter = {}, uberCatcher = (cb) => cb()) {
|
|
12
|
+
this.artifacts = [];
|
|
13
|
+
const fullAdapter = DefaultAdapter(testAdapter);
|
|
14
|
+
// Create classy implementations
|
|
15
|
+
const classySuites = Object.entries(testImplementation.suites).reduce((a, [key], index) => {
|
|
16
|
+
a[key] = (somestring, givens) => {
|
|
17
|
+
return new (class extends BaseSuite {
|
|
18
|
+
afterAll(store, artifactory, pm) {
|
|
19
|
+
return fullAdapter.afterAll(store, pm);
|
|
20
|
+
}
|
|
21
|
+
assertThat(t) {
|
|
22
|
+
return fullAdapter.assertThis(t);
|
|
23
|
+
}
|
|
24
|
+
async setup(s, artifactory, tr, pm) {
|
|
25
|
+
var _a, _b;
|
|
26
|
+
return ((_b = (_a = fullAdapter.beforeAll) === null || _a === void 0 ? void 0 : _a.call(fullAdapter, s, tr, pm)) !== null && _b !== void 0 ? _b : s);
|
|
27
|
+
}
|
|
28
|
+
})(somestring, index, givens);
|
|
29
|
+
};
|
|
30
|
+
return a;
|
|
31
|
+
}, {});
|
|
32
|
+
const classyGivens = Object.entries(testImplementation.givens).reduce((a, [key, g]) => {
|
|
33
|
+
a[key] = (name, features, whens, thens, gcb, initialValues) => {
|
|
34
|
+
return new (class extends BaseGiven {
|
|
35
|
+
constructor() {
|
|
36
|
+
super(...arguments);
|
|
37
|
+
this.uberCatcher = uberCatcher;
|
|
38
|
+
}
|
|
39
|
+
async givenThat(subject, testResource, artifactory, initializer, initialValues, pm) {
|
|
40
|
+
return fullAdapter.beforeEach(subject, initializer, testResource, initialValues, pm);
|
|
41
|
+
}
|
|
42
|
+
afterEach(store, key, artifactory, pm) {
|
|
43
|
+
return Promise.resolve(fullAdapter.afterEach(store, key, pm));
|
|
44
|
+
}
|
|
45
|
+
})(name, features, whens, thens, testImplementation.givens[key], initialValues);
|
|
46
|
+
};
|
|
47
|
+
return a;
|
|
48
|
+
}, {});
|
|
49
|
+
const classyWhens = Object.entries(testImplementation.whens).reduce((a, [key, whEn]) => {
|
|
50
|
+
a[key] = (...payload) => {
|
|
51
|
+
return new (class extends BaseWhen {
|
|
52
|
+
async andWhen(store, whenCB, testResource, pm) {
|
|
53
|
+
return await fullAdapter.andWhen(store, whenCB, testResource, pm);
|
|
54
|
+
}
|
|
55
|
+
})(`${key}: ${payload && payload.toString()}`, whEn(...payload));
|
|
56
|
+
};
|
|
57
|
+
return a;
|
|
58
|
+
}, {});
|
|
59
|
+
const classyThens = Object.entries(testImplementation.thens).reduce((a, [key, thEn]) => {
|
|
60
|
+
a[key] = (...args) => {
|
|
61
|
+
return new (class extends BaseThen {
|
|
62
|
+
async butThen(store, thenCB, testResource, pm) {
|
|
63
|
+
return await fullAdapter.butThen(store, thenCB, testResource, pm);
|
|
64
|
+
}
|
|
65
|
+
})(`${key}: ${args && args.toString()}`, thEn(...args));
|
|
66
|
+
};
|
|
67
|
+
return a;
|
|
68
|
+
}, {});
|
|
69
|
+
// Set up the overrides
|
|
70
|
+
this.suitesOverrides = classySuites;
|
|
71
|
+
this.givenOverides = classyGivens;
|
|
72
|
+
this.whenOverides = classyWhens;
|
|
73
|
+
this.thenOverides = classyThens;
|
|
74
|
+
this.testResourceRequirement = testResourceRequirement;
|
|
75
|
+
this.testSpecification = testSpecification;
|
|
76
|
+
// Generate specs
|
|
77
|
+
this.specs = testSpecification(this.Suites(), this.Given(), this.When(), this.Then());
|
|
78
|
+
// Create test jobs
|
|
79
|
+
this.testJobs = this.specs.map((suite) => {
|
|
80
|
+
const suiteRunner = (suite) => async (puppetMaster, tLog) => {
|
|
81
|
+
try {
|
|
82
|
+
const x = await suite.run(input, puppetMaster.testResourceConfiguration, (fPath, value) => puppetMaster.testArtiFactoryfileWriter(tLog, (p) => {
|
|
83
|
+
this.artifacts.push(p);
|
|
84
|
+
})(puppetMaster.testResourceConfiguration.fs + "/" + fPath, value), tLog, puppetMaster);
|
|
85
|
+
return x;
|
|
86
|
+
}
|
|
87
|
+
catch (e) {
|
|
88
|
+
console.error(e.stack);
|
|
89
|
+
throw e;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
const runner = suiteRunner(suite);
|
|
93
|
+
return {
|
|
94
|
+
test: suite,
|
|
95
|
+
toObj: () => {
|
|
96
|
+
return suite.toObj();
|
|
97
|
+
},
|
|
98
|
+
runner,
|
|
99
|
+
receiveTestResourceConfig: async function (puppetMaster) {
|
|
100
|
+
const tLog = async (...l) => {
|
|
101
|
+
//
|
|
102
|
+
};
|
|
103
|
+
try {
|
|
104
|
+
const suiteDone = await runner(puppetMaster, tLog);
|
|
105
|
+
const fails = suiteDone.fails;
|
|
106
|
+
await puppetMaster.writeFileSync(`tests.json`, JSON.stringify(this.toObj(), null, 2), "test");
|
|
107
|
+
return {
|
|
108
|
+
failed: fails > 0,
|
|
109
|
+
fails,
|
|
110
|
+
artifacts: this.artifacts || [],
|
|
111
|
+
features: suiteDone.features(),
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
catch (e) {
|
|
115
|
+
console.error(e.stack);
|
|
116
|
+
return {
|
|
117
|
+
failed: true,
|
|
118
|
+
fails: -1,
|
|
119
|
+
artifacts: this.artifacts || [],
|
|
120
|
+
features: [],
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
Specs() {
|
|
128
|
+
return this.specs;
|
|
129
|
+
}
|
|
130
|
+
Suites() {
|
|
131
|
+
return this.suitesOverrides;
|
|
132
|
+
}
|
|
133
|
+
Given() {
|
|
134
|
+
return this.givenOverides;
|
|
135
|
+
}
|
|
136
|
+
When() {
|
|
137
|
+
return this.whenOverides;
|
|
138
|
+
}
|
|
139
|
+
Then() {
|
|
140
|
+
return this.thenOverides;
|
|
141
|
+
}
|
|
142
|
+
// Add a method to access test jobs which can be used by receiveTestResourceConfig
|
|
143
|
+
getTestJobs() {
|
|
144
|
+
return this.testJobs;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
-
import
|
|
3
|
+
import Tiposkripto from "../Tiposkripto";
|
|
4
4
|
/**
|
|
5
|
-
* Concrete implementation of
|
|
5
|
+
* Concrete implementation of Tiposkripto for testing purposes
|
|
6
6
|
*/
|
|
7
|
-
export class
|
|
7
|
+
export class MockTiposkripto extends Tiposkripto {
|
|
8
8
|
constructor(input, testSpecification, testImplementation, testResourceRequirement = { ports: [] }, testAdapter, uberCatcher = (cb) => cb()) {
|
|
9
9
|
// Validate required implementation methods
|
|
10
10
|
const requiredMethods = ["suites", "givens", "whens", "thens"];
|
|
@@ -13,8 +13,6 @@ export class MockCore extends TesterantoCore {
|
|
|
13
13
|
throw new Error(`Missing required implementation method: ${method}`);
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
|
-
// this.testResourceRequirement = testResourceRequirement;
|
|
17
|
-
// this.testAdapter = testAdapter;
|
|
18
16
|
super(input, testSpecification, testImplementation, testResourceRequirement, testAdapter, uberCatcher);
|
|
19
17
|
this.specs = [];
|
|
20
18
|
this.testJobs = [];
|
|
@@ -25,7 +23,6 @@ export class MockCore extends TesterantoCore {
|
|
|
25
23
|
failed: false,
|
|
26
24
|
fails: 0,
|
|
27
25
|
artifacts: [],
|
|
28
|
-
// logPromise: Promise.resolve(),
|
|
29
26
|
features: [],
|
|
30
27
|
};
|
|
31
28
|
}
|