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,4 +1,164 @@
|
|
|
1
|
-
|
|
1
|
+
// src/PM/index.ts
|
|
2
|
+
var PM = class {
|
|
3
|
+
};
|
|
4
|
+
|
|
5
|
+
// src/PM/web.ts
|
|
6
|
+
var PM_Web = class extends PM {
|
|
7
|
+
constructor(t) {
|
|
8
|
+
super();
|
|
9
|
+
this.testResourceConfiguration = t;
|
|
10
|
+
}
|
|
11
|
+
start() {
|
|
12
|
+
return new Promise((r) => r());
|
|
13
|
+
}
|
|
14
|
+
stop() {
|
|
15
|
+
return new Promise((r) => r());
|
|
16
|
+
}
|
|
17
|
+
getInnerHtml(selector, page) {
|
|
18
|
+
throw new Error("web.ts getInnHtml not implemented");
|
|
19
|
+
}
|
|
20
|
+
pages() {
|
|
21
|
+
throw new Error("Method not implemented.");
|
|
22
|
+
}
|
|
23
|
+
stopSideCar(n) {
|
|
24
|
+
return window["stopSideCar"](n, this.testResourceConfiguration.name);
|
|
25
|
+
}
|
|
26
|
+
launchSideCar(n) {
|
|
27
|
+
return window["launchSideCar"](n, this.testResourceConfiguration.name);
|
|
28
|
+
}
|
|
29
|
+
waitForSelector(p, s) {
|
|
30
|
+
return window["waitForSelector"](p, s);
|
|
31
|
+
}
|
|
32
|
+
screencast(opts, page) {
|
|
33
|
+
return window["screencast"](
|
|
34
|
+
{
|
|
35
|
+
...opts,
|
|
36
|
+
path: this.testResourceConfiguration.fs + "/" + opts.path
|
|
37
|
+
},
|
|
38
|
+
page.mainFrame()._id,
|
|
39
|
+
this.testResourceConfiguration.name
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
screencastStop(recorder) {
|
|
43
|
+
return window["screencastStop"](recorder);
|
|
44
|
+
}
|
|
45
|
+
closePage(p) {
|
|
46
|
+
return window["closePage"](p);
|
|
47
|
+
}
|
|
48
|
+
goto(p, url) {
|
|
49
|
+
return window["goto"](p, url);
|
|
50
|
+
}
|
|
51
|
+
newPage() {
|
|
52
|
+
return window["newPage"]();
|
|
53
|
+
}
|
|
54
|
+
$(selector) {
|
|
55
|
+
return window["$"](selector);
|
|
56
|
+
}
|
|
57
|
+
isDisabled(selector) {
|
|
58
|
+
return window["isDisabled"](selector);
|
|
59
|
+
}
|
|
60
|
+
getAttribute(selector, attribute) {
|
|
61
|
+
return window["getAttribute"](selector, attribute);
|
|
62
|
+
}
|
|
63
|
+
getValue(selector) {
|
|
64
|
+
return window["getValue"](selector);
|
|
65
|
+
}
|
|
66
|
+
focusOn(selector) {
|
|
67
|
+
return window["focusOn"](selector);
|
|
68
|
+
}
|
|
69
|
+
typeInto(value) {
|
|
70
|
+
return window["typeInto"](value);
|
|
71
|
+
}
|
|
72
|
+
async page(x) {
|
|
73
|
+
return window["page"](x);
|
|
74
|
+
}
|
|
75
|
+
click(selector) {
|
|
76
|
+
return window["click"](selector);
|
|
77
|
+
}
|
|
78
|
+
customScreenShot(x, y) {
|
|
79
|
+
const opts = x[0];
|
|
80
|
+
const page = x[1];
|
|
81
|
+
return window["customScreenShot"](
|
|
82
|
+
{
|
|
83
|
+
...opts,
|
|
84
|
+
path: this.testResourceConfiguration.fs + "/" + opts.path
|
|
85
|
+
},
|
|
86
|
+
this.testResourceConfiguration.name,
|
|
87
|
+
page
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
existsSync(destFolder) {
|
|
91
|
+
return window["existsSync"](destFolder);
|
|
92
|
+
}
|
|
93
|
+
mkdirSync(x) {
|
|
94
|
+
return window["mkdirSync"](this.testResourceConfiguration.fs + "/");
|
|
95
|
+
}
|
|
96
|
+
write(uid, contents) {
|
|
97
|
+
return window["write"](uid, contents);
|
|
98
|
+
}
|
|
99
|
+
writeFileSync(x) {
|
|
100
|
+
const filepath = arguments[0];
|
|
101
|
+
const contents = arguments[1];
|
|
102
|
+
return window["writeFileSync"](
|
|
103
|
+
this.testResourceConfiguration.fs + "/" + filepath,
|
|
104
|
+
contents,
|
|
105
|
+
this.testResourceConfiguration.name
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
createWriteStream(filepath) {
|
|
109
|
+
return window["createWriteStream"](
|
|
110
|
+
this.testResourceConfiguration.fs + "/" + filepath,
|
|
111
|
+
this.testResourceConfiguration.name
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
end(uid) {
|
|
115
|
+
return window["end"](uid);
|
|
116
|
+
}
|
|
117
|
+
customclose() {
|
|
118
|
+
window["customclose"](
|
|
119
|
+
this.testResourceConfiguration.fs,
|
|
120
|
+
this.testResourceConfiguration.name
|
|
121
|
+
);
|
|
122
|
+
}
|
|
123
|
+
testArtiFactoryfileWriter(tLog, callback) {
|
|
124
|
+
return (fPath, value) => {
|
|
125
|
+
callback(
|
|
126
|
+
new Promise((res, rej) => {
|
|
127
|
+
tLog("testArtiFactory =>", fPath);
|
|
128
|
+
})
|
|
129
|
+
);
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
// src/lib/index.ts
|
|
135
|
+
var BaseAdapter = () => ({
|
|
136
|
+
beforeAll: async (input, testResource, pm) => {
|
|
137
|
+
return input;
|
|
138
|
+
},
|
|
139
|
+
beforeEach: async function(subject, initializer, testResource, initialValues, pm) {
|
|
140
|
+
return subject;
|
|
141
|
+
},
|
|
142
|
+
afterEach: async (store, key, pm) => Promise.resolve(store),
|
|
143
|
+
afterAll: (store, pm) => void 0,
|
|
144
|
+
butThen: async (store, thenCb, testResource, pm) => {
|
|
145
|
+
return thenCb(store, pm);
|
|
146
|
+
},
|
|
147
|
+
andWhen: async (store, whenCB, testResource, pm) => {
|
|
148
|
+
return whenCB(store, pm);
|
|
149
|
+
},
|
|
150
|
+
assertThis: (x) => x
|
|
151
|
+
});
|
|
152
|
+
var DefaultAdapter = (p) => {
|
|
153
|
+
const base = BaseAdapter();
|
|
154
|
+
return {
|
|
155
|
+
...base,
|
|
156
|
+
...p
|
|
157
|
+
};
|
|
158
|
+
};
|
|
159
|
+
var defaultTestResourceRequirement = {
|
|
160
|
+
ports: 0
|
|
161
|
+
};
|
|
2
162
|
|
|
3
163
|
// src/lib/pmProxy.ts
|
|
4
164
|
var baseProxy = function(pm, mappings) {
|
|
@@ -295,130 +455,14 @@ var afterAllProxy = (pm, suite, addArtifact) => {
|
|
|
295
455
|
]);
|
|
296
456
|
};
|
|
297
457
|
|
|
298
|
-
// src/lib/
|
|
299
|
-
var BaseSuite = class {
|
|
300
|
-
constructor(name, index, givens = {}) {
|
|
301
|
-
this.artifacts = [];
|
|
302
|
-
const suiteName = name || "testSuite";
|
|
303
|
-
if (!suiteName) {
|
|
304
|
-
throw new Error("BaseSuite requires a non-empty name");
|
|
305
|
-
}
|
|
306
|
-
this.name = suiteName;
|
|
307
|
-
this.index = index;
|
|
308
|
-
this.givens = givens;
|
|
309
|
-
this.fails = 0;
|
|
310
|
-
}
|
|
311
|
-
addArtifact(path) {
|
|
312
|
-
const normalizedPath = path.replace(/\\/g, "/");
|
|
313
|
-
this.artifacts.push(normalizedPath);
|
|
314
|
-
}
|
|
315
|
-
features() {
|
|
316
|
-
try {
|
|
317
|
-
const features = Object.keys(this.givens).map((k) => this.givens[k].features).flat().filter((value, index, array) => {
|
|
318
|
-
return array.indexOf(value) === index;
|
|
319
|
-
});
|
|
320
|
-
return features || [];
|
|
321
|
-
} catch (e) {
|
|
322
|
-
console.error("[ERROR] Failed to extract features:", JSON.stringify(e));
|
|
323
|
-
return [];
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
toObj() {
|
|
327
|
-
const givens = Object.keys(this.givens).map((k) => this.givens[k].toObj());
|
|
328
|
-
return {
|
|
329
|
-
name: this.name,
|
|
330
|
-
givens,
|
|
331
|
-
fails: this.fails,
|
|
332
|
-
failed: this.failed,
|
|
333
|
-
features: this.features()
|
|
334
|
-
};
|
|
335
|
-
}
|
|
336
|
-
setup(s, artifactory, tr, pm) {
|
|
337
|
-
return new Promise((res) => res(s));
|
|
338
|
-
}
|
|
339
|
-
assertThat(t) {
|
|
340
|
-
return !!t;
|
|
341
|
-
}
|
|
342
|
-
afterAll(store, artifactory, pm) {
|
|
343
|
-
return store;
|
|
344
|
-
}
|
|
345
|
-
async run(input, testResourceConfiguration, artifactory, tLog, pm) {
|
|
346
|
-
this.testResourceConfiguration = testResourceConfiguration;
|
|
347
|
-
const suiteArtifactory = (fPath, value) => artifactory(`suite-${this.index}-${this.name}/${fPath}`, value);
|
|
348
|
-
const sNdx = this.index;
|
|
349
|
-
const addArtifact = this.addArtifact.bind(this);
|
|
350
|
-
const proxiedPm = beforeAllProxy(pm, sNdx.toString(), addArtifact);
|
|
351
|
-
const subject = await this.setup(
|
|
352
|
-
input,
|
|
353
|
-
suiteArtifactory,
|
|
354
|
-
testResourceConfiguration,
|
|
355
|
-
proxiedPm
|
|
356
|
-
);
|
|
357
|
-
for (const [gKey, g] of Object.entries(this.givens)) {
|
|
358
|
-
const giver = this.givens[gKey];
|
|
359
|
-
this.store = await giver.give(
|
|
360
|
-
subject,
|
|
361
|
-
gKey,
|
|
362
|
-
testResourceConfiguration,
|
|
363
|
-
this.assertThat,
|
|
364
|
-
suiteArtifactory,
|
|
365
|
-
tLog,
|
|
366
|
-
pm,
|
|
367
|
-
sNdx
|
|
368
|
-
).catch((e) => {
|
|
369
|
-
this.failed = true;
|
|
370
|
-
this.fails = this.fails + 1;
|
|
371
|
-
throw e;
|
|
372
|
-
});
|
|
373
|
-
}
|
|
374
|
-
try {
|
|
375
|
-
const addArtifact2 = this.addArtifact.bind(this);
|
|
376
|
-
const afterAllPm = afterAllProxy(pm, sNdx.toString(), addArtifact2);
|
|
377
|
-
this.afterAll(this.store, artifactory, afterAllPm);
|
|
378
|
-
} catch (e) {
|
|
379
|
-
console.error(JSON.stringify(e));
|
|
380
|
-
}
|
|
381
|
-
return this;
|
|
382
|
-
}
|
|
383
|
-
};
|
|
384
|
-
|
|
385
|
-
// src/lib/index.ts
|
|
386
|
-
var BaseAdapter = () => ({
|
|
387
|
-
beforeAll: async (input, testResource, pm) => {
|
|
388
|
-
return input;
|
|
389
|
-
},
|
|
390
|
-
beforeEach: async function(subject, initializer, testResource, initialValues, pm) {
|
|
391
|
-
return subject;
|
|
392
|
-
},
|
|
393
|
-
afterEach: async (store, key, pm) => Promise.resolve(store),
|
|
394
|
-
afterAll: (store, pm) => void 0,
|
|
395
|
-
butThen: async (store, thenCb, testResource, pm) => {
|
|
396
|
-
return thenCb(store, pm);
|
|
397
|
-
},
|
|
398
|
-
andWhen: async (store, whenCB, testResource, pm) => {
|
|
399
|
-
return whenCB(store, pm);
|
|
400
|
-
},
|
|
401
|
-
assertThis: (x) => x
|
|
402
|
-
});
|
|
403
|
-
var DefaultAdapter = (p) => {
|
|
404
|
-
const base = BaseAdapter();
|
|
405
|
-
return {
|
|
406
|
-
...base,
|
|
407
|
-
...p
|
|
408
|
-
};
|
|
409
|
-
};
|
|
410
|
-
var defaultTestResourceRequirement = {
|
|
411
|
-
ports: 0
|
|
412
|
-
};
|
|
413
|
-
|
|
414
|
-
// src/lib/abstractBase.ts
|
|
458
|
+
// src/lib/BaseGiven.ts
|
|
415
459
|
var BaseGiven = class {
|
|
416
460
|
constructor(name, features, whens, thens, givenCB, initialValues) {
|
|
417
461
|
this.artifacts = [];
|
|
418
462
|
this.name = name;
|
|
419
|
-
this.features = features;
|
|
420
|
-
this.whens = whens;
|
|
421
|
-
this.thens = thens;
|
|
463
|
+
this.features = features || [];
|
|
464
|
+
this.whens = whens || [];
|
|
465
|
+
this.thens = thens || [];
|
|
422
466
|
this.givenCB = givenCB;
|
|
423
467
|
this.initialValues = initialValues;
|
|
424
468
|
}
|
|
@@ -433,17 +477,17 @@ var BaseGiven = class {
|
|
|
433
477
|
return {
|
|
434
478
|
key: this.key,
|
|
435
479
|
name: this.name,
|
|
436
|
-
whens: this.whens.map((w) => {
|
|
480
|
+
whens: (this.whens || []).map((w) => {
|
|
437
481
|
if (w && w.toObj)
|
|
438
482
|
return w.toObj();
|
|
439
483
|
console.error("w is not as expected!", JSON.stringify(w));
|
|
440
484
|
return {};
|
|
441
485
|
}),
|
|
442
|
-
thens: this.thens.map((t) => t.toObj()),
|
|
486
|
+
thens: (this.thens || []).map((t) => t && t.toObj ? t.toObj() : {}),
|
|
443
487
|
error: this.error ? [this.error, this.error.stack] : null,
|
|
444
488
|
failed: this.failed,
|
|
445
|
-
features: this.features,
|
|
446
|
-
artifacts: this.artifacts
|
|
489
|
+
features: this.features || [],
|
|
490
|
+
artifacts: this.artifacts || []
|
|
447
491
|
};
|
|
448
492
|
}
|
|
449
493
|
async afterEach(store, key, artifactory, pm) {
|
|
@@ -517,6 +561,8 @@ var BaseGiven = class {
|
|
|
517
561
|
return this.store;
|
|
518
562
|
}
|
|
519
563
|
};
|
|
564
|
+
|
|
565
|
+
// src/lib/BaseWhen.ts
|
|
520
566
|
var BaseWhen = class {
|
|
521
567
|
constructor(name, whenCB) {
|
|
522
568
|
this.artifacts = [];
|
|
@@ -562,6 +608,8 @@ ${this.error.stack}` : null,
|
|
|
562
608
|
}
|
|
563
609
|
}
|
|
564
610
|
};
|
|
611
|
+
|
|
612
|
+
// src/lib/BaseThen.ts
|
|
565
613
|
var BaseThen = class {
|
|
566
614
|
constructor(name, thenCB) {
|
|
567
615
|
this.artifacts = [];
|
|
@@ -621,37 +669,202 @@ var BaseThen = class {
|
|
|
621
669
|
}
|
|
622
670
|
};
|
|
623
671
|
|
|
624
|
-
// src/lib/
|
|
625
|
-
var
|
|
626
|
-
constructor(
|
|
627
|
-
this.artifacts = [];
|
|
672
|
+
// src/lib/BaseSuite.ts
|
|
673
|
+
var BaseSuite = class {
|
|
674
|
+
constructor(name, index, givens = {}) {
|
|
628
675
|
this.artifacts = [];
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
this.
|
|
634
|
-
this.
|
|
635
|
-
this.
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
);
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
676
|
+
const suiteName = name || "testSuite";
|
|
677
|
+
if (!suiteName) {
|
|
678
|
+
throw new Error("BaseSuite requires a non-empty name");
|
|
679
|
+
}
|
|
680
|
+
this.name = suiteName;
|
|
681
|
+
this.index = index;
|
|
682
|
+
this.givens = givens;
|
|
683
|
+
this.fails = 0;
|
|
684
|
+
}
|
|
685
|
+
addArtifact(path) {
|
|
686
|
+
const normalizedPath = path.replace(/\\/g, "/");
|
|
687
|
+
this.artifacts.push(normalizedPath);
|
|
688
|
+
}
|
|
689
|
+
features() {
|
|
690
|
+
try {
|
|
691
|
+
const features = Object.keys(this.givens).map((k) => this.givens[k].features).flat().filter((value, index, array) => {
|
|
692
|
+
return array.indexOf(value) === index;
|
|
693
|
+
});
|
|
694
|
+
return features || [];
|
|
695
|
+
} catch (e) {
|
|
696
|
+
console.error("[ERROR] Failed to extract features:", JSON.stringify(e));
|
|
697
|
+
return [];
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
toObj() {
|
|
701
|
+
const givens = Object.keys(this.givens).map((k) => this.givens[k].toObj());
|
|
702
|
+
return {
|
|
703
|
+
name: this.name,
|
|
704
|
+
givens,
|
|
705
|
+
fails: this.fails,
|
|
706
|
+
failed: this.failed,
|
|
707
|
+
features: this.features()
|
|
708
|
+
};
|
|
709
|
+
}
|
|
710
|
+
setup(s, artifactory, tr, pm) {
|
|
711
|
+
return new Promise((res) => res(s));
|
|
712
|
+
}
|
|
713
|
+
assertThat(t) {
|
|
714
|
+
return !!t;
|
|
715
|
+
}
|
|
716
|
+
afterAll(store, artifactory, pm) {
|
|
717
|
+
return store;
|
|
718
|
+
}
|
|
719
|
+
async run(input, testResourceConfiguration, artifactory, tLog, pm) {
|
|
720
|
+
this.testResourceConfiguration = testResourceConfiguration;
|
|
721
|
+
const suiteArtifactory = (fPath, value) => artifactory(`suite-${this.index}-${this.name}/${fPath}`, value);
|
|
722
|
+
const sNdx = this.index;
|
|
723
|
+
const addArtifact = this.addArtifact.bind(this);
|
|
724
|
+
const proxiedPm = beforeAllProxy(pm, sNdx.toString(), addArtifact);
|
|
725
|
+
const subject = await this.setup(
|
|
726
|
+
input,
|
|
727
|
+
suiteArtifactory,
|
|
728
|
+
testResourceConfiguration,
|
|
729
|
+
proxiedPm
|
|
730
|
+
);
|
|
731
|
+
for (const [gKey, g] of Object.entries(this.givens)) {
|
|
732
|
+
const giver = this.givens[gKey];
|
|
733
|
+
this.store = await giver.give(
|
|
734
|
+
subject,
|
|
735
|
+
gKey,
|
|
736
|
+
testResourceConfiguration,
|
|
737
|
+
this.assertThat,
|
|
738
|
+
suiteArtifactory,
|
|
739
|
+
tLog,
|
|
740
|
+
pm,
|
|
741
|
+
sNdx
|
|
742
|
+
).catch((e) => {
|
|
743
|
+
this.failed = true;
|
|
744
|
+
this.fails = this.fails + 1;
|
|
745
|
+
throw e;
|
|
746
|
+
});
|
|
747
|
+
}
|
|
748
|
+
try {
|
|
749
|
+
const addArtifact2 = this.addArtifact.bind(this);
|
|
750
|
+
const afterAllPm = afterAllProxy(pm, sNdx.toString(), addArtifact2);
|
|
751
|
+
this.afterAll(this.store, artifactory, afterAllPm);
|
|
752
|
+
} catch (e) {
|
|
753
|
+
console.error(JSON.stringify(e));
|
|
754
|
+
}
|
|
755
|
+
return this;
|
|
756
|
+
}
|
|
757
|
+
};
|
|
758
|
+
|
|
759
|
+
// src/lib/Tiposkripto.ts
|
|
760
|
+
var Tiposkripto = class {
|
|
761
|
+
constructor(input, testSpecification, testImplementation, testResourceRequirement = defaultTestResourceRequirement, testAdapter2 = {}, uberCatcher = (cb) => cb()) {
|
|
762
|
+
this.artifacts = [];
|
|
763
|
+
const fullAdapter = DefaultAdapter(testAdapter2);
|
|
764
|
+
const classySuites = Object.entries(testImplementation.suites).reduce(
|
|
765
|
+
(a, [key], index) => {
|
|
766
|
+
a[key] = (somestring, givens) => {
|
|
767
|
+
return new class extends BaseSuite {
|
|
768
|
+
afterAll(store, artifactory, pm) {
|
|
769
|
+
return fullAdapter.afterAll(store, pm);
|
|
770
|
+
}
|
|
771
|
+
assertThat(t) {
|
|
772
|
+
return fullAdapter.assertThis(t);
|
|
773
|
+
}
|
|
774
|
+
async setup(s, artifactory, tr, pm) {
|
|
775
|
+
return fullAdapter.beforeAll?.(s, tr, pm) ?? s;
|
|
776
|
+
}
|
|
777
|
+
}(somestring, index, givens);
|
|
778
|
+
};
|
|
779
|
+
return a;
|
|
780
|
+
},
|
|
781
|
+
{}
|
|
782
|
+
);
|
|
783
|
+
const classyGivens = Object.entries(testImplementation.givens).reduce(
|
|
784
|
+
(a, [key, g]) => {
|
|
785
|
+
a[key] = (name, features, whens, thens, gcb, initialValues) => {
|
|
786
|
+
return new class extends BaseGiven {
|
|
787
|
+
constructor() {
|
|
788
|
+
super(...arguments);
|
|
789
|
+
this.uberCatcher = uberCatcher;
|
|
790
|
+
}
|
|
791
|
+
async givenThat(subject, testResource, artifactory, initializer, initialValues2, pm) {
|
|
792
|
+
return fullAdapter.beforeEach(
|
|
793
|
+
subject,
|
|
794
|
+
initializer,
|
|
795
|
+
testResource,
|
|
796
|
+
initialValues2,
|
|
797
|
+
pm
|
|
798
|
+
);
|
|
799
|
+
}
|
|
800
|
+
afterEach(store, key2, artifactory, pm) {
|
|
801
|
+
return Promise.resolve(fullAdapter.afterEach(store, key2, pm));
|
|
802
|
+
}
|
|
803
|
+
}(
|
|
804
|
+
name,
|
|
805
|
+
features,
|
|
806
|
+
whens,
|
|
807
|
+
thens,
|
|
808
|
+
testImplementation.givens[key],
|
|
809
|
+
initialValues
|
|
810
|
+
);
|
|
811
|
+
};
|
|
812
|
+
return a;
|
|
813
|
+
},
|
|
814
|
+
{}
|
|
815
|
+
);
|
|
816
|
+
const classyWhens = Object.entries(testImplementation.whens).reduce(
|
|
817
|
+
(a, [key, whEn]) => {
|
|
818
|
+
a[key] = (...payload) => {
|
|
819
|
+
return new class extends BaseWhen {
|
|
820
|
+
async andWhen(store, whenCB, testResource, pm) {
|
|
821
|
+
return await fullAdapter.andWhen(store, whenCB, testResource, pm);
|
|
822
|
+
}
|
|
823
|
+
}(`${key}: ${payload && payload.toString()}`, whEn(...payload));
|
|
824
|
+
};
|
|
825
|
+
return a;
|
|
826
|
+
},
|
|
827
|
+
{}
|
|
828
|
+
);
|
|
829
|
+
const classyThens = Object.entries(testImplementation.thens).reduce(
|
|
830
|
+
(a, [key, thEn]) => {
|
|
831
|
+
a[key] = (...args) => {
|
|
832
|
+
return new class extends BaseThen {
|
|
833
|
+
async butThen(store, thenCB, testResource, pm) {
|
|
834
|
+
return await fullAdapter.butThen(store, thenCB, testResource, pm);
|
|
835
|
+
}
|
|
836
|
+
}(`${key}: ${args && args.toString()}`, thEn(...args));
|
|
837
|
+
};
|
|
838
|
+
return a;
|
|
839
|
+
},
|
|
840
|
+
{}
|
|
841
|
+
);
|
|
842
|
+
this.suitesOverrides = classySuites;
|
|
843
|
+
this.givenOverides = classyGivens;
|
|
844
|
+
this.whenOverides = classyWhens;
|
|
845
|
+
this.thenOverides = classyThens;
|
|
846
|
+
this.testResourceRequirement = testResourceRequirement;
|
|
847
|
+
this.testSpecification = testSpecification;
|
|
848
|
+
this.specs = testSpecification(
|
|
849
|
+
this.Suites(),
|
|
850
|
+
this.Given(),
|
|
851
|
+
this.When(),
|
|
852
|
+
this.Then()
|
|
853
|
+
);
|
|
854
|
+
this.testJobs = this.specs.map((suite) => {
|
|
855
|
+
const suiteRunner = (suite2) => async (puppetMaster, tLog) => {
|
|
856
|
+
try {
|
|
857
|
+
const x = await suite2.run(
|
|
858
|
+
input,
|
|
859
|
+
puppetMaster.testResourceConfiguration,
|
|
860
|
+
(fPath, value) => puppetMaster.testArtiFactoryfileWriter(
|
|
861
|
+
tLog,
|
|
862
|
+
(p) => {
|
|
863
|
+
this.artifacts.push(p);
|
|
864
|
+
}
|
|
865
|
+
)(
|
|
866
|
+
puppetMaster.testResourceConfiguration.fs + "/" + fPath,
|
|
867
|
+
value
|
|
655
868
|
),
|
|
656
869
|
tLog,
|
|
657
870
|
puppetMaster
|
|
@@ -659,6 +872,7 @@ var BaseBuilder = class {
|
|
|
659
872
|
return x;
|
|
660
873
|
} catch (e) {
|
|
661
874
|
console.error(e.stack);
|
|
875
|
+
throw e;
|
|
662
876
|
}
|
|
663
877
|
};
|
|
664
878
|
const runner = suiteRunner(suite);
|
|
@@ -698,12 +912,6 @@ var BaseBuilder = class {
|
|
|
698
912
|
};
|
|
699
913
|
});
|
|
700
914
|
}
|
|
701
|
-
// testsJson() {
|
|
702
|
-
// puppetMaster.writeFileSync(
|
|
703
|
-
// `tests.json`,
|
|
704
|
-
// JSON.stringify({ features: suiteDone.features() }, null, 2)
|
|
705
|
-
// );
|
|
706
|
-
// }
|
|
707
915
|
Specs() {
|
|
708
916
|
return this.specs;
|
|
709
917
|
}
|
|
@@ -719,304 +927,386 @@ var BaseBuilder = class {
|
|
|
719
927
|
Then() {
|
|
720
928
|
return this.thenOverides;
|
|
721
929
|
}
|
|
930
|
+
// Add a method to access test jobs which can be used by receiveTestResourceConfig
|
|
931
|
+
getTestJobs() {
|
|
932
|
+
return this.testJobs;
|
|
933
|
+
}
|
|
722
934
|
};
|
|
723
935
|
|
|
724
|
-
// src/
|
|
725
|
-
var
|
|
726
|
-
constructor(
|
|
727
|
-
const classySuites = Object.entries(testImplementation.suites).reduce(
|
|
728
|
-
(a, [key], index) => {
|
|
729
|
-
a[key] = (somestring, givens) => {
|
|
730
|
-
return new suiteKlasser.prototype.constructor(
|
|
731
|
-
somestring,
|
|
732
|
-
index,
|
|
733
|
-
givens
|
|
734
|
-
);
|
|
735
|
-
};
|
|
736
|
-
return a;
|
|
737
|
-
},
|
|
738
|
-
{}
|
|
739
|
-
);
|
|
740
|
-
const classyGivens = Object.entries(testImplementation.givens).reduce(
|
|
741
|
-
(a, [key, g]) => {
|
|
742
|
-
a[key] = (features, whens, thens, ...initialValues) => {
|
|
743
|
-
return new givenKlasser.prototype.constructor(
|
|
744
|
-
key,
|
|
745
|
-
features,
|
|
746
|
-
whens,
|
|
747
|
-
thens,
|
|
748
|
-
testImplementation.givens[key],
|
|
749
|
-
initialValues
|
|
750
|
-
);
|
|
751
|
-
};
|
|
752
|
-
return a;
|
|
753
|
-
},
|
|
754
|
-
{}
|
|
755
|
-
);
|
|
756
|
-
const classyWhens = Object.entries(testImplementation.whens).reduce(
|
|
757
|
-
(a, [key, whEn]) => {
|
|
758
|
-
a[key] = (...payload) => {
|
|
759
|
-
return new whenKlasser.prototype.constructor(
|
|
760
|
-
`${key}: ${payload && payload.toString()}`,
|
|
761
|
-
whEn(...payload)
|
|
762
|
-
);
|
|
763
|
-
};
|
|
764
|
-
return a;
|
|
765
|
-
},
|
|
766
|
-
{}
|
|
767
|
-
);
|
|
768
|
-
const classyThens = Object.entries(testImplementation.thens).reduce(
|
|
769
|
-
(a, [key, thEn]) => {
|
|
770
|
-
a[key] = (...args) => {
|
|
771
|
-
return new thenKlasser.prototype.constructor(
|
|
772
|
-
`${key}: ${args && args.toString()}`,
|
|
773
|
-
thEn(...args)
|
|
774
|
-
);
|
|
775
|
-
};
|
|
776
|
-
return a;
|
|
777
|
-
},
|
|
778
|
-
{}
|
|
779
|
-
);
|
|
936
|
+
// src/Web.ts
|
|
937
|
+
var WebTesteranto = class extends Tiposkripto {
|
|
938
|
+
constructor(input, testSpecification, testImplementation, testResourceRequirement, testAdapter2) {
|
|
780
939
|
super(
|
|
781
940
|
input,
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
classyWhens,
|
|
785
|
-
classyThens,
|
|
941
|
+
testSpecification,
|
|
942
|
+
testImplementation,
|
|
786
943
|
testResourceRequirement,
|
|
787
|
-
|
|
944
|
+
testAdapter2,
|
|
945
|
+
(cb) => {
|
|
946
|
+
}
|
|
788
947
|
);
|
|
789
948
|
}
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
constructor(input, testSpecification, testImplementation, testResourceRequirement = defaultTestResourceRequirement, testAdapter, uberCatcher) {
|
|
795
|
-
const fullAdapter = DefaultAdapter(testAdapter);
|
|
796
|
-
super(
|
|
797
|
-
testImplementation,
|
|
798
|
-
testSpecification,
|
|
799
|
-
input,
|
|
800
|
-
class extends BaseSuite {
|
|
801
|
-
afterAll(store, artifactory, pm) {
|
|
802
|
-
return fullAdapter.afterAll(store, pm);
|
|
803
|
-
}
|
|
804
|
-
assertThat(t) {
|
|
805
|
-
return fullAdapter.assertThis(t);
|
|
806
|
-
}
|
|
807
|
-
async setup(s, artifactory, tr, pm) {
|
|
808
|
-
return fullAdapter.beforeAll?.(s, tr, pm) ?? s;
|
|
809
|
-
}
|
|
810
|
-
},
|
|
811
|
-
class Given extends BaseGiven {
|
|
812
|
-
constructor() {
|
|
813
|
-
super(...arguments);
|
|
814
|
-
this.uberCatcher = uberCatcher;
|
|
815
|
-
}
|
|
816
|
-
async givenThat(subject, testResource, artifactory, initializer, initialValues, pm) {
|
|
817
|
-
return fullAdapter.beforeEach(
|
|
818
|
-
subject,
|
|
819
|
-
initializer,
|
|
820
|
-
testResource,
|
|
821
|
-
initialValues,
|
|
822
|
-
pm
|
|
823
|
-
);
|
|
824
|
-
}
|
|
825
|
-
afterEach(store, key, artifactory, pm) {
|
|
826
|
-
return Promise.resolve(fullAdapter.afterEach(store, key, pm));
|
|
827
|
-
}
|
|
828
|
-
},
|
|
829
|
-
class When extends BaseWhen {
|
|
830
|
-
async andWhen(store, whenCB, testResource, pm) {
|
|
831
|
-
return await fullAdapter.andWhen(store, whenCB, testResource, pm);
|
|
832
|
-
}
|
|
833
|
-
},
|
|
834
|
-
class Then extends BaseThen {
|
|
835
|
-
async butThen(store, thenCB, testResource, pm) {
|
|
836
|
-
return await fullAdapter.butThen(store, thenCB, testResource, pm);
|
|
837
|
-
}
|
|
838
|
-
},
|
|
839
|
-
testResourceRequirement
|
|
840
|
-
);
|
|
949
|
+
async receiveTestResourceConfig(partialTestResource) {
|
|
950
|
+
const t = partialTestResource;
|
|
951
|
+
const pm = new PM_Web(t);
|
|
952
|
+
return await this.testJobs[0].receiveTestResourceConfig(pm);
|
|
841
953
|
}
|
|
842
954
|
};
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
955
|
+
var Web_default = async (input, testSpecification, testImplementation, testAdapter2, testResourceRequirement = defaultTestResourceRequirement) => {
|
|
956
|
+
return new WebTesteranto(
|
|
957
|
+
input,
|
|
958
|
+
testSpecification,
|
|
959
|
+
testImplementation,
|
|
960
|
+
testResourceRequirement,
|
|
961
|
+
testAdapter2
|
|
962
|
+
);
|
|
846
963
|
};
|
|
847
964
|
|
|
848
|
-
// src/
|
|
849
|
-
var
|
|
850
|
-
constructor(
|
|
851
|
-
super(
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
}
|
|
861
|
-
trackCall(method, args) {
|
|
862
|
-
}
|
|
863
|
-
start() {
|
|
864
|
-
return new Promise((r) => r());
|
|
865
|
-
}
|
|
866
|
-
stop() {
|
|
867
|
-
return new Promise((r) => r());
|
|
868
|
-
}
|
|
869
|
-
async createWriteStream(filepath, testName) {
|
|
870
|
-
throw new Error("pure.ts createWriteStream not implemented");
|
|
871
|
-
return "";
|
|
872
|
-
}
|
|
873
|
-
launchSideCar(n) {
|
|
874
|
-
return globalThis["launchSideCar"](n, this.testResourceConfiguration.name);
|
|
875
|
-
}
|
|
876
|
-
pages() {
|
|
877
|
-
return globalThis["pages"]();
|
|
878
|
-
}
|
|
879
|
-
waitForSelector(p, s) {
|
|
880
|
-
return globalThis["waitForSelector"](p, s);
|
|
881
|
-
}
|
|
882
|
-
closePage(p) {
|
|
883
|
-
return globalThis["closePage"](p);
|
|
884
|
-
}
|
|
885
|
-
goto(cdpPage, url) {
|
|
886
|
-
return globalThis["goto"](cdpPage.mainFrame()._id, url);
|
|
887
|
-
}
|
|
888
|
-
newPage() {
|
|
889
|
-
return globalThis["newPage"]();
|
|
890
|
-
}
|
|
891
|
-
$(selector) {
|
|
892
|
-
return globalThis["$"](selector);
|
|
893
|
-
}
|
|
894
|
-
isDisabled(selector) {
|
|
895
|
-
return globalThis["isDisabled"](selector);
|
|
896
|
-
}
|
|
897
|
-
getAttribute(selector, attribute) {
|
|
898
|
-
return globalThis["getAttribute"](selector, attribute);
|
|
899
|
-
}
|
|
900
|
-
getValue(selector) {
|
|
901
|
-
return globalThis["getValue"](selector);
|
|
902
|
-
}
|
|
903
|
-
focusOn(selector) {
|
|
904
|
-
return globalThis["focusOn"](selector);
|
|
905
|
-
}
|
|
906
|
-
typeInto(selector, value) {
|
|
907
|
-
return globalThis["typeInto"](selector, value);
|
|
908
|
-
}
|
|
909
|
-
page() {
|
|
910
|
-
return globalThis["page"]();
|
|
911
|
-
}
|
|
912
|
-
click(selector) {
|
|
913
|
-
return globalThis["click"](selector);
|
|
914
|
-
}
|
|
915
|
-
screencast(opts, page) {
|
|
916
|
-
return globalThis["screencast"](
|
|
917
|
-
{
|
|
918
|
-
...opts,
|
|
919
|
-
path: this.testResourceConfiguration.fs + "/" + opts.path
|
|
920
|
-
},
|
|
921
|
-
page,
|
|
922
|
-
this.testResourceConfiguration.name
|
|
923
|
-
);
|
|
924
|
-
}
|
|
925
|
-
screencastStop(p) {
|
|
926
|
-
return globalThis["screencastStop"](p);
|
|
927
|
-
}
|
|
928
|
-
customScreenShot(opts, page) {
|
|
929
|
-
return globalThis["customScreenShot"](
|
|
930
|
-
{
|
|
931
|
-
...opts,
|
|
932
|
-
path: this.testResourceConfiguration.fs + "/" + opts.path
|
|
933
|
-
},
|
|
934
|
-
page,
|
|
935
|
-
this.testResourceConfiguration.name
|
|
965
|
+
// src/lib/BaseSuite.test/mock.ts
|
|
966
|
+
var MockGiven = class extends BaseGiven {
|
|
967
|
+
constructor(name, features, whens, thens) {
|
|
968
|
+
super(
|
|
969
|
+
name,
|
|
970
|
+
features,
|
|
971
|
+
whens,
|
|
972
|
+
thens,
|
|
973
|
+
async () => ({ testStore: true }),
|
|
974
|
+
// givenCB
|
|
975
|
+
{}
|
|
976
|
+
// initialValues
|
|
936
977
|
);
|
|
937
978
|
}
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
return Promise.resolve(true);
|
|
979
|
+
async givenThat() {
|
|
980
|
+
return { testStore: true };
|
|
941
981
|
}
|
|
942
|
-
|
|
943
|
-
|
|
982
|
+
uberCatcher(e) {
|
|
983
|
+
console.error("Given error 2:", e);
|
|
944
984
|
}
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
985
|
+
};
|
|
986
|
+
var MockWhen = class extends BaseWhen {
|
|
987
|
+
async andWhen(store, whenCB, testResource, pm) {
|
|
988
|
+
const selection = { testSelection: true };
|
|
989
|
+
const result = await whenCB(selection)(store);
|
|
990
|
+
return { ...store, ...result };
|
|
950
991
|
}
|
|
951
|
-
|
|
952
|
-
end(uid) {
|
|
953
|
-
return globalThis["end"](uid);
|
|
992
|
+
addArtifact(path) {
|
|
954
993
|
}
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
);
|
|
994
|
+
};
|
|
995
|
+
var MockThen = class extends BaseThen {
|
|
996
|
+
async butThen(store, thenCB, testResourceConfiguration, pm, ...args) {
|
|
997
|
+
const selection = { testSelection: true };
|
|
998
|
+
await thenCB(selection);
|
|
999
|
+
return selection;
|
|
960
1000
|
}
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
1001
|
+
};
|
|
1002
|
+
var MockSuite = class extends BaseSuite {
|
|
1003
|
+
constructor(name, index) {
|
|
1004
|
+
if (!name) {
|
|
1005
|
+
throw new Error("MockSuite requires a non-empty name");
|
|
1006
|
+
}
|
|
1007
|
+
const suiteName = name || "testSuite";
|
|
1008
|
+
super(suiteName, index, {
|
|
1009
|
+
testGiven: new MockGiven(
|
|
1010
|
+
"testGiven",
|
|
1011
|
+
["testFeature"],
|
|
1012
|
+
[
|
|
1013
|
+
new MockWhen(
|
|
1014
|
+
"testWhen",
|
|
1015
|
+
async () => Promise.resolve({ testSelection: true })
|
|
1016
|
+
)
|
|
1017
|
+
],
|
|
1018
|
+
[
|
|
1019
|
+
new MockThen(
|
|
1020
|
+
"testThen",
|
|
1021
|
+
async () => Promise.resolve(new BaseSuite("temp", 0, {}))
|
|
1022
|
+
)
|
|
1023
|
+
]
|
|
1024
|
+
)
|
|
1025
|
+
});
|
|
966
1026
|
}
|
|
967
|
-
// startPuppeteer(options?: any): any {
|
|
968
|
-
// // return puppeteer.connect(options).then((b) => {
|
|
969
|
-
// // this.browser = b;
|
|
970
|
-
// // });
|
|
971
|
-
// }
|
|
972
1027
|
};
|
|
973
1028
|
|
|
974
|
-
// src/
|
|
975
|
-
var
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
1029
|
+
// src/lib/BaseSuite.test/test.ts
|
|
1030
|
+
var specification = (Suite, Given, When, Then) => [
|
|
1031
|
+
Suite.Default("BaseSuite Core Functionality Tests", {
|
|
1032
|
+
// Test initialization and basic properties
|
|
1033
|
+
initialization: Given.Default(
|
|
1034
|
+
["BaseSuite should initialize with correct name and index"],
|
|
1035
|
+
[],
|
|
1036
|
+
[Then.SuiteNameMatches("testSuite"), Then.SuiteIndexMatches(0)]
|
|
1037
|
+
)
|
|
1038
|
+
// // Test execution flow
|
|
1039
|
+
// execution: Given.Default(
|
|
1040
|
+
// ["BaseSuite should execute all phases successfully"],
|
|
1041
|
+
// [When.RunSuite()],
|
|
1042
|
+
// [Then.StoreValid()]
|
|
1043
|
+
// ),
|
|
1044
|
+
// // Test multiple features
|
|
1045
|
+
// multipleFeatures: Given.Default(
|
|
1046
|
+
// ["BaseSuite should handle multiple features"],
|
|
1047
|
+
// [When.AddFeature("additionalFeature")],
|
|
1048
|
+
// [
|
|
1049
|
+
// Then.FeaturesIncludes("testFeature"),
|
|
1050
|
+
// Then.FeaturesIncludes("additionalFeature"),
|
|
1051
|
+
// Then.FeatureCountMatches(2),
|
|
1052
|
+
// ]
|
|
1053
|
+
// ),
|
|
1054
|
+
// // Test error handling
|
|
1055
|
+
// errorHandling: Given.Default(
|
|
1056
|
+
// ["BaseSuite should handle errors gracefully"],
|
|
1057
|
+
// [When.RunSuiteWithError()],
|
|
1058
|
+
// [Then.ErrorCountMatches(1), Then.FailedFlagSet()]
|
|
1059
|
+
// ),
|
|
1060
|
+
})
|
|
1061
|
+
// Suite.Default("Comprehensive Integration", {
|
|
1062
|
+
// fullStackTest: Given.Default(
|
|
1063
|
+
// ["All components should work together"],
|
|
1064
|
+
// [
|
|
1065
|
+
// When.addArtifact(Promise.resolve("test")),
|
|
1066
|
+
// When.modifySpecs((specs) => [...specs, "extra"]),
|
|
1067
|
+
// When.modifyJobs((jobs) => [...jobs, {}]),
|
|
1068
|
+
// ],
|
|
1069
|
+
// [
|
|
1070
|
+
// Then.specsModified(1),
|
|
1071
|
+
// Then.jobsModified(1),
|
|
1072
|
+
// Then.artifactsTracked(),
|
|
1073
|
+
// Then.testRunSuccessful(),
|
|
1074
|
+
// ]
|
|
1075
|
+
// ),
|
|
1076
|
+
// }),
|
|
1077
|
+
];
|
|
1078
|
+
var implementation = {
|
|
1079
|
+
suites: {
|
|
1080
|
+
Default: "BaseSuite Comprehensive Test Suite"
|
|
1081
|
+
},
|
|
1082
|
+
givens: {
|
|
1083
|
+
Default: () => {
|
|
1084
|
+
return async () => {
|
|
1085
|
+
const suite = new MockSuite("testSuite", 0);
|
|
1086
|
+
return {
|
|
1087
|
+
name: suite.name,
|
|
1088
|
+
index: suite.index,
|
|
1089
|
+
testStore: true
|
|
1090
|
+
};
|
|
1091
|
+
};
|
|
1092
|
+
}
|
|
1093
|
+
},
|
|
1094
|
+
whens: {
|
|
1095
|
+
addArtifact: (artifact) => (suite) => {
|
|
1096
|
+
suite.artifacts.push(artifact);
|
|
1097
|
+
return suite;
|
|
1098
|
+
},
|
|
1099
|
+
modifySpecs: (modifier) => (suite) => {
|
|
1100
|
+
suite.specs = modifier(suite.specs);
|
|
1101
|
+
return suite;
|
|
1102
|
+
},
|
|
1103
|
+
modifyJobs: (modifier) => (suite) => {
|
|
1104
|
+
suite.testJobs = modifier(suite.testJobs);
|
|
1105
|
+
return suite;
|
|
1106
|
+
},
|
|
1107
|
+
RunSuite: () => async (suite) => {
|
|
1108
|
+
const mockConfig = {
|
|
1109
|
+
name: "test",
|
|
1110
|
+
fs: "/tmp",
|
|
1111
|
+
ports: [3e3],
|
|
1112
|
+
environment: {},
|
|
1113
|
+
timeout: 5e3,
|
|
1114
|
+
retries: 3
|
|
1115
|
+
};
|
|
1116
|
+
const mockArtifactory = (key, value) => {
|
|
1117
|
+
};
|
|
1118
|
+
const mockTLog = (...args) => {
|
|
1119
|
+
};
|
|
1120
|
+
const mockPM = {
|
|
1121
|
+
server: null,
|
|
1122
|
+
testResourceConfiguration: mockConfig,
|
|
1123
|
+
start: async () => {
|
|
1124
|
+
},
|
|
1125
|
+
stop: async () => {
|
|
1126
|
+
},
|
|
1127
|
+
testArtiFactoryfileWriter: () => {
|
|
1128
|
+
},
|
|
1129
|
+
$: () => {
|
|
1130
|
+
},
|
|
1131
|
+
click: () => {
|
|
1132
|
+
},
|
|
1133
|
+
closePage: () => {
|
|
1134
|
+
},
|
|
1135
|
+
createWriteStream: async () => ""
|
|
1136
|
+
};
|
|
1137
|
+
return await suite.run(
|
|
1138
|
+
null,
|
|
1139
|
+
mockConfig,
|
|
1140
|
+
mockArtifactory,
|
|
1141
|
+
mockTLog,
|
|
1142
|
+
mockPM
|
|
1143
|
+
);
|
|
1144
|
+
},
|
|
1145
|
+
RunSuiteWithError: () => async (suite) => {
|
|
1146
|
+
try {
|
|
1147
|
+
await suite.run(
|
|
1148
|
+
null,
|
|
1149
|
+
{},
|
|
1150
|
+
// Invalid config
|
|
1151
|
+
() => {
|
|
1152
|
+
},
|
|
1153
|
+
() => {
|
|
1154
|
+
},
|
|
1155
|
+
{}
|
|
1156
|
+
);
|
|
1157
|
+
} catch (e) {
|
|
984
1158
|
}
|
|
985
|
-
|
|
1159
|
+
return suite;
|
|
1160
|
+
},
|
|
1161
|
+
AddFeature: (feature) => (suite) => {
|
|
1162
|
+
const firstGivenKey = Object.keys(suite.givens)[0];
|
|
1163
|
+
if (firstGivenKey) {
|
|
1164
|
+
suite.givens[firstGivenKey].features.push(feature);
|
|
1165
|
+
}
|
|
1166
|
+
return suite;
|
|
1167
|
+
}
|
|
1168
|
+
},
|
|
1169
|
+
thens: {
|
|
1170
|
+
SuiteNameMatches: (expectedName) => (ssel, utils) => (store) => {
|
|
1171
|
+
if (store.name !== expectedName) {
|
|
1172
|
+
throw new Error(
|
|
1173
|
+
`Expected suite name '${expectedName}', got '${store.name}'`
|
|
1174
|
+
);
|
|
1175
|
+
}
|
|
1176
|
+
return Promise.resolve({ testSelection: true });
|
|
1177
|
+
},
|
|
1178
|
+
SuiteIndexMatches: (expectedIndex) => (ssel, utils) => (store) => {
|
|
1179
|
+
if (store.index !== expectedIndex) {
|
|
1180
|
+
throw new Error(
|
|
1181
|
+
`Expected suite index ${expectedIndex}, got ${store.index}`
|
|
1182
|
+
);
|
|
1183
|
+
}
|
|
1184
|
+
return Promise.resolve({ testSelection: true });
|
|
1185
|
+
},
|
|
1186
|
+
FeaturesIncludes: (feature) => (ssel, utils) => (store) => {
|
|
1187
|
+
return Promise.resolve({ testSelection: true });
|
|
1188
|
+
},
|
|
1189
|
+
FeatureCountMatches: (expectedCount) => (suite) => {
|
|
1190
|
+
const actualCount = suite.features().length;
|
|
1191
|
+
if (actualCount !== expectedCount) {
|
|
1192
|
+
throw new Error(
|
|
1193
|
+
`Expected ${expectedCount} features, got ${actualCount}`
|
|
1194
|
+
);
|
|
1195
|
+
}
|
|
1196
|
+
return suite;
|
|
1197
|
+
},
|
|
1198
|
+
StoreValid: () => (suite) => {
|
|
1199
|
+
if (!suite.store?.testStore) {
|
|
1200
|
+
throw new Error("Expected valid store after execution");
|
|
1201
|
+
}
|
|
1202
|
+
return suite;
|
|
1203
|
+
},
|
|
1204
|
+
NoErrorsOccurred: () => (suite) => {
|
|
1205
|
+
if (suite.failed || suite.fails > 0) {
|
|
1206
|
+
throw new Error("Expected no errors to occur during execution");
|
|
1207
|
+
}
|
|
1208
|
+
return suite;
|
|
1209
|
+
},
|
|
1210
|
+
ErrorCountMatches: (expectedCount) => (suite) => {
|
|
1211
|
+
if (suite.fails !== expectedCount) {
|
|
1212
|
+
throw new Error(
|
|
1213
|
+
`Expected ${expectedCount} errors, got ${suite.fails}`
|
|
1214
|
+
);
|
|
1215
|
+
}
|
|
1216
|
+
return suite;
|
|
1217
|
+
},
|
|
1218
|
+
FailedFlagSet: () => (suite) => {
|
|
1219
|
+
if (!suite.failed) {
|
|
1220
|
+
throw new Error("Expected failed flag to be set after error");
|
|
1221
|
+
}
|
|
1222
|
+
return suite;
|
|
1223
|
+
},
|
|
1224
|
+
AllTestsCompleted: () => (suite) => {
|
|
1225
|
+
if (!suite.store) {
|
|
1226
|
+
throw new Error("Expected all tests to be completed");
|
|
1227
|
+
}
|
|
1228
|
+
return suite;
|
|
1229
|
+
},
|
|
1230
|
+
CleanExit: () => (suite) => {
|
|
1231
|
+
if (suite.failed && suite.fails === 0) {
|
|
1232
|
+
throw new Error("Expected clean exit state");
|
|
1233
|
+
}
|
|
1234
|
+
return suite;
|
|
1235
|
+
},
|
|
1236
|
+
specsModified: (expectedCount) => (suite) => {
|
|
1237
|
+
if (suite.specs.length !== expectedCount) {
|
|
1238
|
+
throw new Error(`Expected ${expectedCount} modified specs`);
|
|
1239
|
+
}
|
|
1240
|
+
return suite;
|
|
1241
|
+
},
|
|
1242
|
+
jobsModified: (expectedCount) => (suite) => {
|
|
1243
|
+
if (suite.testJobs.length !== expectedCount) {
|
|
1244
|
+
throw new Error(`Expected ${expectedCount} modified jobs`);
|
|
1245
|
+
}
|
|
1246
|
+
return suite;
|
|
1247
|
+
},
|
|
1248
|
+
artifactsTracked: () => (suite) => {
|
|
1249
|
+
if (suite.artifacts.length === 0) {
|
|
1250
|
+
throw new Error("Expected artifacts to be tracked");
|
|
1251
|
+
}
|
|
1252
|
+
return suite;
|
|
1253
|
+
},
|
|
1254
|
+
testRunSuccessful: () => (suite) => {
|
|
1255
|
+
if (suite.failed) {
|
|
1256
|
+
throw new Error("Expected test run to be successful");
|
|
1257
|
+
}
|
|
1258
|
+
return suite;
|
|
1259
|
+
}
|
|
986
1260
|
}
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
1261
|
+
};
|
|
1262
|
+
var testAdapter = {
|
|
1263
|
+
beforeEach: async (subject, initializer, testResource, initialValues, pm) => {
|
|
990
1264
|
try {
|
|
991
|
-
const
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
1265
|
+
const suite = await initializer();
|
|
1266
|
+
if (!suite) {
|
|
1267
|
+
throw new Error("Initializer returned undefined suite");
|
|
1268
|
+
}
|
|
995
1269
|
return {
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1270
|
+
name: suite.name,
|
|
1271
|
+
index: suite.index,
|
|
1272
|
+
testStore: true,
|
|
1273
|
+
testSelection: false,
|
|
1274
|
+
...suite.store || {}
|
|
1001
1275
|
};
|
|
1276
|
+
} catch (e) {
|
|
1277
|
+
console.error("Given error:", e);
|
|
1278
|
+
throw e;
|
|
1002
1279
|
}
|
|
1003
|
-
}
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1280
|
+
},
|
|
1281
|
+
andWhen: async (store, whenCB, testResource, pm) => {
|
|
1282
|
+
const selection = { testSelection: true };
|
|
1283
|
+
const result = await whenCB(selection)(store);
|
|
1284
|
+
return { ...store, ...result };
|
|
1285
|
+
},
|
|
1286
|
+
butThen: async (store, thenCB, testResource, pm) => {
|
|
1287
|
+
try {
|
|
1288
|
+
const selection = { testSelection: true };
|
|
1289
|
+
await thenCB(selection);
|
|
1290
|
+
return selection;
|
|
1291
|
+
} catch (e) {
|
|
1292
|
+
console.error("Then error:", e.toString());
|
|
1293
|
+
throw e;
|
|
1294
|
+
}
|
|
1295
|
+
},
|
|
1296
|
+
afterEach: (store) => store,
|
|
1297
|
+
afterAll: (store, pm) => {
|
|
1298
|
+
},
|
|
1299
|
+
assertThis: (result) => !!result,
|
|
1300
|
+
beforeAll: async (input, testResource, pm) => input
|
|
1013
1301
|
};
|
|
1014
1302
|
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
BaseWhen,
|
|
1018
|
-
BaseThen,
|
|
1019
|
-
BaseBuilder,
|
|
1303
|
+
// src/lib/BaseSuite.test/web.test.ts
|
|
1304
|
+
var web_test_default = Web_default(
|
|
1020
1305
|
BaseSuite,
|
|
1021
|
-
|
|
1306
|
+
specification,
|
|
1307
|
+
implementation,
|
|
1308
|
+
testAdapter
|
|
1309
|
+
);
|
|
1310
|
+
export {
|
|
1311
|
+
web_test_default as default
|
|
1022
1312
|
};
|