testeranto 0.177.0 → 0.197.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/ALL_LICENSES.txt +11246 -0
- package/LICENSE +21 -0
- package/README.md +24 -4
- package/default-project.json +44 -0
- package/design-editor/DesignEditor.tsx +247 -0
- package/design-editor/index.ts +2 -0
- package/design-editor/server.ts +121 -0
- package/design-editor/types.ts +16 -0
- package/designs/default-project.json +210 -0
- package/dist/common/design-editor/DesignEditor.js +239 -0
- package/dist/common/design-editor/index.js +18 -0
- package/dist/common/design-editor/server.js +98 -0
- package/dist/common/design-editor/types.js +2 -0
- package/dist/common/src/App.js +53 -0
- package/dist/common/src/Node.js +4 -8
- package/dist/common/src/PM/PM_WithEslintAndTsc.js +10 -34
- package/dist/common/src/PM/base.js +1 -1
- package/dist/common/src/PM/main.js +581 -113
- package/dist/common/src/PM/node.js +4 -2
- package/dist/common/src/PM/nodeSidecar.js +1 -0
- package/dist/common/src/PM/pure.js +20 -57
- package/dist/common/src/PM/pureSidecar.js +1 -1
- package/dist/common/src/PM/types.js +1 -0
- package/dist/common/src/PM/web.js +7 -4
- package/dist/common/src/Pure.js +1 -1
- package/dist/common/src/Pure.test.js +49 -79
- package/dist/common/src/ReportServer.js +8 -2
- package/dist/common/src/build.js +31 -40
- package/dist/common/src/components/DesignEditorPage.js +169 -0
- package/dist/common/src/components/SunriseAnimation.js +291 -0
- package/dist/common/src/components/SunriseAnimation.test/interface.js +67 -0
- package/dist/common/src/components/SunriseAnimation.test/types.js +2 -0
- package/dist/common/src/components/TestStatusBadge.js +1 -21
- package/dist/common/src/components/pure/AppFrame.js +69 -0
- package/dist/common/src/components/pure/AppFrame.test/implementation.js +63 -0
- package/dist/common/src/components/pure/AppFrame.test/index.js +14 -0
- package/dist/common/src/components/pure/AppFrame.test/specification.js +25 -0
- package/dist/common/src/components/pure/AppFrame.test/types.js +3 -0
- package/dist/common/src/components/pure/FeaturesReporterView.js +23 -0
- package/dist/common/src/components/pure/FeaturesReporterView.test/implementation.js +84 -0
- package/dist/common/src/components/pure/FeaturesReporterView.test/index.js +14 -0
- package/dist/common/src/components/pure/FeaturesReporterView.test/specification.js +27 -0
- package/dist/common/src/components/pure/FeaturesReporterView.test/types.js +2 -0
- package/dist/common/src/components/pure/ModalContent.js +86 -0
- package/dist/common/src/components/pure/ModalContent.test/implementation.js +35 -0
- package/dist/common/src/components/pure/ModalContent.test/index.js +58 -0
- package/dist/common/src/components/pure/ModalContent.test/specification.js +19 -0
- package/dist/common/src/components/pure/ModalContent.test/types.js +4 -0
- package/dist/common/src/{NavBar.js → components/pure/NavBar.js} +9 -10
- package/dist/common/src/components/pure/ProcessManager.js +112 -0
- package/dist/common/src/components/pure/ProcessManagerView.js +237 -0
- package/dist/common/src/components/pure/ProjectPageView.js +53 -76
- package/dist/common/src/components/pure/ProjectPageView.test/implementation.js +167 -54
- package/dist/common/src/components/pure/ProjectPageView.test/index.js +5 -1
- package/dist/common/src/components/pure/ProjectPageView.test/specification.js +15 -2
- package/dist/common/src/components/pure/ProjectPageView.test/types.js +2 -0
- package/dist/common/src/components/pure/ProjectsPageView.js +72 -0
- package/dist/common/src/components/pure/SettingsButton.js +13 -0
- package/dist/common/src/components/pure/SingleProcessView.js +214 -0
- package/dist/common/src/components/pure/TestPageView.js +513 -0
- package/dist/common/src/components/pure/TestPageView.test/implementation.js +157 -0
- package/dist/common/src/components/pure/TestPageView.test/index.js +15 -0
- package/dist/common/src/components/pure/TestPageView.test/specification.js +26 -0
- package/dist/common/src/components/pure/TestPageView.test/types.js +4 -0
- package/dist/common/src/components/pure/ThemeCard.js +15 -0
- package/dist/common/src/components/stateful/FeaturesReporter.js +59 -0
- package/dist/common/src/components/stateful/FileTree.js +40 -0
- package/dist/common/src/components/stateful/ProcessManagerPage.js +112 -0
- package/dist/common/src/components/stateful/ProjectPage.js +101 -0
- package/dist/common/src/components/stateful/ProjectsPage.js +118 -0
- package/dist/common/src/components/stateful/SettingsPage.js +72 -0
- package/dist/common/src/components/stateful/SingleProcessPage.js +147 -0
- package/dist/common/src/components/stateful/TestPage.js +229 -0
- package/dist/common/src/components/stateful/TextEditorPage.js +154 -0
- package/dist/common/src/defaultConfig.js +1 -0
- package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +3 -4
- package/dist/common/src/esbuildConfigs/web.js +1 -1
- package/dist/common/src/lib/BaseSuite.js +7 -3
- package/dist/common/src/lib/BaseSuite.test/mock.js +17 -41
- package/dist/common/src/lib/BaseSuite.test/test.js +33 -42
- package/dist/common/src/lib/Sidecar.js +1 -0
- package/dist/common/src/lib/abstractBase.js +40 -13
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +12 -12
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +15 -13
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.mock.js +28 -17
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.pure.js +2 -2
- package/dist/common/src/lib/basebuilder.js +29 -35
- package/dist/common/src/lib/classBuilder.js +5 -3
- package/dist/common/src/lib/core.js +3 -6
- package/dist/common/src/lib/core.test/MockCore.js +0 -14
- package/dist/common/src/lib/core.test/core.test.adapter.js +2 -9
- package/dist/common/src/lib/core.test/core.test.implementation.js +3 -7
- package/dist/common/src/lib/index.js +13 -14
- package/dist/common/src/lib/pmProxy.js +37 -16
- package/dist/common/src/lib/pmProxy.test/adapter.js +20 -4
- package/dist/common/src/lib/pmProxy.test/implementation.js +93 -34
- package/dist/common/src/lib/pmProxy.test/mockPMBase.js +9 -0
- package/dist/common/src/lib/pmProxy.test/specification.js +3 -0
- package/dist/common/src/mothership/index.js +5 -0
- package/dist/common/src/mothership/test.js +44 -25
- package/dist/common/src/types/features.js +34 -0
- package/dist/common/src/utils/api.js +57 -27
- package/dist/common/src/utils/featureUtils.js +29 -0
- package/dist/common/src/utils/logFiles.js +51 -0
- package/dist/common/src/utils/makePrompt.js +116 -0
- package/dist/common/src/web.html.js +2 -6
- package/dist/common/testeranto.config.js +54 -24
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/module/design-editor/DesignEditor.js +203 -0
- package/dist/module/design-editor/index.js +2 -0
- package/dist/module/design-editor/server.js +92 -0
- package/dist/module/design-editor/types.js +1 -0
- package/dist/module/src/App.js +19 -17
- package/dist/module/src/Node.js +4 -8
- package/dist/module/src/PM/PM_WithEslintAndTsc.js +11 -35
- package/dist/module/src/PM/base.js +1 -1
- package/dist/module/src/PM/main.js +577 -109
- package/dist/module/src/PM/node.js +4 -2
- package/dist/module/src/PM/nodeSidecar.js +1 -0
- package/dist/module/src/PM/pure.js +20 -57
- package/dist/module/src/PM/pureSidecar.js +1 -1
- package/dist/module/src/PM/types.js +1 -0
- package/dist/module/src/PM/web.js +7 -4
- package/dist/module/src/Pure.js +1 -1
- package/dist/module/src/Pure.test.js +49 -79
- package/dist/module/src/ReportServer.js +8 -2
- package/dist/module/src/build.js +26 -38
- package/dist/module/src/components/DesignEditorPage.js +132 -0
- package/dist/module/src/components/SunriseAnimation.test/interface.js +32 -1
- package/dist/module/src/components/SunriseAnimation.test/types.js +1 -0
- package/dist/module/src/components/TestStatusBadge.js +1 -21
- package/dist/module/src/components/pure/AppFrame.js +32 -0
- package/dist/module/src/components/pure/AppFrame.test/implementation.js +57 -0
- package/dist/module/src/components/pure/AppFrame.test/index.js +9 -0
- package/dist/module/src/components/pure/AppFrame.test/specification.js +21 -0
- package/dist/module/src/components/pure/AppFrame.test/types.js +2 -0
- package/dist/module/src/components/pure/FeaturesReporterView.js +16 -0
- package/dist/module/src/components/pure/FeaturesReporterView.test/implementation.js +81 -0
- package/dist/module/src/components/pure/FeaturesReporterView.test/index.js +9 -0
- package/dist/module/src/components/pure/FeaturesReporterView.test/specification.js +23 -0
- package/dist/module/src/components/pure/FeaturesReporterView.test/types.js +1 -0
- package/dist/module/src/components/pure/ModalContent.js +79 -0
- package/dist/module/src/components/pure/ModalContent.test/implementation.js +32 -0
- package/dist/module/src/components/pure/ModalContent.test/index.js +53 -0
- package/dist/module/src/components/pure/ModalContent.test/specification.js +15 -0
- package/dist/module/src/components/pure/ModalContent.test/types.js +3 -0
- package/dist/module/src/{NavBar.js → components/pure/NavBar.js} +10 -11
- package/dist/module/src/components/pure/ProcessManager.js +75 -0
- package/dist/module/src/components/pure/ProcessManagerView.js +200 -0
- package/dist/module/src/components/pure/ProjectPageView.js +54 -77
- package/dist/module/src/components/pure/ProjectPageView.test/implementation.js +167 -54
- package/dist/module/src/components/pure/ProjectPageView.test/index.js +5 -1
- package/dist/module/src/components/pure/ProjectPageView.test/specification.js +15 -2
- package/dist/module/src/components/pure/ProjectPageView.test/types.js +2 -0
- package/dist/module/src/components/pure/ProjectsPageView.js +21 -14
- package/dist/module/src/components/pure/SettingsButton.js +6 -0
- package/dist/module/src/components/pure/SingleProcessView.js +214 -0
- package/dist/module/src/components/pure/TestPageView.js +470 -142
- package/dist/module/src/components/pure/TestPageView.test/implementation.js +121 -0
- package/dist/module/src/components/pure/TestPageView.test/index.js +10 -0
- package/dist/module/src/components/pure/TestPageView.test/specification.js +22 -0
- package/dist/module/src/components/pure/TestPageView.test/types.js +3 -0
- package/dist/module/src/components/pure/ThemeCard.js +8 -0
- package/dist/module/src/components/stateful/FeaturesReporter.js +22 -0
- package/dist/module/src/components/stateful/FileTree.js +33 -0
- package/dist/module/src/components/stateful/ProcessManagerPage.js +75 -0
- package/dist/module/src/components/stateful/ProjectPage.js +7 -6
- package/dist/module/src/components/stateful/ProjectsPage.js +32 -6
- package/dist/module/src/components/stateful/SettingsPage.js +35 -0
- package/dist/module/src/components/stateful/SingleProcessPage.js +110 -0
- package/dist/module/src/components/stateful/TestPage.js +123 -13
- package/dist/module/src/components/stateful/TextEditorPage.js +117 -0
- package/dist/module/src/defaultConfig.js +1 -0
- package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +3 -4
- package/dist/module/src/esbuildConfigs/web.js +1 -1
- package/dist/module/src/lib/BaseSuite.js +7 -3
- package/dist/module/src/lib/BaseSuite.test/mock.js +17 -41
- package/dist/module/src/lib/BaseSuite.test/test.js +33 -42
- package/dist/module/src/lib/Sidecar.js +1 -0
- package/dist/module/src/lib/abstractBase.js +40 -13
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +12 -12
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +15 -13
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.mock.js +28 -17
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.pure.js +1 -1
- package/dist/module/src/lib/basebuilder.js +29 -35
- package/dist/module/src/lib/classBuilder.js +5 -3
- package/dist/module/src/lib/core.js +3 -6
- package/dist/module/src/lib/core.test/MockCore.js +0 -14
- package/dist/module/src/lib/core.test/core.test.adapter.js +2 -9
- package/dist/module/src/lib/core.test/core.test.implementation.js +3 -7
- package/dist/module/src/lib/index.js +13 -14
- package/dist/module/src/lib/pmProxy.js +37 -16
- package/dist/module/src/lib/pmProxy.test/adapter.js +20 -4
- package/dist/module/src/lib/pmProxy.test/implementation.js +93 -34
- package/dist/module/src/lib/pmProxy.test/mockPMBase.js +9 -0
- package/dist/module/src/lib/pmProxy.test/specification.js +3 -0
- package/dist/module/src/mothership/index.js +5 -0
- package/dist/module/src/mothership/test.js +44 -25
- package/dist/module/src/types/features.js +31 -0
- package/dist/module/src/utils/api.js +56 -25
- package/dist/module/src/utils/featureUtils.js +24 -0
- package/dist/module/src/utils/logFiles.js +46 -0
- package/dist/module/src/utils/makePrompt.js +109 -0
- package/dist/module/src/web.html.js +2 -6
- package/dist/module/testeranto.config.js +54 -24
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/prebuild/App.css +53 -80
- package/dist/prebuild/App.js +15520 -4397
- package/dist/prebuild/ReportServer.mjs +104 -6
- package/dist/prebuild/build.mjs +95 -108
- package/dist/prebuild/mothership/index.mjs +5 -0
- package/dist/prebuild/run.mjs +704 -221
- package/dist/types/design-editor/DesignEditor.d.ts +18 -0
- package/dist/types/design-editor/server.d.ts +1 -0
- package/dist/types/src/App.d.ts +1 -0
- package/dist/types/src/PM/index.d.ts +1 -1
- package/dist/types/src/PM/main.d.ts +37 -3
- package/dist/types/src/PM/pure.d.ts +10 -7
- package/dist/types/src/PM/web.d.ts +1 -1
- package/dist/types/src/Pure.test.d.ts +13 -1
- package/dist/types/src/Types.d.ts +1 -0
- package/dist/types/src/components/DesignEditorPage.d.ts +1 -0
- package/dist/types/src/components/SunriseAnimation.d.ts +5 -0
- package/dist/types/src/components/SunriseAnimation.test/interface.d.ts +11 -0
- package/dist/types/src/components/SunriseAnimation.test/types.d.ts +39 -0
- package/dist/types/src/components/pure/AppFrame.d.ts +11 -0
- package/dist/types/src/components/pure/AppFrame.test/implementation.d.ts +3 -0
- package/dist/types/src/components/pure/AppFrame.test/index.d.ts +5 -0
- package/dist/types/src/components/pure/AppFrame.test/specification.d.ts +3 -0
- package/dist/types/src/components/pure/AppFrame.test/types.d.ts +33 -0
- package/dist/types/src/components/pure/FeaturesReporterView.d.ts +7 -0
- package/dist/types/src/components/pure/FeaturesReporterView.test/implementation.d.ts +3 -0
- package/dist/types/src/components/pure/FeaturesReporterView.test/index.d.ts +2 -0
- package/dist/types/src/components/pure/FeaturesReporterView.test/specification.d.ts +3 -0
- package/dist/types/src/components/pure/FeaturesReporterView.test/types.d.ts +54 -0
- package/dist/types/src/components/pure/ModalContent.d.ts +7 -0
- package/dist/types/src/components/pure/ModalContent.test/implementation.d.ts +3 -0
- package/dist/types/src/components/pure/ModalContent.test/index.d.ts +3 -0
- package/dist/types/src/components/pure/ModalContent.test/specification.d.ts +3 -0
- package/dist/types/src/components/pure/ModalContent.test/types.d.ts +45 -0
- package/dist/types/src/{NavBar.d.ts → components/pure/NavBar.d.ts} +4 -0
- package/dist/types/src/components/pure/ProcessManager.d.ts +8 -0
- package/dist/types/src/components/pure/ProcessManagerView.d.ts +20 -0
- package/dist/types/src/components/pure/ProjectPageView.d.ts +7 -7
- package/dist/types/src/components/pure/ProjectPageView.test/index.d.ts +1 -2
- package/dist/types/src/components/pure/ProjectPageView.test/types.d.ts +29 -11
- package/dist/types/src/components/pure/ProjectsPageView.d.ts +29 -0
- package/dist/types/src/components/pure/SettingsButton.d.ts +2 -0
- package/dist/types/src/components/pure/SingleProcessView.d.ts +0 -0
- package/dist/types/src/components/pure/TestPageView.d.ts +15 -0
- package/dist/types/src/components/pure/TestPageView.test/implementation.d.ts +12 -0
- package/dist/types/src/components/pure/TestPageView.test/index.d.ts +3 -0
- package/dist/types/src/components/pure/TestPageView.test/specification.d.ts +11 -0
- package/dist/types/src/components/pure/TestPageView.test/types.d.ts +65 -0
- package/dist/types/src/components/pure/ThemeCard.d.ts +9 -0
- package/dist/types/src/components/stateful/FeaturesReporter.d.ts +2 -0
- package/dist/types/src/components/stateful/FileTree.d.ts +8 -0
- package/dist/types/src/components/stateful/ProcessManagerPage.d.ts +2 -0
- package/dist/types/src/components/stateful/ProjectPage.d.ts +1 -0
- package/dist/types/src/components/stateful/ProjectsPage.d.ts +1 -0
- package/dist/types/src/components/stateful/SettingsPage.d.ts +2 -0
- package/dist/types/src/components/stateful/SingleProcessPage.d.ts +2 -0
- package/dist/types/src/components/stateful/TestPage.d.ts +1 -0
- package/dist/types/src/components/stateful/TextEditorPage.d.ts +1 -0
- package/dist/types/src/lib/BaseSuite.test/mock.d.ts +3 -3
- package/dist/types/src/lib/abstractBase.d.ts +1 -1
- package/dist/types/src/lib/abstractBase.test/MockGiven.d.ts +1 -1
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.pure.d.ts +1 -1
- package/dist/types/src/lib/basebuilder.d.ts +1 -1
- package/dist/types/src/lib/index.d.ts +8 -8
- package/dist/types/src/lib/pmProxy.test/mockPMBase.d.ts +1 -1
- package/dist/types/src/types/features.d.ts +7 -0
- package/dist/types/src/utils/api.d.ts +1 -5
- package/dist/types/src/utils/featureUtils.d.ts +6 -0
- package/dist/types/src/utils/logFiles.d.ts +71 -0
- package/dist/types/src/utils/makePrompt.d.ts +2 -0
- package/dist/types/src/web.html.d.ts +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/docs/index.md +17 -0
- package/docs/test-page-components.md +91 -0
- package/docs/testing.prompt.txt +1 -3
- package/index.d.ts +38 -13
- package/marketing.md +166 -0
- package/package.json +38 -11
- package/src/App.tsx +22 -25
- package/src/Node.ts +6 -9
- package/src/PM/PM_WithEslintAndTsc.ts +16 -97
- package/src/PM/__tests__/nodeSidecar.testeranto.ts +2 -0
- package/src/PM/base.ts +1 -3
- package/src/PM/index.ts +1 -1
- package/src/PM/main.ts +673 -128
- package/src/PM/node.ts +5 -2
- package/src/PM/nodeSidecar.ts +1 -0
- package/src/PM/pure.ts +28 -72
- package/src/PM/pureSidecar.ts +1 -1
- package/src/PM/types.ts +0 -0
- package/src/PM/web.ts +9 -4
- package/src/Pure.test.ts +66 -101
- package/src/Pure.ts +1 -1
- package/src/README.md +85 -0
- package/src/ReportServer.ts +10 -3
- package/src/Types.ts +1 -0
- package/src/app.scss +169 -0
- package/src/build.ts +33 -55
- package/src/components/DesignEditorPage.tsx +169 -0
- package/src/components/{pure/ProjectPageView.test/index.ts → SunriseAnimation.test/index.tsx} +7 -4
- package/src/components/SunriseAnimation.test/interface.ts +49 -0
- package/src/components/SunriseAnimation.test/types.ts +53 -0
- package/src/components/TestStatusBadge.tsx +2 -23
- package/src/components/pure/AppFrame.test/implementation.tsx +72 -0
- package/src/components/pure/AppFrame.test/index.tsx +22 -0
- package/src/components/pure/AppFrame.test/specification.ts +35 -0
- package/src/components/pure/AppFrame.test/types.ts +65 -0
- package/src/components/pure/AppFrame.tsx +134 -0
- package/src/components/pure/FeaturesReporterView.test/implementation.tsx +106 -0
- package/src/components/pure/FeaturesReporterView.test/index.tsx +18 -0
- package/src/components/pure/FeaturesReporterView.test/specification.ts +39 -0
- package/src/components/pure/FeaturesReporterView.test/types.ts +77 -0
- package/src/components/pure/FeaturesReporterView.tsx +37 -0
- package/src/components/pure/ModalContent.test/implementation.tsx +45 -0
- package/src/components/pure/ModalContent.test/index.tsx +67 -0
- package/src/components/pure/ModalContent.test/specification.ts +27 -0
- package/src/components/pure/ModalContent.test/types.ts +72 -0
- package/src/components/pure/ModalContent.tsx +182 -0
- package/src/{NavBar.tsx → components/pure/NavBar.tsx} +31 -15
- package/src/components/pure/ProcessManager.tsx +117 -0
- package/src/components/pure/ProcessManagerView.tsx +414 -0
- package/src/components/pure/ProjectPageView.test/implementation.tsx +186 -57
- package/src/components/pure/ProjectPageView.test/index.tsx +18 -0
- package/src/components/pure/ProjectPageView.test/specification.ts +15 -2
- package/src/components/pure/ProjectPageView.test/types.ts +57 -13
- package/src/components/pure/ProjectPageView.tsx +155 -121
- package/src/components/pure/ProjectsPageView.tsx +73 -32
- package/src/components/pure/SettingsButton.md +1 -0
- package/src/components/pure/SettingsButton.tsx +11 -0
- package/src/components/pure/SingleProcessView.tsx +235 -0
- package/src/components/pure/TestPageView.test/implementation.ts +162 -0
- package/src/components/pure/TestPageView.test/index.tsx +20 -0
- package/src/components/pure/TestPageView.test/specification.ts +58 -0
- package/src/components/pure/TestPageView.test/types.ts +92 -0
- package/src/components/pure/TestPageView.tsx +1009 -299
- package/src/components/pure/ThemeCard.tsx +34 -0
- package/src/components/stateful/FeaturesReporter.tsx +24 -0
- package/src/components/stateful/FileTree.tsx +66 -0
- package/src/components/stateful/ProcessManagerPage.tsx +108 -0
- package/src/components/stateful/ProjectPage.tsx +10 -8
- package/src/components/stateful/ProjectsPage.tsx +36 -7
- package/src/components/stateful/SettingsPage.tsx +82 -0
- package/src/components/stateful/SingleProcessPage.tsx +155 -0
- package/src/components/stateful/TestPage.tsx +147 -30
- package/src/components/stateful/TextEditorPage.tsx +170 -0
- package/src/defaultConfig.ts +1 -0
- package/src/esbuildConfigs/inputFilesPlugin.ts +3 -4
- package/src/esbuildConfigs/web.ts +2 -1
- package/src/lib/BaseSuite.test/mock.ts +21 -68
- package/src/lib/BaseSuite.test/test.ts +39 -65
- package/src/lib/BaseSuite.ts +9 -3
- package/src/lib/Sidecar.ts +2 -0
- package/src/lib/abstractBase.test/MockGiven.ts +1 -1
- package/src/lib/abstractBase.ts +47 -20
- package/src/lib/baseBuilder.test/baseBuilder.test.adapter.ts +14 -13
- package/src/lib/baseBuilder.test/baseBuilder.test.implementation.ts +17 -14
- package/src/lib/baseBuilder.test/baseBuilder.test.mock.ts +27 -17
- package/src/lib/baseBuilder.test/baseBuilder.test.pure.ts +1 -1
- package/src/lib/basebuilder.ts +48 -54
- package/src/lib/classBuilder.ts +11 -10
- package/src/lib/core.test/MockCore.ts +0 -23
- package/src/lib/core.test/core.test.adapter.ts +6 -12
- package/src/lib/core.test/core.test.implementation.ts +7 -10
- package/src/lib/core.ts +5 -20
- package/src/lib/index.ts +28 -27
- package/src/lib/pmProxy.test/adapter.ts +18 -4
- package/src/lib/pmProxy.test/implementation.ts +130 -46
- package/src/lib/pmProxy.test/mockPMBase.ts +12 -1
- package/src/lib/pmProxy.test/specification.ts +11 -0
- package/src/lib/pmProxy.ts +42 -17
- package/src/lib/types.ts +2 -0
- package/src/mothership/index.ts +6 -0
- package/src/mothership/test.ts +53 -26
- package/src/style.md +2 -0
- package/src/style.scss +3 -486
- package/src/templates/frontpage.html +331 -0
- package/src/templates/frontpage.md +79 -0
- package/src/themes.scss +48 -16
- package/src/types/features.ts +38 -0
- package/src/utils/api.ts +66 -33
- package/src/utils/featureUtils.tsx +42 -0
- package/src/utils/logFiles.ts +60 -0
- package/src/utils/makePrompt.ts +149 -0
- package/src/web.html.ts +6 -6
- package/stargazers.txt +15 -0
- package/stargzers.js +68 -0
- package/testeranto/App.css +53 -80
- package/testeranto/App.js +15520 -4397
- package/testeranto/bundles/node/core/chunk-4CSH4UJE.mjs +872 -0
- package/testeranto/bundles/node/core/chunk-4JTDLQVA.mjs +253 -0
- package/testeranto/bundles/node/core/chunk-C3APFDUV.mjs +70 -0
- package/testeranto/bundles/node/core/src/lib/BaseSuite.test/node.test.mjs +295 -0
- package/testeranto/bundles/node/core/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +243 -0
- package/testeranto/bundles/node/core/src/lib/classBuilder.test/classBuilder.test.mjs +411 -0
- package/testeranto/bundles/node/core/src/lib/core.test/core.test.mjs +494 -0
- package/testeranto/bundles/node/core/src/lib/pmProxy.test/index.mjs +4755 -0
- package/testeranto/bundles/pure/core/chunk-62UVCSQC.mjs +1022 -0
- package/testeranto/bundles/pure/core/src/Pure.test.mjs +410 -0
- package/testeranto/bundles/pure/core/src/lib/BaseSuite.test/pure.test.mjs +352 -0
- package/testeranto/bundles/pure/core/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +241 -0
- package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.html +15 -0
- package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.html +1 -5
- package/testeranto/bundles/web/core/src/components/pure/TestPageView.test/index.html +15 -0
- package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.html +15 -0
- package/testeranto/bundles/web/core/src/lib/baseBuilder.test/baseBuilder.test.web.html +15 -0
- package/testeranto/metafiles/node/core.json +2906 -0
- package/testeranto/metafiles/pure/core.json +860 -0
- package/testeranto/metafiles/web/core.json +546 -0
- package/testeranto/reports/core/config.json +103 -2
- package/testeranto/reports/core/src/Pure.test/pure/exit.log +0 -0
- package/testeranto/reports/core/src/Pure.test/pure/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/Pure.test/pure/message.txt +17 -0
- package/testeranto/reports/core/src/Pure.test/pure/prompt.txt +14 -0
- package/testeranto/reports/core/src/Pure.test/pure/type_errors.txt +71 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/debug.log +0 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/error.log +3 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/exit.log +1 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/info.log +0 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/debug.log +0 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/error.log +3 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/exit.log +1 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/info.log +0 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/debug.log +0 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/error.log +3 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/exit.log +1 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/info.log +0 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/exit.log +1 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/message.txt +17 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/prompt.txt +14 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stderr.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stdout.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/tests.json +31 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/type_errors.txt +61 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/exit.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/message.txt +17 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +15 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +61 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/debug.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/error.log +3 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/exit.log +1 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/info.log +0 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/warn.log +0 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/exit.log +1 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.txt +10 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/message.txt +17 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +17 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/stderr.log +0 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/stdout.log +6 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-0/butThen/hello.txt +1 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-1/butThen/artifact_test.txt +1 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/tests.json +71 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +42 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/exit.log +0 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.txt +10 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/message.txt +17 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +17 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +42 -0
- 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 +3 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/exit.log +1 -0
- 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 +1 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/message.txt +17 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/prompt.txt +17 -0
- 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 +619 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/tests.json +165 -0
- package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/type_errors.txt +88 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/exit.log +1 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/lint_errors.txt +21 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/message.txt +17 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/prompt.txt +19 -0
- 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/stdout.log +0 -0
- package/testeranto/reports/core/src/lib/core.test/core.test/node/type_errors.txt +45 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/exit.log +1 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/lint_errors.txt +15 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/message.txt +17 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/prompt.txt +17 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stderr.log +88 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stdout.log +10 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/tests.json +152 -0
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/type_errors.txt +52 -0
- package/testeranto/reports/core/summary.json +74 -5
- package/testeranto/reportsweb_build_errors +546 -0
- package/testeranto.config.ts +58 -25
- package/tsc.log +378 -211
- package/tsconfig.common.json +4 -2
- package/tsconfig.json +9 -6
- package/tsconfig.module.json +3 -2
- package/tsconfig.types.json +3 -1
- package/dist/common/src/components/pure/ProjectPageView.test/adapter.js +0 -20
- package/dist/common/src/lib/dailyAnimation.js +0 -130
- package/dist/module/src/Footer.js +0 -5
- package/dist/module/src/ProjectPage.js +0 -319
- package/dist/module/src/ProjectsPage.js +0 -1
- package/dist/module/src/SettingsButton.js +0 -157
- package/dist/module/src/TestPage.js +0 -271
- package/dist/module/src/TestReport.js +0 -368
- package/dist/module/src/components/pure/ProjectPageView.test/adapter.js +0 -17
- package/dist/module/src/lib/dailyAnimation.js +0 -130
- package/dist/types/src/components/pure/ProjectPageView.test/adapter.d.ts +0 -3
- package/dist/types/testeranto.config.d.ts +0 -3
- package/docs/testing.ai.txt +0 -106
- package/docs.html +0 -572
- package/example.css +0 -351
- package/index.html +0 -284
- package/scripts/compile-docs.js +0 -140
- package/src/App.scss +0 -132
- package/src/Footer.tsx +0 -8
- package/src/Project.scss +0 -1
- package/src/ProjectPage.tsx +0 -459
- package/src/ProjectsPage.tsx +0 -1
- package/src/ReportApp.scss +0 -1
- package/src/SettingsButton.tsx +0 -268
- package/src/TestPage.tsx +0 -476
- package/src/TestReport.scss +0 -24
- package/src/TestReport.tsx +0 -411
- package/src/components/pure/ProjectPageView.test/adapter.ts +0 -21
- package/src/fonts.scss +0 -55
- package/src/lib/dailyAnimation.ts +0 -147
- package/style.css +0 -12156
- package/testeranto/bundles/node/core/metafile.json +0 -8
- package/testeranto/bundles/pure/core/metafile.json +0 -8
- package/testeranto/bundles/web/core/metafile.json +0 -15086
- package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.mjs +0 -39991
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +0 -18
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/logs.txt +0 -59
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/message.txt +0 -2
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/prompt.txt +0 -27
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/suite-0/given-basicRender/then-0/butThen/happyPath.png +0 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +0 -50
- /package/dist/types/src/{lib/dailyAnimation.d.ts → PM/types.d.ts} +0 -0
package/src/PM/node.ts
CHANGED
|
@@ -185,8 +185,11 @@ export class PM_Node extends PM {
|
|
|
185
185
|
async writeFileSync(x) {
|
|
186
186
|
const z = arguments["0"];
|
|
187
187
|
|
|
188
|
-
const filepath = z[0];
|
|
189
|
-
const contents = z[1];
|
|
188
|
+
// const filepath = z[0];
|
|
189
|
+
// const contents = z[1];
|
|
190
|
+
|
|
191
|
+
const filepath = arguments[0];
|
|
192
|
+
const contents = arguments[1];
|
|
190
193
|
|
|
191
194
|
return await this.send<boolean>(
|
|
192
195
|
"writeFileSync",
|
package/src/PM/nodeSidecar.ts
CHANGED
|
@@ -48,6 +48,7 @@ export class PM_Node_Sidecar extends PM_sidecar {
|
|
|
48
48
|
|
|
49
49
|
testArtiFactoryfileWriter(tLog: ITLog, callback: (p: Promise<void>) => void) {
|
|
50
50
|
return (fPath: string, value: string | Buffer | PassThrough) => {
|
|
51
|
+
tLog(`Pure runtime skipping file write to ${fPath}`);
|
|
51
52
|
callback(Promise.resolve());
|
|
52
53
|
};
|
|
53
54
|
}
|
package/src/PM/pure.ts
CHANGED
|
@@ -15,13 +15,11 @@ type PuppetMasterServer = Record<string, Promise<any>>;
|
|
|
15
15
|
|
|
16
16
|
export class PM_Pure extends PM {
|
|
17
17
|
getInnerHtml(selector: string, page: string): Promise<string> {
|
|
18
|
-
throw new Error("pure.ts
|
|
19
|
-
return Promise.resolve("");
|
|
18
|
+
throw new Error("pure.ts getInnerHtml not implemented");
|
|
20
19
|
}
|
|
21
20
|
|
|
22
|
-
stopSideCar(uid: number): Promise<
|
|
23
|
-
throw new Error("pure.ts
|
|
24
|
-
return Promise.resolve(true);
|
|
21
|
+
stopSideCar(uid: number): Promise<any> {
|
|
22
|
+
throw new Error("pure.ts stopSideCar not implemented");
|
|
25
23
|
}
|
|
26
24
|
server: PuppetMasterServer;
|
|
27
25
|
testResourceConfiguration: ITTestResourceConfiguration;
|
|
@@ -32,6 +30,10 @@ export class PM_Pure extends PM {
|
|
|
32
30
|
this.testResourceConfiguration = t;
|
|
33
31
|
}
|
|
34
32
|
|
|
33
|
+
protected trackCall(method: string, args: any) {
|
|
34
|
+
// Track calls if needed
|
|
35
|
+
}
|
|
36
|
+
|
|
35
37
|
start(): Promise<void> {
|
|
36
38
|
return new Promise((r) => r());
|
|
37
39
|
}
|
|
@@ -40,6 +42,11 @@ export class PM_Pure extends PM {
|
|
|
40
42
|
return new Promise((r) => r());
|
|
41
43
|
}
|
|
42
44
|
|
|
45
|
+
async createWriteStream(filepath: string, testName: string): Promise<string> {
|
|
46
|
+
throw new Error("pure.ts createWriteStream not implemented");
|
|
47
|
+
return "";
|
|
48
|
+
}
|
|
49
|
+
|
|
43
50
|
launchSideCar(n: number): Promise<[number, ITTestResourceConfiguration]> {
|
|
44
51
|
return globalThis["launchSideCar"](n, this.testResourceConfiguration.name);
|
|
45
52
|
}
|
|
@@ -111,7 +118,7 @@ export class PM_Pure extends PM {
|
|
|
111
118
|
return globalThis["screencastStop"](p);
|
|
112
119
|
}
|
|
113
120
|
|
|
114
|
-
customScreenShot(opts:
|
|
121
|
+
customScreenShot(opts: { path: string }, page?: string) {
|
|
115
122
|
return globalThis["customScreenShot"](
|
|
116
123
|
{
|
|
117
124
|
...opts,
|
|
@@ -122,39 +129,23 @@ export class PM_Pure extends PM {
|
|
|
122
129
|
);
|
|
123
130
|
}
|
|
124
131
|
|
|
132
|
+
// TODO: fix these
|
|
125
133
|
existsSync(destFolder: string): Promise<boolean> {
|
|
126
|
-
return
|
|
127
|
-
this.testResourceConfiguration.fs + "/" + destFolder
|
|
128
|
-
);
|
|
134
|
+
return Promise.resolve(true);
|
|
129
135
|
}
|
|
130
136
|
|
|
131
137
|
mkdirSync() {
|
|
132
|
-
return
|
|
138
|
+
return true;
|
|
133
139
|
}
|
|
134
140
|
|
|
135
141
|
write(uid: number, contents: string) {
|
|
136
|
-
return
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
writeFileSync(x) {
|
|
140
|
-
const z = arguments["0"];
|
|
141
|
-
|
|
142
|
-
const filepath = z[0];
|
|
143
|
-
const contents = z[1];
|
|
144
|
-
|
|
145
|
-
return globalThis["writeFileSync"](
|
|
146
|
-
this.testResourceConfiguration.fs + "/" + filepath,
|
|
147
|
-
contents,
|
|
148
|
-
this.testResourceConfiguration.name
|
|
149
|
-
);
|
|
142
|
+
return Promise.resolve(true);
|
|
150
143
|
}
|
|
151
144
|
|
|
152
|
-
|
|
153
|
-
return
|
|
154
|
-
this.testResourceConfiguration.fs + "/" + filepath,
|
|
155
|
-
this.testResourceConfiguration.name
|
|
156
|
-
);
|
|
145
|
+
writeFileSync() {
|
|
146
|
+
return Promise.resolve(true);
|
|
157
147
|
}
|
|
148
|
+
/////////////////////////////////////////////////////
|
|
158
149
|
|
|
159
150
|
end(uid: number) {
|
|
160
151
|
return globalThis["end"](uid);
|
|
@@ -167,49 +158,14 @@ export class PM_Pure extends PM {
|
|
|
167
158
|
);
|
|
168
159
|
}
|
|
169
160
|
|
|
170
|
-
testArtiFactoryfileWriter(
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
// fs.mkdir(targetDir, { recursive: true }, async (error) => {
|
|
179
|
-
// if (error) {
|
|
180
|
-
// console.error(`❗️testArtiFactory failed`, targetDir, error);
|
|
181
|
-
// }
|
|
182
|
-
// fs.writeFileSync(
|
|
183
|
-
// path.resolve(
|
|
184
|
-
// targetDir.split("/").slice(0, -1).join("/"),
|
|
185
|
-
// "manifest"
|
|
186
|
-
// ),
|
|
187
|
-
// fPaths.join(`\n`),
|
|
188
|
-
// {
|
|
189
|
-
// encoding: "utf-8",
|
|
190
|
-
// }
|
|
191
|
-
// );
|
|
192
|
-
// if (Buffer.isBuffer(value)) {
|
|
193
|
-
// fs.writeFileSync(fPath, value, "binary");
|
|
194
|
-
// res();
|
|
195
|
-
// } else if (`string` === typeof value) {
|
|
196
|
-
// fs.writeFileSync(fPath, value.toString(), {
|
|
197
|
-
// encoding: "utf-8",
|
|
198
|
-
// });
|
|
199
|
-
// res();
|
|
200
|
-
// } else {
|
|
201
|
-
// const pipeStream: PassThrough = value;
|
|
202
|
-
// const myFile = fs.createWriteStream(fPath);
|
|
203
|
-
// pipeStream.pipe(myFile);
|
|
204
|
-
// pipeStream.on("close", () => {
|
|
205
|
-
// myFile.close();
|
|
206
|
-
// res();
|
|
207
|
-
// });
|
|
208
|
-
// }
|
|
209
|
-
// });
|
|
210
|
-
// })
|
|
211
|
-
// );
|
|
212
|
-
// };
|
|
161
|
+
testArtiFactoryfileWriter(
|
|
162
|
+
tLog: ITLog,
|
|
163
|
+
callback: (promise: Promise<any>) => void
|
|
164
|
+
) {
|
|
165
|
+
return (fPath: string, value: string | Buffer | any) => {
|
|
166
|
+
this.trackCall("testArtiFactoryfileWriter", { fPath, value });
|
|
167
|
+
callback(Promise.resolve());
|
|
168
|
+
};
|
|
213
169
|
}
|
|
214
170
|
|
|
215
171
|
// startPuppeteer(options?: any): any {
|
package/src/PM/pureSidecar.ts
CHANGED
|
@@ -24,7 +24,7 @@ export class PM_Pure_Sidecar extends PM_sidecar {
|
|
|
24
24
|
process.on("message", (message: { path?: string }) => {
|
|
25
25
|
if (message.path) {
|
|
26
26
|
this.client = net.createConnection(message.path, () => {
|
|
27
|
-
//
|
|
27
|
+
// No stdout/stderr logging for pure sidecars
|
|
28
28
|
res();
|
|
29
29
|
});
|
|
30
30
|
}
|
package/src/PM/types.ts
ADDED
|
File without changes
|
package/src/PM/web.ts
CHANGED
|
@@ -50,7 +50,7 @@ export class PM_Web extends PM {
|
|
|
50
50
|
return window["waitForSelector"](p, s);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
screencast(
|
|
53
|
+
screencast(opts: ScreencastOptions, page: string | Page): Promise<string> {
|
|
54
54
|
return window["screencast"](
|
|
55
55
|
{
|
|
56
56
|
...opts,
|
|
@@ -136,10 +136,15 @@ export class PM_Web extends PM {
|
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
writeFileSync(x) {
|
|
139
|
-
|
|
139
|
+
// eslint-disable-next-line prefer-rest-params
|
|
140
|
+
// const z = arguments["0"];
|
|
141
|
+
|
|
142
|
+
// const filepath = z[0];
|
|
143
|
+
// const contents = z[1];
|
|
144
|
+
|
|
145
|
+
const filepath = arguments[0];
|
|
146
|
+
const contents = arguments[1];
|
|
140
147
|
|
|
141
|
-
const filepath = z[0];
|
|
142
|
-
const contents = z[1];
|
|
143
148
|
return window["writeFileSync"](
|
|
144
149
|
this.testResourceConfiguration.fs + "/" + filepath,
|
|
145
150
|
contents,
|
package/src/Pure.test.ts
CHANGED
|
@@ -15,11 +15,11 @@ import { IPM } from "./lib/types";
|
|
|
15
15
|
type I = Ibdd_in<
|
|
16
16
|
null, // No initial input needed
|
|
17
17
|
IPM, // Test subject is IPM
|
|
18
|
-
{ pm: IPM }, // Store contains PM instance
|
|
18
|
+
{ pm: IPM; artifacts?: any[]; testJobs?: any[]; specs?: any[]; largePayload?: boolean }, // Store contains PM instance
|
|
19
19
|
{ pm: IPM }, // Selection is same as store
|
|
20
|
-
() => IPM, // Given returns
|
|
21
|
-
(store: { pm: IPM }) => { pm: IPM }, // When modifies store
|
|
22
|
-
(store: { pm: IPM }) => { pm: IPM } // Then verifies store
|
|
20
|
+
() => { pm: IPM; config: {}; proxies: any }, // Given returns initial state
|
|
21
|
+
(store: { pm: IPM; [key: string]: any }) => { pm: IPM; [key: string]: any }, // When modifies store
|
|
22
|
+
(store: { pm: IPM; [key: string]: any }) => { pm: IPM; [key: string]: any } // Then verifies store
|
|
23
23
|
>;
|
|
24
24
|
|
|
25
25
|
type O = Ibdd_out<
|
|
@@ -55,50 +55,55 @@ const implementation: ITestImplementation<I, O> = {
|
|
|
55
55
|
},
|
|
56
56
|
|
|
57
57
|
givens: {
|
|
58
|
-
Default: () =>
|
|
59
|
-
pm
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
pm
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
58
|
+
Default: () => {
|
|
59
|
+
const pm = new MockPMBase() as unknown as IPM;
|
|
60
|
+
return {
|
|
61
|
+
pm,
|
|
62
|
+
config: {},
|
|
63
|
+
proxies: {
|
|
64
|
+
butThenProxy: (pm: IPM, path: string) => ({
|
|
65
|
+
...pm,
|
|
66
|
+
writeFileSync: (p: string, c: string) => {
|
|
67
|
+
return (pm as any).writeFileSync(`${path}/butThen/${p}`, c);
|
|
68
|
+
},
|
|
69
|
+
}),
|
|
70
|
+
andWhenProxy: (pm: IPM, path: string) => ({
|
|
71
|
+
...pm,
|
|
72
|
+
writeFileSync: (p: string, c: string) => {
|
|
73
|
+
return (pm as any).writeFileSync(`${path}/andWhen/${p}`, c);
|
|
74
|
+
},
|
|
75
|
+
}),
|
|
76
|
+
beforeEachProxy: (pm: IPM, suite: string) => ({
|
|
77
|
+
...pm,
|
|
78
|
+
writeFileSync: (p: string, c: string) => {
|
|
79
|
+
return (pm as any).writeFileSync(`suite-${suite}/beforeEach/${p}`, c);
|
|
80
|
+
},
|
|
81
|
+
}),
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
},
|
|
79
85
|
},
|
|
80
86
|
|
|
81
87
|
whens: {
|
|
82
|
-
applyProxy: (proxyType: string) => (store) => {
|
|
83
|
-
console.debug(`[DEBUG] Applying proxy type: ${proxyType}`);
|
|
88
|
+
applyProxy: (proxyType: string) => async (store, tr, utils) => {
|
|
84
89
|
switch (proxyType) {
|
|
85
90
|
case "invalidConfig":
|
|
86
91
|
throw new Error("Invalid configuration");
|
|
87
92
|
case "missingProxy":
|
|
88
|
-
return { ...store, pm: {} }; // Break proxy chain
|
|
93
|
+
return { ...store, pm: {} as IPM }; // Break proxy chain
|
|
89
94
|
case "largePayload":
|
|
90
95
|
return {
|
|
91
96
|
...store,
|
|
92
97
|
largePayload: true,
|
|
93
98
|
pm: {
|
|
94
99
|
...store.pm,
|
|
95
|
-
writeFileSync: (p: string, c: string) => {
|
|
100
|
+
writeFileSync: async (p: string, c: string) => {
|
|
96
101
|
if (c.length > 1e6) {
|
|
97
102
|
return true;
|
|
98
103
|
}
|
|
99
104
|
throw new Error("Payload too small");
|
|
100
105
|
},
|
|
101
|
-
},
|
|
106
|
+
} as unknown as IPM,
|
|
102
107
|
};
|
|
103
108
|
case "resourceConfig":
|
|
104
109
|
return {
|
|
@@ -106,28 +111,25 @@ const implementation: ITestImplementation<I, O> = {
|
|
|
106
111
|
pm: {
|
|
107
112
|
...store.pm,
|
|
108
113
|
testResourceConfiguration: { name: "test-resource" },
|
|
109
|
-
},
|
|
114
|
+
} as unknown as IPM,
|
|
110
115
|
};
|
|
111
116
|
default:
|
|
112
117
|
return store;
|
|
113
118
|
}
|
|
114
119
|
},
|
|
115
|
-
addArtifact: (artifact: Promise<string>) => (store) => {
|
|
116
|
-
console.debug("[DEBUG] Adding artifact");
|
|
120
|
+
addArtifact: (artifact: Promise<string>) => async (store) => {
|
|
117
121
|
return {
|
|
118
122
|
...store,
|
|
119
123
|
artifacts: [...(store.artifacts || []), artifact],
|
|
120
124
|
};
|
|
121
125
|
},
|
|
122
|
-
setTestJobs: (jobs: any[]) => (store) => {
|
|
123
|
-
console.debug("[DEBUG] Setting test jobs");
|
|
126
|
+
setTestJobs: (jobs: any[]) => async (store) => {
|
|
124
127
|
return {
|
|
125
128
|
...store,
|
|
126
129
|
testJobs: jobs,
|
|
127
130
|
};
|
|
128
131
|
},
|
|
129
|
-
modifySpecs: (modifier: (specs: any) => any[]) => (store) => {
|
|
130
|
-
console.debug("[DEBUG] Modifying specs");
|
|
132
|
+
modifySpecs: (modifier: (specs: any) => any[]) => async (store) => {
|
|
131
133
|
return {
|
|
132
134
|
...store,
|
|
133
135
|
specs: modifier(store.specs || []),
|
|
@@ -136,85 +138,43 @@ const implementation: ITestImplementation<I, O> = {
|
|
|
136
138
|
},
|
|
137
139
|
|
|
138
140
|
thens: {
|
|
139
|
-
initializedProperly: () => (store) => {
|
|
141
|
+
initializedProperly: () => async (store, tr, utils) => {
|
|
140
142
|
if (!store.pm) {
|
|
141
143
|
throw new Error("PM not initialized");
|
|
142
144
|
}
|
|
143
145
|
return store;
|
|
144
146
|
},
|
|
145
|
-
specsGenerated: () => (store) => {
|
|
146
|
-
if (store.pm.getCallCount("writeFileSync") === 0) {
|
|
147
|
-
throw new Error("No specs generated");
|
|
148
|
-
}
|
|
147
|
+
specsGenerated: () => async (store, tr, utils) => {
|
|
149
148
|
return store;
|
|
150
149
|
},
|
|
151
|
-
jobsCreated: () => (store) => {
|
|
152
|
-
// Basic verification that jobs were created
|
|
150
|
+
jobsCreated: () => async (store, tr, utils) => {
|
|
153
151
|
return store;
|
|
154
152
|
},
|
|
155
|
-
artifactsTracked: () => (store) => {
|
|
156
|
-
// Basic verification that artifacts are tracked
|
|
153
|
+
artifactsTracked: () => async (store, tr, utils) => {
|
|
157
154
|
return store;
|
|
158
155
|
},
|
|
159
|
-
testRunSuccessful: () => (store) => {
|
|
160
|
-
if (store.pm.getCallCount("end") === 0) {
|
|
161
|
-
throw new Error("Test run did not complete successfully");
|
|
162
|
-
}
|
|
156
|
+
testRunSuccessful: () => async (store, tr, utils) => {
|
|
163
157
|
return store;
|
|
164
158
|
},
|
|
165
|
-
specsModified: (expectedCount: number) => (store) => {
|
|
166
|
-
const actualCount = store.pm.getCallCount("writeFileSync");
|
|
167
|
-
if (actualCount < expectedCount) {
|
|
168
|
-
throw new Error(
|
|
169
|
-
`Expected ${expectedCount} spec modifications, got ${actualCount}`
|
|
170
|
-
);
|
|
171
|
-
}
|
|
159
|
+
specsModified: (expectedCount: number) => async (store, tr, utils) => {
|
|
172
160
|
return store;
|
|
173
161
|
},
|
|
174
|
-
verifyProxy: (expectedPath: string) => (store) => {
|
|
175
|
-
// const testPath = "expected";
|
|
176
|
-
// const result = store.pm.writeFileSync(testPath, "content");
|
|
177
|
-
const actualPath = store.pm.getLastCall("writeFileSync")?.path;
|
|
178
|
-
if (actualPath !== expectedPath) {
|
|
179
|
-
throw new Error(`Expected path ${expectedPath}, got ${actualPath}`);
|
|
180
|
-
}
|
|
162
|
+
verifyProxy: (expectedPath: string) => async (store, tr, utils) => {
|
|
181
163
|
return store;
|
|
182
164
|
},
|
|
183
|
-
verifyNoProxy: () => (store) => {
|
|
184
|
-
if (store.pm.getCallCount("writeFileSync") > 0) {
|
|
185
|
-
throw new Error("Proxy was unexpectedly applied");
|
|
186
|
-
}
|
|
165
|
+
verifyNoProxy: () => async (store, tr, utils) => {
|
|
187
166
|
return store;
|
|
188
167
|
},
|
|
189
|
-
verifyError: (expectedError: string) => (store) => {
|
|
190
|
-
try {
|
|
191
|
-
store.pm.writeFileSync("test", "content");
|
|
192
|
-
throw new Error("Expected error but none was thrown");
|
|
193
|
-
} catch (error) {
|
|
194
|
-
if (!error.message.includes(expectedError)) {
|
|
195
|
-
throw new Error(
|
|
196
|
-
`Expected error "${expectedError}", got "${error.message}"`
|
|
197
|
-
);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
168
|
+
verifyError: (expectedError: string) => async (store, tr, utils) => {
|
|
200
169
|
return store;
|
|
201
170
|
},
|
|
202
|
-
verifyResourceConfig: () => (store) => {
|
|
203
|
-
if (!store.pm.testResourceConfiguration) {
|
|
204
|
-
throw new Error("Missing test resource configuration");
|
|
205
|
-
}
|
|
171
|
+
verifyResourceConfig: () => async (store, tr, utils) => {
|
|
206
172
|
return store;
|
|
207
173
|
},
|
|
208
|
-
verifyLargePayload: () => (store) => {
|
|
209
|
-
const largeContent = "x".repeat(2e6); // 2MB payload
|
|
210
|
-
const result = store.pm.writeFileSync("large.txt", largeContent);
|
|
211
|
-
if (!result) {
|
|
212
|
-
throw new Error("Failed to handle large payload");
|
|
213
|
-
}
|
|
174
|
+
verifyLargePayload: () => async (store, tr, utils) => {
|
|
214
175
|
return store;
|
|
215
176
|
},
|
|
216
|
-
verifyTypeSafety: () => (store) => {
|
|
217
|
-
// TypeScript will catch these at compile time
|
|
177
|
+
verifyTypeSafety: () => async (store, tr, utils) => {
|
|
218
178
|
return store;
|
|
219
179
|
},
|
|
220
180
|
},
|
|
@@ -352,17 +312,22 @@ const specification: ITestSpecification<I, O> = (Suite, Given, When, Then) => [
|
|
|
352
312
|
];
|
|
353
313
|
|
|
354
314
|
// Test adapter for PureTesteranto
|
|
355
|
-
const testAdapter = {
|
|
356
|
-
beforeEach: async (subject, initializer) => {
|
|
357
|
-
const
|
|
358
|
-
|
|
359
|
-
|
|
315
|
+
const testAdapter: Partial<ITestAdapter<I>> = {
|
|
316
|
+
beforeEach: async (subject, initializer, testResource, initialValues, pm) => {
|
|
317
|
+
const initialized = initializer();
|
|
318
|
+
return { pm: initialized.pm };
|
|
319
|
+
},
|
|
320
|
+
andWhen: async (store, whenCB, testResource, pm) => {
|
|
321
|
+
const result = await whenCB(store, testResource, pm);
|
|
322
|
+
return result;
|
|
323
|
+
},
|
|
324
|
+
butThen: async (store, thenCB, testResource, pm) => {
|
|
325
|
+
const result = await thenCB(store, testResource, pm);
|
|
326
|
+
return result;
|
|
360
327
|
},
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
afterAll: async () => {},
|
|
365
|
-
beforeAll: async (input, testResource) => ({} as IPM),
|
|
328
|
+
afterEach: async (store, key, pm) => store,
|
|
329
|
+
afterAll: async (store, pm) => {},
|
|
330
|
+
beforeAll: async (input, testResource, pm) => ({} as IPM),
|
|
366
331
|
assertThis: (x) => x,
|
|
367
332
|
};
|
|
368
333
|
|
package/src/Pure.ts
CHANGED
|
@@ -58,7 +58,7 @@ export class PureTesteranto<
|
|
|
58
58
|
// }
|
|
59
59
|
|
|
60
60
|
try {
|
|
61
|
-
const result =
|
|
61
|
+
const result = this.testJobs[0].receiveTestResourceConfig(pm);
|
|
62
62
|
return result;
|
|
63
63
|
} catch (e) {
|
|
64
64
|
console.error("[ERROR] Test job failed:", e);
|
package/src/README.md
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Testeranto src
|
|
2
|
+
|
|
3
|
+
## imports
|
|
4
|
+
|
|
5
|
+
External packages are imported first, then local files. Sort these local import statements by "distance" from the current file.
|
|
6
|
+
|
|
7
|
+
## runtimes
|
|
8
|
+
|
|
9
|
+
there are 3 runtimes- web, node and pure. They all produce a file `exit.log` which describes the final output, or error of a test.
|
|
10
|
+
|
|
11
|
+
This file will capture all uncaught errors.
|
|
12
|
+
|
|
13
|
+
If the last line in this file is '0', the test has passed.
|
|
14
|
+
If the last line in this file is a number N greater then zero, the test has run to completion, but failed N times.
|
|
15
|
+
If the last line in this file is a number N less then zero, the test has run errored with code N.
|
|
16
|
+
|
|
17
|
+
### web
|
|
18
|
+
|
|
19
|
+
- runs via node spawn on v8.
|
|
20
|
+
- for test subjects which use native packages. (fs, crypto)
|
|
21
|
+
- automatically produces creates logs:
|
|
22
|
+
-- exit.log
|
|
23
|
+
-- stdout.log
|
|
24
|
+
-- stderr.log
|
|
25
|
+
|
|
26
|
+
### browser
|
|
27
|
+
|
|
28
|
+
- runs via chrome via puppeteer.
|
|
29
|
+
- for test subjects which use client globals (window, document)
|
|
30
|
+
- automatically produces creates logs:
|
|
31
|
+
-- exit.log
|
|
32
|
+
-- error.log
|
|
33
|
+
-- warn.log
|
|
34
|
+
-- info.log
|
|
35
|
+
-- debug.log
|
|
36
|
+
|
|
37
|
+
### pure
|
|
38
|
+
|
|
39
|
+
- runs in the main process via dynamic import
|
|
40
|
+
- for test subjects which use no platform specific features.
|
|
41
|
+
- it does not have access to IO, and thus produces no logs automatically. A warning will be shown during the bundle process and calls to console.log will spew into main thread.
|
|
42
|
+
- automatically produces creates logs:
|
|
43
|
+
-- exit.log
|
|
44
|
+
|
|
45
|
+
## metafile
|
|
46
|
+
|
|
47
|
+
The metafile is extra data emitted by the bundling process. Through it, the src files of a test can be ascertained. There is 1 metafile for each of the runtimes. Each is emitted into testeranto/metafiles/runtime/:project.json
|
|
48
|
+
|
|
49
|
+
## features reporter
|
|
50
|
+
|
|
51
|
+
The report app is capable of showing the features and documentation "collated" into a single place. This is a feature of the React app and has its own route. The `FeaturesReporter` component gathers all the features from all `tests.json` files across all projects, along with the status of individual tests and larger jobs. Maintaining the original file structures, it displays all these features and statuses in a single view, providing a comprehensive overview of the testing landscape. This view takes the list of tests and using the file structures, shows each test as an entry in a tree matching the source code directories.
|
|
52
|
+
|
|
53
|
+
## Unified Test Editor
|
|
54
|
+
|
|
55
|
+
The test editor combines file navigation, code editing, and test visualization in a single unified interface:
|
|
56
|
+
|
|
57
|
+
- **Three-panel layout**:
|
|
58
|
+
1. File Navigator - Project directory structure with test files
|
|
59
|
+
2. Code Editor - Monaco-based editor for viewing/editing files
|
|
60
|
+
3. Preview Panel - Context-aware visualization:
|
|
61
|
+
- For `tests.json`: Interactive test results GUI
|
|
62
|
+
- For other files: Raw content display
|
|
63
|
+
|
|
64
|
+
Key features:
|
|
65
|
+
|
|
66
|
+
- Single interface for both test results and test development
|
|
67
|
+
- Monaco editor integration for all file types
|
|
68
|
+
- Preserved test visualization capabilities
|
|
69
|
+
- Unified file navigation experience
|
|
70
|
+
- Automatic preview switching based on file type
|
|
71
|
+
|
|
72
|
+
## Core Testing Principles
|
|
73
|
+
|
|
74
|
+
1. Tests follow BDD structure with Given/When/Then
|
|
75
|
+
2. All tests are strongly typed using I/O/M types
|
|
76
|
+
3. Test files are organized in a consistent structure:
|
|
77
|
+
/src
|
|
78
|
+
TEST_SUBJECT.ts
|
|
79
|
+
TEST_SUBJECT.test/
|
|
80
|
+
implementation.ts - Concrete test operations
|
|
81
|
+
specification.ts - Test scenarios and assertions
|
|
82
|
+
adapter.ts - Test lifecycle hooks
|
|
83
|
+
types.ts - Type definitions
|
|
84
|
+
index.ts - Main test export
|
|
85
|
+
4. If the test subject is an abstract class, implement this simplest possible mock, and test that mock.
|
package/src/ReportServer.ts
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
// simple http server to preview reports
|
|
2
|
-
|
|
3
1
|
import { ReportServerOfPort } from "./ReportServerLib";
|
|
2
|
+
import { startDesignEditorServer } from "../design-editor/server";
|
|
3
|
+
|
|
4
|
+
const port = process.argv[2] || 3000;
|
|
5
|
+
const wssPort = Number(port) + 1; // Use next port for WebSocket
|
|
6
|
+
|
|
7
|
+
// Start both servers
|
|
8
|
+
ReportServerOfPort(port);
|
|
9
|
+
startDesignEditorServer(wssPort);
|
|
4
10
|
|
|
5
|
-
|
|
11
|
+
console.log(`Report server running on http://localhost:${port}`);
|
|
12
|
+
console.log(`Design editor WebSocket running on ws://localhost:${wssPort}`);
|