testeranto 0.140.2 → 0.143.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/.aider.chat.history.md +9173 -0
- package/.aider.input.history +336 -0
- package/.aider.tags.cache.v3/{ad/3c/10f2ab1397f6d544e613d2a6acaf.val → 3d/81/8b6f0e9b98ec2952cdb8968ac386.val} +0 -0
- package/.aider.tags.cache.v3/63/f1/138061b0aadb868173d197c2a0e0.val +0 -0
- package/.aider.tags.cache.v3/be/72/19ee8e656d160afe9b31523245fe.val +0 -0
- package/.aider.tags.cache.v3/cache.db +0 -0
- package/.aider.tags.cache.v3/cache.db-shm +0 -0
- package/.aider.tags.cache.v3/cache.db-wal +0 -0
- package/.aider.tags.cache.v3/{a7/97/6d37fce350ad2d588f36729db0cd.val → d6/7d/1820c2d4b9330eab7017da4515e7.val} +0 -0
- package/docs/aiderTest.sh +1 -0
- package/docs/testing.ai.txt +98 -0
- package/docs/testing.prompt.txt +8 -0
- package/package.json +3 -3
- package/src/PM/PM_WithEslintAndTsc.ts +35 -21
- package/src/Pure.test.ts +299 -0
- package/src/lib/BaseSuite.test.ts +24 -5
- package/src/lib/abstractBase.test/MockGiven.ts +31 -0
- package/src/lib/abstractBase.test/MockThen.ts +20 -0
- package/src/lib/abstractBase.test/MockWhen.ts +17 -0
- package/src/lib/abstractBase.test/implementation.ts +51 -0
- package/src/lib/abstractBase.test/index.ts +19 -0
- package/src/lib/abstractBase.test/interface.ts +12 -0
- package/src/lib/abstractBase.test/specification.ts +49 -0
- package/src/lib/abstractBase.test/types.ts +19 -0
- package/src/lib/baseBuilder.test/TestBaseBuilder.ts +83 -0
- package/src/lib/baseBuilder.test/baseBuilder.test.implementation.ts +133 -0
- package/src/lib/baseBuilder.test/baseBuilder.test.interface.ts +18 -0
- package/src/lib/baseBuilder.test/baseBuilder.test.specification.ts +35 -0
- package/src/lib/baseBuilder.test/baseBuilder.test.ts +13 -0
- package/src/lib/baseBuilder.test/baseBuilder.test.types.ts +36 -0
- package/src/lib/classBuilder.test/TestClassBuilder.ts +88 -0
- package/src/lib/classBuilder.test/classBuilder.test.implementation.ts +200 -0
- package/src/lib/classBuilder.test/classBuilder.test.interface.ts +17 -0
- package/src/lib/classBuilder.test/classBuilder.test.specification.ts +112 -0
- package/src/lib/classBuilder.test/classBuilder.test.ts +14 -0
- package/src/lib/classBuilder.test/classBuilder.test.types.ts +72 -0
- package/src/lib/core.test/MockCore.ts +49 -0
- package/src/lib/core.test/core.test.implementation.ts +129 -0
- package/src/lib/core.test/core.test.interface.ts +18 -0
- package/src/lib/core.test/core.test.specification.ts +99 -0
- package/src/lib/core.test/core.test.ts +15 -0
- package/src/lib/core.test/core.test.types.ts +68 -0
- package/src/lib/core.ts +1 -1
- package/src/lib/pmProxy.test/implementation.ts +104 -0
- package/src/lib/pmProxy.test/index.ts +19 -0
- package/src/lib/pmProxy.test/interface.ts +47 -0
- package/src/lib/pmProxy.test/mockPM.ts +38 -0
- package/src/lib/pmProxy.test/mockPMBase.ts +136 -0
- package/src/lib/pmProxy.test/specification.ts +123 -0
- package/src/lib/pmProxy.test/types.ts +45 -0
- package/src/lib/pmProxy.ts +40 -193
- package/testeranto/bundles/node/allTests/chunk-2FXOXAKZ.mjs +800 -0
- package/testeranto/bundles/node/allTests/chunk-5MQGD4WC.mjs +251 -0
- package/testeranto/bundles/node/allTests/chunk-6CGAD2FD.mjs +800 -0
- package/testeranto/bundles/node/allTests/chunk-DWKHII32.mjs +800 -0
- package/testeranto/bundles/node/allTests/chunk-KYSOR62N.mjs +167 -0
- package/testeranto/bundles/node/allTests/chunk-PRPFVO6G.mjs +251 -0
- package/testeranto/bundles/node/allTests/chunk-RX4SUFXQ.mjs +251 -0
- package/testeranto/bundles/node/allTests/chunk-UED26IMH.mjs +802 -0
- package/testeranto/bundles/node/allTests/chunk-VAAIAWXC.mjs +117 -0
- package/testeranto/bundles/node/allTests/chunk-W44DUDBK.mjs +251 -0
- package/testeranto/bundles/node/allTests/chunk-YI3EGRMQ.mjs +167 -0
- package/testeranto/bundles/node/allTests/metafile.json +1072 -222
- package/testeranto/bundles/node/allTests/src/PM/__tests__/nodeSidecar.testeranto.mjs +2 -1
- package/testeranto/bundles/node/allTests/src/PM/__tests__/pureSidecar.testeranto.mjs +2 -1
- package/testeranto/bundles/node/allTests/src/PM/__tests__/webSidecar.testeranto.mjs +2 -1
- package/testeranto/bundles/node/allTests/src/Pure.test.mjs +261 -0
- package/testeranto/bundles/node/allTests/src/lib/BaseSuite.test.mjs +22 -4
- package/testeranto/bundles/node/allTests/src/lib/baseBuilder.test/baseBuilder.test.mjs +226 -0
- package/testeranto/bundles/node/allTests/src/lib/classBuilder.test/classBuilder.test.mjs +406 -0
- package/testeranto/bundles/node/allTests/src/lib/core.test/core.test.mjs +279 -0
- package/testeranto/bundles/node/allTests/src/lib/pmProxy.test/index.mjs +4479 -0
- package/testeranto/bundles/node/allTests/src/mothership/test.mjs +4 -2
- package/testeranto/reports/allTests/config.json +40 -1
- package/testeranto/reports/allTests/src/PM/__tests__/nodeSidecar.testeranto/node/console_log.txt +0 -0
- package/testeranto/reports/allTests/src/PM/__tests__/nodeSidecar.testeranto/node/log.txt +0 -0
- package/testeranto/reports/allTests/src/Pure.test/node/console_log.txt +17 -0
- package/testeranto/reports/allTests/src/Pure.test/node/dev.html +21 -0
- package/testeranto/reports/allTests/src/Pure.test/node/index.html +21 -0
- package/testeranto/reports/allTests/src/Pure.test/node/lint_errors.json +134 -0
- package/testeranto/reports/allTests/src/Pure.test/node/message +1 -0
- package/testeranto/reports/allTests/src/Pure.test/node/prompt.txt +7 -0
- package/testeranto/reports/allTests/src/Pure.test/node/type_errors.txt +26 -0
- package/testeranto/reports/allTests/src/lib/BaseGiven.test/node/dev.html +21 -0
- package/testeranto/reports/allTests/src/lib/BaseGiven.test/node/index.html +21 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node/console_log.txt +27 -27
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node/lint_errors.json +104 -104
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node/type_errors.txt +47 -22
- package/testeranto/reports/allTests/src/lib/BaseThen.test/node/dev.html +21 -0
- package/testeranto/reports/allTests/src/lib/BaseThen.test/node/index.html +21 -0
- package/testeranto/reports/allTests/src/lib/BaseWhen.test/node/dev.html +21 -0
- package/testeranto/reports/allTests/src/lib/BaseWhen.test/node/index.html +21 -0
- package/testeranto/reports/allTests/src/lib/abstractBase/index/node/dev.html +21 -0
- package/testeranto/reports/allTests/src/lib/abstractBase/index/node/index.html +21 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder/baseBuilder.test/node/dev.html +21 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder/baseBuilder.test/node/index.html +21 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test/node/console_log.txt +12 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test/node/dev.html +21 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test/node/index.html +21 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test/node/lint_errors.json +966 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test/node/message +1 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test/node/prompt.txt +11 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test/node/type_errors.txt +52 -0
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/console_log.txt +17 -0
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/dev.html +21 -0
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/index.html +21 -0
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/lint_errors.json +771 -0
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/message +1 -0
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/prompt.txt +11 -0
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/type_errors.txt +67 -0
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/console_log.txt +17 -0
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/dev.html +21 -0
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/index.html +21 -0
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/lint_errors.json +416 -0
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/message +1 -0
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/prompt.txt +11 -0
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/type_errors.txt +54 -0
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/console_log.txt +43 -0
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/dev.html +21 -0
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/index.html +21 -0
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/lint_errors.json +319 -0
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/log.txt +0 -0
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/message +1 -0
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/prompt.txt +10 -0
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/type_errors.txt +64 -0
- package/testeranto/reports/allTests/src/mothership/test/node/console_log.txt +44 -0
- package/testeranto/reports/allTests/src/mothership/test/node/log.txt +0 -0
- package/testeranto/reports/allTests/summary.json +76 -6
- package/testeranto/reportsnode_build_errors +12 -0
- package/testeranto.config.ts +19 -2
package/.aider.input.history
CHANGED
|
@@ -994,3 +994,339 @@
|
|
|
994
994
|
|
|
995
995
|
# 2025-07-15 08:47:43.658057
|
|
996
996
|
+testeranto/reports/allTests/src/lib/BaseSuite.test/node/message
|
|
997
|
+
|
|
998
|
+
# 2025-07-15 10:11:14.342950
|
|
999
|
+
+/read index.md
|
|
1000
|
+
+/read docs/index.md
|
|
1001
|
+
+/read src/CoreTypes.ts
|
|
1002
|
+
+
|
|
1003
|
+
+/add src/lib/baseBuilder.ts
|
|
1004
|
+
+
|
|
1005
|
+
+create a testeranto test of baseBuilder. Follow the examples given in the docs. Use the types in CoreTypes rigorously
|
|
1006
|
+
|
|
1007
|
+
# 2025-07-15 10:11:32.770369
|
|
1008
|
+
+/read index.md
|
|
1009
|
+
|
|
1010
|
+
# 2025-07-15 10:11:45.046678
|
|
1011
|
+
+/read README.md
|
|
1012
|
+
|
|
1013
|
+
# 2025-07-15 10:11:50.706133
|
|
1014
|
+
+/read docs/index.md
|
|
1015
|
+
+/read src/CoreTypes.ts
|
|
1016
|
+
|
|
1017
|
+
# 2025-07-15 10:11:56.853874
|
|
1018
|
+
+/read docs/index.md src/CoreTypes.ts
|
|
1019
|
+
|
|
1020
|
+
# 2025-07-15 10:12:03.664197
|
|
1021
|
+
+/add src/lib/baseBuilder.ts
|
|
1022
|
+
|
|
1023
|
+
# 2025-07-15 10:12:10.079841
|
|
1024
|
+
+create a testeranto test of baseBuilder. Follow the examples given in the docs. Use the types in CoreTypes rigorously
|
|
1025
|
+
|
|
1026
|
+
# 2025-07-15 10:13:40.986563
|
|
1027
|
+
+y
|
|
1028
|
+
|
|
1029
|
+
# 2025-07-15 10:13:50.487568
|
|
1030
|
+
+n
|
|
1031
|
+
|
|
1032
|
+
# 2025-07-15 10:25:55.680954
|
|
1033
|
+
+BaseBuilder is an abstract class, which cannot be instantiated. Create an implementation of this class to be used only for testing purpose.
|
|
1034
|
+
|
|
1035
|
+
# 2025-07-15 10:26:24.952051
|
|
1036
|
+
+/read src/lib/baseBuilder.test/
|
|
1037
|
+
|
|
1038
|
+
# 2025-07-15 10:26:29.123376
|
|
1039
|
+
+BaseBuilder is an abstract class, which cannot be instantiated. Create an implementation of this class to be used only for testing purpose.
|
|
1040
|
+
|
|
1041
|
+
# 2025-07-15 10:27:21.295368
|
|
1042
|
+
+y
|
|
1043
|
+
|
|
1044
|
+
# 2025-07-15 10:32:53.941367
|
|
1045
|
+
+/Users/adam/Code/testeranto/src/PM/PM_WithEslintAndTsc.ts:231
|
|
1046
|
+
+ this.summary[src].typeErrors = "?";
|
|
1047
|
+
+ ^
|
|
1048
|
+
+
|
|
1049
|
+
+
|
|
1050
|
+
+TypeError: Cannot set properties of undefined (setting 'typeErrors')
|
|
1051
|
+
+ at PM_Main.typeCheckIsRunning (/Users/adam/Code/testeranto/src/PM/PM_WithEslintAndTsc.ts:231:23)
|
|
1052
|
+
+ at PM_Main.tscCheck (/Users/adam/Code/testeranto/src/PM/PM_WithEslintAndTsc.ts:64:10)
|
|
1053
|
+
+ at <anonymous> (/Users/adam/Code/testeranto/src/PM/main.ts:463:16)
|
|
1054
|
+
|
|
1055
|
+
# 2025-07-15 10:33:02.534776
|
|
1056
|
+
+"/Users/adam/Code/testeranto/src/PM/PM_WithEslintAndTsc.ts:231
|
|
1057
|
+
+ this.summary[src].typeErrors = "?";
|
|
1058
|
+
+ ^
|
|
1059
|
+
+
|
|
1060
|
+
+
|
|
1061
|
+
+TypeError: Cannot set properties of undefined (setting 'typeErrors')
|
|
1062
|
+
+ at PM_Main.typeCheckIsRunning (/Users/adam/Code/testeranto/src/PM/PM_WithEslintAndTsc.ts:231:23)
|
|
1063
|
+
+ at PM_Main.tscCheck (/Users/adam/Code/testeranto/src/PM/PM_WithEslintAndTsc.ts:64:10)
|
|
1064
|
+
+ at <anonymous> (/Users/adam/Code/testeranto/src/PM/main.ts:463:16)"
|
|
1065
|
+
|
|
1066
|
+
# 2025-07-15 10:34:43.019926
|
|
1067
|
+
+try again
|
|
1068
|
+
|
|
1069
|
+
# 2025-07-15 10:35:02.940975
|
|
1070
|
+
+try again but don't make changes before i confirm them
|
|
1071
|
+
|
|
1072
|
+
# 2025-07-15 10:37:29.007021
|
|
1073
|
+
+/add src/PM/main.ts dist/module/src/PM/PM_WithEslintAndTsc.js
|
|
1074
|
+
|
|
1075
|
+
# 2025-07-15 10:38:20.281708
|
|
1076
|
+
+/add src/PM/index.ts src/PM/base.ts src/PM/PM_WithEslintAndTsc.ts
|
|
1077
|
+
|
|
1078
|
+
# 2025-07-15 10:38:26.549659
|
|
1079
|
+
+/drop dist
|
|
1080
|
+
|
|
1081
|
+
# 2025-07-15 10:38:52.988067
|
|
1082
|
+
+no change. look at these files and formulate a plan
|
|
1083
|
+
|
|
1084
|
+
# 2025-07-15 10:40:31.666535
|
|
1085
|
+
+yes
|
|
1086
|
+
|
|
1087
|
+
# 2025-07-15 10:43:20.253342
|
|
1088
|
+
+add more comprehensive specifications
|
|
1089
|
+
|
|
1090
|
+
# 2025-07-15 10:55:49.055155
|
|
1091
|
+
+/add docs/index.md
|
|
1092
|
+
+/add README.md
|
|
1093
|
+
+/add src/CoreTypes.ts
|
|
1094
|
+
+
|
|
1095
|
+
+
|
|
1096
|
+
|
|
1097
|
+
# 2025-07-15 10:56:02.736129
|
|
1098
|
+
+/add docs/index.md README.md src/CoreTypes.ts
|
|
1099
|
+
+
|
|
1100
|
+
+
|
|
1101
|
+
|
|
1102
|
+
# 2025-07-15 10:56:14.513648
|
|
1103
|
+
+/add src/lib/
|
|
1104
|
+
|
|
1105
|
+
# 2025-07-15 10:56:26.859359
|
|
1106
|
+
+/drop src/lib/TEST_ADAPTER_RENAME.md
|
|
1107
|
+
|
|
1108
|
+
# 2025-07-15 10:56:53.447310
|
|
1109
|
+
+/drop src/lib/core.ts
|
|
1110
|
+
|
|
1111
|
+
# 2025-07-15 10:57:01.265926
|
|
1112
|
+
+/drop src/lib/pmProxy.ts
|
|
1113
|
+
|
|
1114
|
+
# 2025-07-15 10:57:46.114410
|
|
1115
|
+
+create a testeranto test for `ClassBuilder` . Try to re-use as much code as possible.
|
|
1116
|
+
|
|
1117
|
+
# 2025-07-15 10:59:13.267765
|
|
1118
|
+
+n
|
|
1119
|
+
|
|
1120
|
+
# 2025-07-15 10:59:42.569050
|
|
1121
|
+
+one change: Basebuilder is abstract, you must create a dummy implementation to test against.
|
|
1122
|
+
|
|
1123
|
+
# 2025-07-15 11:00:37.529188
|
|
1124
|
+
+y
|
|
1125
|
+
|
|
1126
|
+
# 2025-07-15 11:01:04.219362
|
|
1127
|
+
+n
|
|
1128
|
+
|
|
1129
|
+
# 2025-07-15 11:02:32.835327
|
|
1130
|
+
+create the rest of the test files
|
|
1131
|
+
|
|
1132
|
+
# 2025-07-15 11:04:13.669194
|
|
1133
|
+
+y
|
|
1134
|
+
|
|
1135
|
+
# 2025-07-15 11:04:22.738122
|
|
1136
|
+
+n
|
|
1137
|
+
|
|
1138
|
+
# 2025-07-15 11:06:05.929640
|
|
1139
|
+
+create classBuilder.test.types and populate it with the types I, O, and M. the other classbuilder test files should use these types
|
|
1140
|
+
|
|
1141
|
+
# 2025-07-15 11:07:17.058023
|
|
1142
|
+
+y
|
|
1143
|
+
|
|
1144
|
+
# 2025-07-15 11:08:27.519231
|
|
1145
|
+
+add some more comprehensive tests
|
|
1146
|
+
|
|
1147
|
+
# 2025-07-15 11:15:20.916901
|
|
1148
|
+
+n
|
|
1149
|
+
|
|
1150
|
+
# 2025-07-15 11:16:01.516683
|
|
1151
|
+
+I have made some alterations to you work. PLease try to understand them and record whatever notes you need to remind you in docs/testing.ai.md
|
|
1152
|
+
|
|
1153
|
+
# 2025-07-15 11:16:09.813924
|
|
1154
|
+
+I have made some alterations to you work. PLease try to understand them and record whatever notes you need to remind you in docs/testing.ai.txt
|
|
1155
|
+
|
|
1156
|
+
# 2025-07-15 11:16:24.287328
|
|
1157
|
+
+/read docs/testing.ai.txt
|
|
1158
|
+
|
|
1159
|
+
# 2025-07-15 11:16:35.805812
|
|
1160
|
+
+I have made some alterations to you work. PLease try to understand them and record whatever notes you need to remind you in docs/testing.ai.txt
|
|
1161
|
+
|
|
1162
|
+
# 2025-07-15 11:17:32.861466
|
|
1163
|
+
+y
|
|
1164
|
+
|
|
1165
|
+
# 2025-07-15 11:42:47.446827
|
|
1166
|
+
+/add src/lib/core.ts
|
|
1167
|
+
|
|
1168
|
+
# 2025-07-15 11:43:55.406815
|
|
1169
|
+
+create a testeranto test of the class in core.ts. Re-use as much code as you can from other tests. You will need to create a concrete implementation to test against, because the test subject is an abstract class.
|
|
1170
|
+
|
|
1171
|
+
# 2025-07-15 11:48:04.809321
|
|
1172
|
+
+y
|
|
1173
|
+
|
|
1174
|
+
# 2025-07-15 11:48:29.144359
|
|
1175
|
+
+n
|
|
1176
|
+
|
|
1177
|
+
# 2025-07-15 11:48:59.730504
|
|
1178
|
+
+this is the shell command to launch tests "yarn run t-build allTests once && yarn run t-run allTests once"
|
|
1179
|
+
|
|
1180
|
+
# 2025-07-15 11:53:44.658545
|
|
1181
|
+
+n
|
|
1182
|
+
|
|
1183
|
+
# 2025-07-15 11:56:26.602409
|
|
1184
|
+
+/add src/lib/pmProxy.ts
|
|
1185
|
+
|
|
1186
|
+
# 2025-07-15 11:56:47.675599
|
|
1187
|
+
+write a testeranto test of the functions in pmProxy
|
|
1188
|
+
|
|
1189
|
+
# 2025-07-15 11:56:53.727422
|
|
1190
|
+
+n
|
|
1191
|
+
|
|
1192
|
+
# 2025-07-15 11:58:56.083859
|
|
1193
|
+
+/read src/lib/pmProxy.ts
|
|
1194
|
+
|
|
1195
|
+
# 2025-07-15 11:59:20.605050
|
|
1196
|
+
+create a testeranto test of the functions in pmProxy
|
|
1197
|
+
|
|
1198
|
+
# 2025-07-15 12:00:48.404968
|
|
1199
|
+
+create a folder called src/lib/pmProxy.test and put all the related files there. then proceed with option 3
|
|
1200
|
+
|
|
1201
|
+
# 2025-07-15 12:02:31.653475
|
|
1202
|
+
+y
|
|
1203
|
+
|
|
1204
|
+
# 2025-07-15 12:02:36.881891
|
|
1205
|
+
+/run mkdir -p src/lib/pmProxy.test
|
|
1206
|
+
|
|
1207
|
+
# 2025-07-15 12:02:36.882097
|
|
1208
|
+
+/run mkdir -p src/lib/pmProxy.test
|
|
1209
|
+
|
|
1210
|
+
# 2025-07-15 12:02:39.685895
|
|
1211
|
+
+y
|
|
1212
|
+
|
|
1213
|
+
# 2025-07-15 12:02:42.632803
|
|
1214
|
+
+n
|
|
1215
|
+
|
|
1216
|
+
# 2025-07-15 12:22:58.866239
|
|
1217
|
+
+/add src/PM/base.ts
|
|
1218
|
+
|
|
1219
|
+
# 2025-07-15 12:23:15.978122
|
|
1220
|
+
+create a mock `implementation` of PM_Base
|
|
1221
|
+
|
|
1222
|
+
# 2025-07-15 12:24:50.288888
|
|
1223
|
+
+y
|
|
1224
|
+
|
|
1225
|
+
# 2025-07-15 12:26:20.288993
|
|
1226
|
+
+/add src/PM/index.ts
|
|
1227
|
+
|
|
1228
|
+
# 2025-07-15 12:26:41.032891
|
|
1229
|
+
+create a mock `implementation` of PM
|
|
1230
|
+
|
|
1231
|
+
# 2025-07-15 12:27:27.124849
|
|
1232
|
+
+don't overwrite the other mock PM. I want implementations of both. Try to re-use code
|
|
1233
|
+
|
|
1234
|
+
# 2025-07-15 12:29:53.541883
|
|
1235
|
+
+y
|
|
1236
|
+
|
|
1237
|
+
# 2025-07-15 13:19:27.107611
|
|
1238
|
+
+stdout > mark2 butThen {
|
|
1239
|
+
+ beforeEachProxy: MockPMBase { calls: {}, testResourceConfiguration: {}, configs: {} }
|
|
1240
|
+
+} async (s) => {
|
|
1241
|
+
+ tLog(" Then!!!:", this.name);
|
|
1242
|
+
+ if (typeof this.thenCB === "function") {
|
|
1243
|
+
+ return await this.thenCB(s);
|
|
1244
|
+
+ } else {
|
|
1245
|
+
+ return this.thenCB;
|
|
1246
|
+
+ }
|
|
1247
|
+
+ }
|
|
1248
|
+
+mark1
|
|
1249
|
+
+undefined undefined undefined
|
|
1250
|
+
+test failed 3 TypeError: Cannot read properties of undefined (reading 'butThenProxy')
|
|
1251
|
+
+ at Then.thenCB (file:///Users/adam/Code/testeranto/testeranto/bundles/node/allTests/src/lib/pmProxy.test/index.mjs:1016:23)
|
|
1252
|
+
+ at file:///Users/adam/Code/testeranto/testeranto/bundles/node/allTests/src/lib/pmProxy.test/index.mjs:335:29
|
|
1253
|
+
+ at Object.butThen (file:///Users/adam/Code/testeranto/testeranto/bundles/node/allTests/src/lib/pmProxy.test/index.mjs:5153:12)
|
|
1254
|
+
+ at Then.butThen (file:///Users/adam/Code/testeranto/testeranto/bundles/node/allTests/src/lib/pmProxy.test/index.mjs:717:42)
|
|
1255
|
+
+ at Then.test (file:///Users/adam/Code/testeranto/testeranto/bundles/node/allTests/src/lib/pmProxy.test/index.mjs:330:17)
|
|
1256
|
+
+ at Given.give (file:///Users/adam/Code/testeranto/testeranto/bundles/node/allTests/src/lib/pmProxy.test/index.mjs:261:34)
|
|
1257
|
+
+ at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
|
|
1258
|
+
+ at async TesterantoCore.constructor.run (file:///Users/adam/Code/testeranto/testeranto/bundles/node/allTests/src/lib/pmProxy.test/index.mjs:621:20)
|
|
1259
|
+
+ at async file:///Users/adam/Code/testeranto/testeranto/bundles/node/allTests/src/lib/pmProxy.test/index.mjs:410:19
|
|
1260
|
+
+ at async Object.receiveTestResourceConfig (file:///Users/adam/Code/testeranto/testeranto/bundles/node/allTests/src/lib/pmProxy.test/index.mjs:438:29)
|
|
1261
|
+
|
|
1262
|
+
# 2025-07-15 13:37:19.816910
|
|
1263
|
+
+/add src/Pure.ts
|
|
1264
|
+
|
|
1265
|
+
# 2025-07-15 13:38:02.793642
|
|
1266
|
+
+create a testeranto test of PureTesteranto. Rigorously apply types and reuse of existing test code.
|
|
1267
|
+
|
|
1268
|
+
# 2025-07-15 13:39:11.592975
|
|
1269
|
+
+y
|
|
1270
|
+
|
|
1271
|
+
# 2025-07-15 13:39:13.822048
|
|
1272
|
+
+n
|
|
1273
|
+
|
|
1274
|
+
# 2025-07-15 13:40:56.647291
|
|
1275
|
+
+create some more comprhensive specifications
|
|
1276
|
+
|
|
1277
|
+
# 2025-07-15 13:43:16.850747
|
|
1278
|
+
+n
|
|
1279
|
+
|
|
1280
|
+
# 2025-07-15 13:43:31.230236
|
|
1281
|
+
+create some more comprhensive specifications for PureTesteranto
|
|
1282
|
+
|
|
1283
|
+
# 2025-07-15 13:45:56.322053
|
|
1284
|
+
+n
|
|
1285
|
+
|
|
1286
|
+
# 2025-07-15 13:46:50.056472
|
|
1287
|
+
+/add src/lib
|
|
1288
|
+
|
|
1289
|
+
# 2025-07-15 13:47:07.639884
|
|
1290
|
+
+/drop src/lib/TEST_ADAPTER_RENAME.md
|
|
1291
|
+
|
|
1292
|
+
# 2025-07-15 13:48:50.253398
|
|
1293
|
+
+Since the tests seem to be up and working, I want you to take a second look at all the tests, and how they interact. Make any changes you think are warranted.
|
|
1294
|
+
|
|
1295
|
+
# 2025-07-15 13:49:26.068699
|
|
1296
|
+
+n
|
|
1297
|
+
|
|
1298
|
+
# 2025-07-15 13:49:50.822421
|
|
1299
|
+
+/add src/lib
|
|
1300
|
+
|
|
1301
|
+
# 2025-07-15 13:50:13.415663
|
|
1302
|
+
+/add src/Pure src/Pure.test.ts
|
|
1303
|
+
|
|
1304
|
+
# 2025-07-15 13:50:16.798014
|
|
1305
|
+
+n
|
|
1306
|
+
|
|
1307
|
+
# 2025-07-15 13:50:22.077390
|
|
1308
|
+
+/add src/Pure.ts src/Pure.test.ts
|
|
1309
|
+
|
|
1310
|
+
# 2025-07-15 13:50:57.461486
|
|
1311
|
+
+I want you to take a final look at all the tests at once. Consider how they interact. Add any specifications you think are warranted.
|
|
1312
|
+
|
|
1313
|
+
# 2025-07-15 13:54:19.829020
|
|
1314
|
+
+create testeranto tests for BaseGiven, BaseWhen and BaseThen. You will need to implement concrete mock to test against for all 3. Integrate these new tests with existing tests.
|
|
1315
|
+
|
|
1316
|
+
# 2025-07-15 13:56:03.250448
|
|
1317
|
+
+y
|
|
1318
|
+
|
|
1319
|
+
# 2025-07-15 13:56:13.753585
|
|
1320
|
+
+n
|
|
1321
|
+
|
|
1322
|
+
# 2025-07-15 14:00:13.455117
|
|
1323
|
+
+Testeranto is now nearly entirely self-tested. 1) Take one more look at the tests 2) Give me you opinion of what we should do next 3) Write down any notes in docs/testing.ai.txt that will help you do better next time
|
|
1324
|
+
|
|
1325
|
+
# 2025-07-15 14:00:55.318659
|
|
1326
|
+
+y
|
|
1327
|
+
|
|
1328
|
+
# 2025-07-15 14:06:29.045555
|
|
1329
|
+
+Write me blog post describing our latest work. It should appeal to other programmers, web developers and AI enthusiats. I want you to "hype up" the project- I want other to be excited to try testeranto for themselves. Make sure to leave kudos to the maker of Aider, without which this would not have been possible. Emphasize that 1) testeranto is now self-testing 2) The benfits of testeranto's BDD interface 3) the benifits of testerantos bundling process- esbuild produces a bundle and ametafile, which contains a list of the files which were included in the bundling, which means that you can fit all the relevant files, and only the relevant files, into an LLMs context. Emphasis the value proposition of testeranto- tests that write themselves and which fit into an LLMs context. The latest version of testeranto is 0.143.0
|
|
1330
|
+
|
|
1331
|
+
# 2025-07-15 14:07:23.788565
|
|
1332
|
+
+n
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
aider --load docs/testing.prompt.txt --message-file docs/testing.message.txt
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Testeranto Testing Patterns
|
|
2
|
+
|
|
3
|
+
## Key Learnings From Self-Testing
|
|
4
|
+
|
|
5
|
+
1. Test Organization Insights:
|
|
6
|
+
- Mock implementations proved essential for testing abstract base classes
|
|
7
|
+
- Type parameters (I/O/M) need careful documentation for test writers
|
|
8
|
+
- Integration tests revealed subtle proxy chain issues
|
|
9
|
+
|
|
10
|
+
2. Effective Patterns:
|
|
11
|
+
- Builder tests validate both construction and runtime behavior
|
|
12
|
+
- Proxy tests verify path rewriting and content preservation
|
|
13
|
+
- Error tests check both expected and unexpected cases
|
|
14
|
+
- Lifecycle tests cover full BDD sequence
|
|
15
|
+
|
|
16
|
+
3. Improvement Opportunities:
|
|
17
|
+
- Need more test utilities for common scenarios
|
|
18
|
+
- Could add test generation from type definitions
|
|
19
|
+
- Should document common test pitfalls
|
|
20
|
+
- Would benefit from more example test suites
|
|
21
|
+
|
|
22
|
+
## Core Testing Principles
|
|
23
|
+
|
|
24
|
+
1. Tests follow BDD structure with Given/When/Then
|
|
25
|
+
2. All tests are strongly typed using I/O/M types
|
|
26
|
+
3. Test files are organized in a consistent structure:
|
|
27
|
+
/src
|
|
28
|
+
TEST_SUBJECT.ts
|
|
29
|
+
TEST_SUBJECT.test/
|
|
30
|
+
implementation.ts - Concrete test operations
|
|
31
|
+
specification.ts - Test scenarios and assertions
|
|
32
|
+
interface.ts - Test lifecycle hooks
|
|
33
|
+
types.ts - Type definitions
|
|
34
|
+
index.ts - Main test export
|
|
35
|
+
|
|
36
|
+
## Key Testing Patterns Observed
|
|
37
|
+
|
|
38
|
+
1. Builder Testing:
|
|
39
|
+
- TestBaseBuilder provides core test infrastructure
|
|
40
|
+
- TestClassBuilder extends it for class-based testing
|
|
41
|
+
- Both use similar test patterns:
|
|
42
|
+
* Initialization validation
|
|
43
|
+
* Spec generation checks
|
|
44
|
+
* Job creation verification
|
|
45
|
+
* Artifact tracking
|
|
46
|
+
* Resource requirement validation
|
|
47
|
+
|
|
48
|
+
2. Comprehensive Test Cases:
|
|
49
|
+
- Basic functionality tests
|
|
50
|
+
- Custom input scenarios
|
|
51
|
+
- Resource configuration
|
|
52
|
+
- Dynamic modification
|
|
53
|
+
- Error handling
|
|
54
|
+
- Full test run verification
|
|
55
|
+
|
|
56
|
+
3. Type Safety:
|
|
57
|
+
- Ibdd_in defines internal test flow
|
|
58
|
+
- Ibdd_out defines external interface
|
|
59
|
+
- M type for specification modifications
|
|
60
|
+
|
|
61
|
+
## Implementation Notes
|
|
62
|
+
|
|
63
|
+
1. Test builders follow this pattern:
|
|
64
|
+
- Create concrete test implementation
|
|
65
|
+
- Define test specification with scenarios
|
|
66
|
+
- Implement test interface hooks
|
|
67
|
+
- Export via Testeranto runner
|
|
68
|
+
|
|
69
|
+
2. Key test assertions:
|
|
70
|
+
- Verify proper initialization
|
|
71
|
+
- Check spec generation
|
|
72
|
+
- Validate job creation
|
|
73
|
+
- Track artifacts
|
|
74
|
+
- Confirm resource setup
|
|
75
|
+
|
|
76
|
+
3. Error handling:
|
|
77
|
+
- Explicit error type checks
|
|
78
|
+
- Expected error messages
|
|
79
|
+
- Async error propagation
|
|
80
|
+
|
|
81
|
+
## Best Practices
|
|
82
|
+
|
|
83
|
+
1. For each test:
|
|
84
|
+
- Document test purpose in specification
|
|
85
|
+
- Keep implementations focused
|
|
86
|
+
- Use descriptive type names
|
|
87
|
+
- Include positive and negative cases
|
|
88
|
+
|
|
89
|
+
2. Test organization:
|
|
90
|
+
- Group related tests in suites
|
|
91
|
+
- Separate concerns in different files
|
|
92
|
+
- Reuse common test patterns
|
|
93
|
+
- Keep test files small and focused
|
|
94
|
+
|
|
95
|
+
3. Maintenance:
|
|
96
|
+
- Update docs when patterns change
|
|
97
|
+
- Review test types when interfaces change
|
|
98
|
+
- Verify all test cases after refactors
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "testeranto",
|
|
3
3
|
"description": "the AI powered BDD test framework for typescript projects",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.143.0",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": "18.18.0"
|
|
7
7
|
},
|
|
@@ -128,8 +128,8 @@
|
|
|
128
128
|
"build-types": "tsc -p tsconfig.types.json",
|
|
129
129
|
"type-check": "yarn tsc --noEmit > tsc.log",
|
|
130
130
|
"type-fix": "aider --model deepseek/deepseek-chat --load type-fix.txt",
|
|
131
|
-
"t-build": "tsx
|
|
132
|
-
"t-run": "tsx
|
|
131
|
+
"t-build": "tsx src/build.ts",
|
|
132
|
+
"t-run": "tsx src/run.ts",
|
|
133
133
|
"t-init": "tsx dist/prebuild/init-docs.mjs",
|
|
134
134
|
"t-report": "tsx dist/prebuild/ReportServer.mjs",
|
|
135
135
|
"build-docs": "node scripts/compile-docs.js"
|
|
@@ -30,23 +30,13 @@ export abstract class PM_WithEslintAndTsc extends PM_Base {
|
|
|
30
30
|
|
|
31
31
|
this.name = name;
|
|
32
32
|
this.mode = mode;
|
|
33
|
+
this.summary = {};
|
|
33
34
|
|
|
35
|
+
// Initialize all test entries first
|
|
34
36
|
this.configs.tests.forEach(([t, rt, tr, sidecars]) => {
|
|
35
|
-
this.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
staticErrors: "?",
|
|
39
|
-
prompt: "?",
|
|
40
|
-
failingFeatures: {},
|
|
41
|
-
};
|
|
42
|
-
sidecars.forEach(([t]) => {
|
|
43
|
-
this.summary[t] = {
|
|
44
|
-
// runTimeError: "?",
|
|
45
|
-
typeErrors: "?",
|
|
46
|
-
staticErrors: "?",
|
|
47
|
-
// prompt: "?",
|
|
48
|
-
// failingFeatures: {},
|
|
49
|
-
};
|
|
37
|
+
this.ensureSummaryEntry(t);
|
|
38
|
+
sidecars.forEach(([sidecarName]) => {
|
|
39
|
+
this.ensureSummaryEntry(sidecarName, true);
|
|
50
40
|
});
|
|
51
41
|
});
|
|
52
42
|
}
|
|
@@ -227,34 +217,58 @@ ${addableFiles
|
|
|
227
217
|
this.checkForShutdown();
|
|
228
218
|
};
|
|
229
219
|
|
|
220
|
+
private ensureSummaryEntry(src: string, isSidecar = false) {
|
|
221
|
+
if (!this.summary[src]) {
|
|
222
|
+
this.summary[src] = {
|
|
223
|
+
typeErrors: "?",
|
|
224
|
+
staticErrors: "?",
|
|
225
|
+
runTimeError: "?",
|
|
226
|
+
prompt: "?",
|
|
227
|
+
failingFeatures: {}
|
|
228
|
+
};
|
|
229
|
+
if (isSidecar) {
|
|
230
|
+
// Sidecars don't need all fields
|
|
231
|
+
delete this.summary[src].runTimeError;
|
|
232
|
+
delete this.summary[src].prompt;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
return this.summary[src];
|
|
236
|
+
}
|
|
237
|
+
|
|
230
238
|
typeCheckIsRunning = (src: string) => {
|
|
231
|
-
this.
|
|
239
|
+
const entry = this.ensureSummaryEntry(src);
|
|
240
|
+
entry.typeErrors = "?";
|
|
232
241
|
};
|
|
233
242
|
|
|
234
243
|
typeCheckIsNowDone = (src: string, failures: number) => {
|
|
235
|
-
this.
|
|
244
|
+
const entry = this.ensureSummaryEntry(src);
|
|
245
|
+
entry.typeErrors = failures;
|
|
236
246
|
this.writeBigBoard();
|
|
237
247
|
this.checkForShutdown();
|
|
238
248
|
};
|
|
239
249
|
|
|
240
250
|
lintIsRunning = (src: string) => {
|
|
241
|
-
this.
|
|
251
|
+
const entry = this.ensureSummaryEntry(src);
|
|
252
|
+
entry.staticErrors = "?";
|
|
242
253
|
this.writeBigBoard();
|
|
243
254
|
};
|
|
244
255
|
|
|
245
256
|
lintIsNowDone = (src: string, failures: number) => {
|
|
246
|
-
this.
|
|
257
|
+
const entry = this.ensureSummaryEntry(src);
|
|
258
|
+
entry.staticErrors = failures;
|
|
247
259
|
this.writeBigBoard();
|
|
248
260
|
this.checkForShutdown();
|
|
249
261
|
};
|
|
250
262
|
|
|
251
263
|
bddTestIsRunning = (src: string) => {
|
|
252
|
-
this.
|
|
264
|
+
const entry = this.ensureSummaryEntry(src);
|
|
265
|
+
entry.runTimeError = "?";
|
|
253
266
|
this.writeBigBoard();
|
|
254
267
|
};
|
|
255
268
|
|
|
256
269
|
bddTestIsNowDone = (src: string, failures: number) => {
|
|
257
|
-
this.
|
|
270
|
+
const entry = this.ensureSummaryEntry(src);
|
|
271
|
+
entry.runTimeError = failures;
|
|
258
272
|
this.writeBigBoard();
|
|
259
273
|
this.checkForShutdown();
|
|
260
274
|
};
|