@testsmith/testblocks 0.9.4 → 0.9.7

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.
Files changed (300) hide show
  1. package/dist/cli/index.js +4 -1
  2. package/dist/client/assets/index-B8OSvcUg.css +1 -0
  3. package/dist/client/assets/index-CMMJHs_d.js +2197 -0
  4. package/dist/client/assets/index-CMMJHs_d.js.map +1 -0
  5. package/dist/client/index.html +2 -2
  6. package/dist/core/blocks/api/ApiAssertBodyContainsBlock.d.ts +13 -0
  7. package/dist/core/blocks/api/ApiAssertBodyContainsBlock.js +40 -0
  8. package/dist/core/blocks/api/ApiAssertStatusBlock.d.ts +13 -0
  9. package/dist/core/blocks/api/ApiAssertStatusBlock.js +35 -0
  10. package/dist/core/blocks/api/ApiClearHeadersBlock.d.ts +13 -0
  11. package/dist/core/blocks/api/ApiClearHeadersBlock.js +25 -0
  12. package/dist/core/blocks/api/ApiDeleteBlock.d.ts +13 -0
  13. package/dist/core/blocks/api/ApiDeleteBlock.js +37 -0
  14. package/dist/core/blocks/api/ApiExtractBlock.d.ts +14 -0
  15. package/dist/core/blocks/api/ApiExtractBlock.js +40 -0
  16. package/dist/core/blocks/api/ApiExtractJsonPathBlock.d.ts +13 -0
  17. package/dist/core/blocks/api/ApiExtractJsonPathBlock.js +47 -0
  18. package/dist/core/blocks/api/ApiExtractXPathBlock.d.ts +13 -0
  19. package/dist/core/blocks/api/ApiExtractXPathBlock.js +70 -0
  20. package/dist/core/blocks/api/ApiGetBlock.d.ts +13 -0
  21. package/dist/core/blocks/api/ApiGetBlock.js +36 -0
  22. package/dist/core/blocks/api/ApiHeadersBlock.d.ts +14 -0
  23. package/dist/core/blocks/api/ApiHeadersBlock.js +44 -0
  24. package/dist/core/blocks/api/ApiJsonBodyBlock.d.ts +14 -0
  25. package/dist/core/blocks/api/ApiJsonBodyBlock.js +28 -0
  26. package/dist/core/blocks/api/ApiPatchBlock.d.ts +13 -0
  27. package/dist/core/blocks/api/ApiPatchBlock.js +47 -0
  28. package/dist/core/blocks/api/ApiPostBlock.d.ts +13 -0
  29. package/dist/core/blocks/api/ApiPostBlock.js +47 -0
  30. package/dist/core/blocks/api/ApiPutBlock.d.ts +13 -0
  31. package/dist/core/blocks/api/ApiPutBlock.js +47 -0
  32. package/dist/core/blocks/api/ApiSetHeaderBlock.d.ts +13 -0
  33. package/dist/core/blocks/api/ApiSetHeaderBlock.js +37 -0
  34. package/dist/core/blocks/api/ApiSetHeadersBlock.d.ts +13 -0
  35. package/dist/core/blocks/api/ApiSetHeadersBlock.js +41 -0
  36. package/dist/core/blocks/api/index.d.ts +25 -0
  37. package/dist/core/blocks/api/index.js +83 -0
  38. package/dist/core/blocks/base/Block.d.ts +59 -0
  39. package/dist/core/blocks/base/Block.js +151 -0
  40. package/dist/core/blocks/base/ContainerBlock.d.ts +14 -0
  41. package/dist/core/blocks/base/ContainerBlock.js +16 -0
  42. package/dist/core/blocks/base/ControlFlowBlock.d.ts +13 -0
  43. package/dist/core/blocks/base/ControlFlowBlock.js +17 -0
  44. package/dist/core/blocks/base/StatementBlock.d.ts +9 -0
  45. package/dist/core/blocks/base/StatementBlock.js +16 -0
  46. package/dist/core/blocks/base/ValueBlock.d.ts +12 -0
  47. package/dist/core/blocks/base/ValueBlock.js +16 -0
  48. package/dist/core/blocks/base/index.d.ts +5 -0
  49. package/dist/core/blocks/base/index.js +13 -0
  50. package/dist/core/blocks/data/DataCsvBlock.d.ts +14 -0
  51. package/dist/core/blocks/data/DataCsvBlock.js +51 -0
  52. package/dist/core/blocks/data/DataDefineBlock.d.ts +14 -0
  53. package/dist/core/blocks/data/DataDefineBlock.js +28 -0
  54. package/dist/core/blocks/data/DataForeachBlock.d.ts +13 -0
  55. package/dist/core/blocks/data/DataForeachBlock.js +37 -0
  56. package/dist/core/blocks/data/DataFromVariableBlock.d.ts +14 -0
  57. package/dist/core/blocks/data/DataFromVariableBlock.js +27 -0
  58. package/dist/core/blocks/data/DataGetCurrentBlock.d.ts +14 -0
  59. package/dist/core/blocks/data/DataGetCurrentBlock.js +34 -0
  60. package/dist/core/blocks/data/DataGetIndexBlock.d.ts +14 -0
  61. package/dist/core/blocks/data/DataGetIndexBlock.js +24 -0
  62. package/dist/core/blocks/data/DataGetNameBlock.d.ts +14 -0
  63. package/dist/core/blocks/data/DataGetNameBlock.js +24 -0
  64. package/dist/core/blocks/data/DataRangeBlock.d.ts +14 -0
  65. package/dist/core/blocks/data/DataRangeBlock.js +40 -0
  66. package/dist/core/blocks/data/DataRowBlock.d.ts +14 -0
  67. package/dist/core/blocks/data/DataRowBlock.js +33 -0
  68. package/dist/core/blocks/data/DataTableBlock.d.ts +14 -0
  69. package/dist/core/blocks/data/DataTableBlock.js +51 -0
  70. package/dist/core/blocks/data/index.d.ts +20 -0
  71. package/dist/core/blocks/data/index.js +57 -0
  72. package/dist/core/blocks/index.d.ts +66 -5
  73. package/dist/core/blocks/index.js +134 -35
  74. package/dist/core/blocks/lifecycle/LifecycleAfterAllBlock.d.ts +15 -0
  75. package/dist/core/blocks/lifecycle/LifecycleAfterAllBlock.js +27 -0
  76. package/dist/core/blocks/lifecycle/LifecycleAfterEachBlock.d.ts +15 -0
  77. package/dist/core/blocks/lifecycle/LifecycleAfterEachBlock.js +27 -0
  78. package/dist/core/blocks/lifecycle/LifecycleBeforeAllBlock.d.ts +15 -0
  79. package/dist/core/blocks/lifecycle/LifecycleBeforeAllBlock.js +28 -0
  80. package/dist/core/blocks/lifecycle/LifecycleBeforeEachBlock.d.ts +15 -0
  81. package/dist/core/blocks/lifecycle/LifecycleBeforeEachBlock.js +27 -0
  82. package/dist/core/blocks/lifecycle/LifecycleOnFailureBlock.d.ts +13 -0
  83. package/dist/core/blocks/lifecycle/LifecycleOnFailureBlock.js +25 -0
  84. package/dist/core/blocks/lifecycle/LifecycleRetryBlock.d.ts +13 -0
  85. package/dist/core/blocks/lifecycle/LifecycleRetryBlock.js +29 -0
  86. package/dist/core/blocks/lifecycle/LifecycleSetupBlock.d.ts +13 -0
  87. package/dist/core/blocks/lifecycle/LifecycleSetupBlock.js +27 -0
  88. package/dist/core/blocks/lifecycle/LifecycleSkipIfBlock.d.ts +13 -0
  89. package/dist/core/blocks/lifecycle/LifecycleSkipIfBlock.js +31 -0
  90. package/dist/core/blocks/lifecycle/LifecycleTeardownBlock.d.ts +13 -0
  91. package/dist/core/blocks/lifecycle/LifecycleTeardownBlock.js +27 -0
  92. package/dist/core/blocks/lifecycle/TestCaseBlock.d.ts +21 -0
  93. package/dist/core/blocks/lifecycle/TestCaseBlock.js +72 -0
  94. package/dist/core/blocks/lifecycle/TestCaseDataDrivenBlock.d.ts +21 -0
  95. package/dist/core/blocks/lifecycle/TestCaseDataDrivenBlock.js +102 -0
  96. package/dist/core/blocks/lifecycle/index.d.ts +21 -0
  97. package/dist/core/blocks/lifecycle/index.js +63 -0
  98. package/dist/core/blocks/logic/LogicArrayBlock.d.ts +14 -0
  99. package/dist/core/blocks/logic/LogicArrayBlock.js +28 -0
  100. package/dist/core/blocks/logic/LogicAssertBlock.d.ts +13 -0
  101. package/dist/core/blocks/logic/LogicAssertBlock.js +32 -0
  102. package/dist/core/blocks/logic/LogicBooleanBlock.d.ts +14 -0
  103. package/dist/core/blocks/logic/LogicBooleanBlock.js +26 -0
  104. package/dist/core/blocks/logic/LogicBooleanOpBlock.d.ts +14 -0
  105. package/dist/core/blocks/logic/LogicBooleanOpBlock.js +31 -0
  106. package/dist/core/blocks/logic/LogicCommentBlock.d.ts +13 -0
  107. package/dist/core/blocks/logic/LogicCommentBlock.js +26 -0
  108. package/dist/core/blocks/logic/LogicCompareBlock.d.ts +14 -0
  109. package/dist/core/blocks/logic/LogicCompareBlock.js +52 -0
  110. package/dist/core/blocks/logic/LogicFailBlock.d.ts +16 -0
  111. package/dist/core/blocks/logic/LogicFailBlock.js +30 -0
  112. package/dist/core/blocks/logic/LogicForeachBlock.d.ts +13 -0
  113. package/dist/core/blocks/logic/LogicForeachBlock.js +29 -0
  114. package/dist/core/blocks/logic/LogicGetVariableBlock.d.ts +14 -0
  115. package/dist/core/blocks/logic/LogicGetVariableBlock.js +27 -0
  116. package/dist/core/blocks/logic/LogicIfBlock.d.ts +13 -0
  117. package/dist/core/blocks/logic/LogicIfBlock.js +36 -0
  118. package/dist/core/blocks/logic/LogicLogBlock.d.ts +13 -0
  119. package/dist/core/blocks/logic/LogicLogBlock.js +30 -0
  120. package/dist/core/blocks/logic/LogicNotBlock.d.ts +14 -0
  121. package/dist/core/blocks/logic/LogicNotBlock.js +26 -0
  122. package/dist/core/blocks/logic/LogicNumberBlock.d.ts +14 -0
  123. package/dist/core/blocks/logic/LogicNumberBlock.js +26 -0
  124. package/dist/core/blocks/logic/LogicObjectBlock.d.ts +14 -0
  125. package/dist/core/blocks/logic/LogicObjectBlock.js +28 -0
  126. package/dist/core/blocks/logic/LogicRepeatBlock.d.ts +13 -0
  127. package/dist/core/blocks/logic/LogicRepeatBlock.js +27 -0
  128. package/dist/core/blocks/logic/LogicSetVariableBlock.d.ts +13 -0
  129. package/dist/core/blocks/logic/LogicSetVariableBlock.js +34 -0
  130. package/dist/core/blocks/logic/LogicTextBlock.d.ts +14 -0
  131. package/dist/core/blocks/logic/LogicTextBlock.js +27 -0
  132. package/dist/core/blocks/logic/LogicTryCatchBlock.d.ts +13 -0
  133. package/dist/core/blocks/logic/LogicTryCatchBlock.js +26 -0
  134. package/dist/core/blocks/logic/index.d.ts +28 -0
  135. package/dist/core/blocks/logic/index.js +95 -0
  136. package/dist/core/blocks/playwright/assertions/WebAssertAccessibleDescriptionBlock.d.ts +13 -0
  137. package/dist/core/blocks/playwright/assertions/WebAssertAccessibleDescriptionBlock.js +41 -0
  138. package/dist/core/blocks/playwright/assertions/WebAssertAccessibleNameBlock.d.ts +13 -0
  139. package/dist/core/blocks/playwright/assertions/WebAssertAccessibleNameBlock.js +41 -0
  140. package/dist/core/blocks/playwright/assertions/WebAssertAttachedBlock.d.ts +13 -0
  141. package/dist/core/blocks/playwright/assertions/WebAssertAttachedBlock.js +39 -0
  142. package/dist/core/blocks/playwright/assertions/WebAssertAttributeBlock.d.ts +13 -0
  143. package/dist/core/blocks/playwright/assertions/WebAssertAttributeBlock.js +44 -0
  144. package/dist/core/blocks/playwright/assertions/WebAssertCheckedBlock.d.ts +13 -0
  145. package/dist/core/blocks/playwright/assertions/WebAssertCheckedBlock.js +48 -0
  146. package/dist/core/blocks/playwright/assertions/WebAssertClassBlock.d.ts +13 -0
  147. package/dist/core/blocks/playwright/assertions/WebAssertClassBlock.js +43 -0
  148. package/dist/core/blocks/playwright/assertions/WebAssertCountBlock.d.ts +13 -0
  149. package/dist/core/blocks/playwright/assertions/WebAssertCountBlock.js +41 -0
  150. package/dist/core/blocks/playwright/assertions/WebAssertCssBlock.d.ts +13 -0
  151. package/dist/core/blocks/playwright/assertions/WebAssertCssBlock.js +44 -0
  152. package/dist/core/blocks/playwright/assertions/WebAssertDisabledBlock.d.ts +13 -0
  153. package/dist/core/blocks/playwright/assertions/WebAssertDisabledBlock.js +39 -0
  154. package/dist/core/blocks/playwright/assertions/WebAssertEditableBlock.d.ts +13 -0
  155. package/dist/core/blocks/playwright/assertions/WebAssertEditableBlock.js +39 -0
  156. package/dist/core/blocks/playwright/assertions/WebAssertEmptyBlock.d.ts +13 -0
  157. package/dist/core/blocks/playwright/assertions/WebAssertEmptyBlock.js +39 -0
  158. package/dist/core/blocks/playwright/assertions/WebAssertEnabledBlock.d.ts +13 -0
  159. package/dist/core/blocks/playwright/assertions/WebAssertEnabledBlock.js +39 -0
  160. package/dist/core/blocks/playwright/assertions/WebAssertFocusedBlock.d.ts +13 -0
  161. package/dist/core/blocks/playwright/assertions/WebAssertFocusedBlock.js +39 -0
  162. package/dist/core/blocks/playwright/assertions/WebAssertIdBlock.d.ts +13 -0
  163. package/dist/core/blocks/playwright/assertions/WebAssertIdBlock.js +41 -0
  164. package/dist/core/blocks/playwright/assertions/WebAssertInViewportBlock.d.ts +13 -0
  165. package/dist/core/blocks/playwright/assertions/WebAssertInViewportBlock.js +39 -0
  166. package/dist/core/blocks/playwright/assertions/WebAssertNotVisibleBlock.d.ts +13 -0
  167. package/dist/core/blocks/playwright/assertions/WebAssertNotVisibleBlock.js +39 -0
  168. package/dist/core/blocks/playwright/assertions/WebAssertRoleBlock.d.ts +13 -0
  169. package/dist/core/blocks/playwright/assertions/WebAssertRoleBlock.js +69 -0
  170. package/dist/core/blocks/playwright/assertions/WebAssertTextContainsBlock.d.ts +13 -0
  171. package/dist/core/blocks/playwright/assertions/WebAssertTextContainsBlock.js +41 -0
  172. package/dist/core/blocks/playwright/assertions/WebAssertTextEqualsBlock.d.ts +13 -0
  173. package/dist/core/blocks/playwright/assertions/WebAssertTextEqualsBlock.js +41 -0
  174. package/dist/core/blocks/playwright/assertions/WebAssertTitleContainsBlock.d.ts +13 -0
  175. package/dist/core/blocks/playwright/assertions/WebAssertTitleContainsBlock.js +39 -0
  176. package/dist/core/blocks/playwright/assertions/WebAssertTitleEqualsBlock.d.ts +13 -0
  177. package/dist/core/blocks/playwright/assertions/WebAssertTitleEqualsBlock.js +36 -0
  178. package/dist/core/blocks/playwright/assertions/WebAssertUrlContainsBlock.d.ts +13 -0
  179. package/dist/core/blocks/playwright/assertions/WebAssertUrlContainsBlock.js +40 -0
  180. package/dist/core/blocks/playwright/assertions/WebAssertUrlEqualsBlock.d.ts +13 -0
  181. package/dist/core/blocks/playwright/assertions/WebAssertUrlEqualsBlock.js +37 -0
  182. package/dist/core/blocks/playwright/assertions/WebAssertValueBlock.d.ts +13 -0
  183. package/dist/core/blocks/playwright/assertions/WebAssertValueBlock.js +43 -0
  184. package/dist/core/blocks/playwright/assertions/WebAssertValueContainsBlock.d.ts +13 -0
  185. package/dist/core/blocks/playwright/assertions/WebAssertValueContainsBlock.js +43 -0
  186. package/dist/core/blocks/playwright/assertions/WebAssertVisibleBlock.d.ts +13 -0
  187. package/dist/core/blocks/playwright/assertions/WebAssertVisibleBlock.js +39 -0
  188. package/dist/core/blocks/playwright/assertions/index.d.ts +36 -0
  189. package/dist/core/blocks/playwright/assertions/index.js +127 -0
  190. package/dist/core/blocks/playwright/index.d.ts +16 -0
  191. package/dist/core/blocks/playwright/index.js +28 -3
  192. package/dist/core/blocks/playwright/interactions/WebCheckboxBlock.d.ts +13 -0
  193. package/dist/core/blocks/playwright/interactions/WebCheckboxBlock.js +43 -0
  194. package/dist/core/blocks/playwright/interactions/WebClickBlock.d.ts +13 -0
  195. package/dist/core/blocks/playwright/interactions/WebClickBlock.js +34 -0
  196. package/dist/core/blocks/playwright/interactions/WebDragAndDropBlock.d.ts +13 -0
  197. package/dist/core/blocks/playwright/interactions/WebDragAndDropBlock.js +37 -0
  198. package/dist/core/blocks/playwright/interactions/WebFillBlock.d.ts +13 -0
  199. package/dist/core/blocks/playwright/interactions/WebFillBlock.js +38 -0
  200. package/dist/core/blocks/playwright/interactions/WebFocusBlock.d.ts +13 -0
  201. package/dist/core/blocks/playwright/interactions/WebFocusBlock.js +34 -0
  202. package/dist/core/blocks/playwright/interactions/WebHoverBlock.d.ts +13 -0
  203. package/dist/core/blocks/playwright/interactions/WebHoverBlock.js +34 -0
  204. package/dist/core/blocks/playwright/interactions/WebPressKeyBlock.d.ts +13 -0
  205. package/dist/core/blocks/playwright/interactions/WebPressKeyBlock.js +37 -0
  206. package/dist/core/blocks/playwright/interactions/WebScrollIntoViewBlock.d.ts +13 -0
  207. package/dist/core/blocks/playwright/interactions/WebScrollIntoViewBlock.js +34 -0
  208. package/dist/core/blocks/playwright/interactions/WebSelectBlock.d.ts +13 -0
  209. package/dist/core/blocks/playwright/interactions/WebSelectBlock.js +37 -0
  210. package/dist/core/blocks/playwright/interactions/WebTypeBlock.d.ts +13 -0
  211. package/dist/core/blocks/playwright/interactions/WebTypeBlock.js +41 -0
  212. package/dist/core/blocks/playwright/interactions/WebUploadFileBlock.d.ts +13 -0
  213. package/dist/core/blocks/playwright/interactions/WebUploadFileBlock.js +39 -0
  214. package/dist/core/blocks/playwright/interactions/index.d.ts +21 -0
  215. package/dist/core/blocks/playwright/interactions/index.js +56 -0
  216. package/dist/core/blocks/playwright/navigation/WebNavigateBlock.d.ts +13 -0
  217. package/dist/core/blocks/playwright/navigation/WebNavigateBlock.js +36 -0
  218. package/dist/core/blocks/playwright/navigation/WebScreenshotBlock.d.ts +13 -0
  219. package/dist/core/blocks/playwright/navigation/WebScreenshotBlock.js +36 -0
  220. package/dist/core/blocks/playwright/navigation/WebWaitBlock.d.ts +13 -0
  221. package/dist/core/blocks/playwright/navigation/WebWaitBlock.js +32 -0
  222. package/dist/core/blocks/playwright/navigation/WebWaitForElementBlock.d.ts +13 -0
  223. package/dist/core/blocks/playwright/navigation/WebWaitForElementBlock.js +37 -0
  224. package/dist/core/blocks/playwright/navigation/WebWaitForUrlBlock.d.ts +13 -0
  225. package/dist/core/blocks/playwright/navigation/WebWaitForUrlBlock.js +34 -0
  226. package/dist/core/blocks/playwright/navigation/index.d.ts +15 -0
  227. package/dist/core/blocks/playwright/navigation/index.js +32 -0
  228. package/dist/core/blocks/playwright/retrieval/WebCountElementsBlock.d.ts +16 -0
  229. package/dist/core/blocks/playwright/retrieval/WebCountElementsBlock.js +36 -0
  230. package/dist/core/blocks/playwright/retrieval/WebGetAttributeBlock.d.ts +16 -0
  231. package/dist/core/blocks/playwright/retrieval/WebGetAttributeBlock.js +42 -0
  232. package/dist/core/blocks/playwright/retrieval/WebGetInputValueBlock.d.ts +16 -0
  233. package/dist/core/blocks/playwright/retrieval/WebGetInputValueBlock.js +40 -0
  234. package/dist/core/blocks/playwright/retrieval/WebGetTextBlock.d.ts +16 -0
  235. package/dist/core/blocks/playwright/retrieval/WebGetTextBlock.js +40 -0
  236. package/dist/core/blocks/playwright/retrieval/WebGetTitleBlock.d.ts +16 -0
  237. package/dist/core/blocks/playwright/retrieval/WebGetTitleBlock.js +31 -0
  238. package/dist/core/blocks/playwright/retrieval/WebGetUrlBlock.d.ts +16 -0
  239. package/dist/core/blocks/playwright/retrieval/WebGetUrlBlock.js +31 -0
  240. package/dist/core/blocks/playwright/retrieval/index.d.ts +16 -0
  241. package/dist/core/blocks/playwright/retrieval/index.js +36 -0
  242. package/dist/core/blocks/playwright/types.d.ts +14 -0
  243. package/dist/core/blocks/procedures/ProcedureCallBlock.d.ts +13 -0
  244. package/dist/core/blocks/procedures/ProcedureCallBlock.js +66 -0
  245. package/dist/core/blocks/procedures/ProcedureCallWithReturnBlock.d.ts +14 -0
  246. package/dist/core/blocks/procedures/ProcedureCallWithReturnBlock.js +51 -0
  247. package/dist/core/blocks/procedures/ProcedureDefineBlock.d.ts +15 -0
  248. package/dist/core/blocks/procedures/ProcedureDefineBlock.js +59 -0
  249. package/dist/core/blocks/procedures/ProcedureFillFormBlock.d.ts +13 -0
  250. package/dist/core/blocks/procedures/ProcedureFillFormBlock.js +30 -0
  251. package/dist/core/blocks/procedures/ProcedureGetParamBlock.d.ts +14 -0
  252. package/dist/core/blocks/procedures/ProcedureGetParamBlock.js +33 -0
  253. package/dist/core/blocks/procedures/ProcedureInlineBlock.d.ts +14 -0
  254. package/dist/core/blocks/procedures/ProcedureInlineBlock.js +31 -0
  255. package/dist/core/blocks/procedures/ProcedureLoginBlock.d.ts +13 -0
  256. package/dist/core/blocks/procedures/ProcedureLoginBlock.js +37 -0
  257. package/dist/core/blocks/procedures/ProcedureMapBlock.d.ts +14 -0
  258. package/dist/core/blocks/procedures/ProcedureMapBlock.js +36 -0
  259. package/dist/core/blocks/procedures/ProcedureReturnBlock.d.ts +15 -0
  260. package/dist/core/blocks/procedures/ProcedureReturnBlock.js +28 -0
  261. package/dist/core/blocks/procedures/ProcedureWaitAndClickBlock.d.ts +13 -0
  262. package/dist/core/blocks/procedures/ProcedureWaitAndClickBlock.js +32 -0
  263. package/dist/core/blocks/procedures/index.d.ts +21 -0
  264. package/dist/core/blocks/procedures/index.js +62 -0
  265. package/dist/core/blocks/{procedures.d.ts → procedures/procedureRegistry.d.ts} +10 -2
  266. package/dist/core/blocks/procedures/procedureRegistry.js +27 -0
  267. package/dist/core/blocks/utils/apiUtils.d.ts +81 -0
  268. package/dist/core/blocks/utils/apiUtils.js +176 -0
  269. package/dist/core/blocks/utils/index.d.ts +2 -0
  270. package/dist/core/blocks/utils/index.js +16 -0
  271. package/dist/core/blocks/utils/variableUtils.d.ts +19 -0
  272. package/dist/core/blocks/utils/variableUtils.js +69 -0
  273. package/dist/server/index.js +117 -11
  274. package/dist/server/openApiParser.d.ts +82 -0
  275. package/dist/server/openApiParser.js +495 -0
  276. package/dist/server/startServer.d.ts +1 -0
  277. package/dist/server/startServer.js +164 -0
  278. package/package.json +4 -2
  279. package/dist/client/assets/index-BLBBQ6Rn.js +0 -2195
  280. package/dist/client/assets/index-BLBBQ6Rn.js.map +0 -1
  281. package/dist/client/assets/index-qjoPPl9y.css +0 -1
  282. package/dist/core/blocks/api.d.ts +0 -2
  283. package/dist/core/blocks/api.js +0 -607
  284. package/dist/core/blocks/data-driven.d.ts +0 -2
  285. package/dist/core/blocks/data-driven.js +0 -245
  286. package/dist/core/blocks/lifecycle.d.ts +0 -2
  287. package/dist/core/blocks/lifecycle.js +0 -201
  288. package/dist/core/blocks/logic.d.ts +0 -2
  289. package/dist/core/blocks/logic.js +0 -360
  290. package/dist/core/blocks/playwright/assertions.d.ts +0 -5
  291. package/dist/core/blocks/playwright/assertions.js +0 -311
  292. package/dist/core/blocks/playwright/interactions.d.ts +0 -5
  293. package/dist/core/blocks/playwright/interactions.js +0 -208
  294. package/dist/core/blocks/playwright/navigation.d.ts +0 -5
  295. package/dist/core/blocks/playwright/navigation.js +0 -131
  296. package/dist/core/blocks/playwright/retrieval.d.ts +0 -5
  297. package/dist/core/blocks/playwright/retrieval.js +0 -153
  298. package/dist/core/blocks/playwright.d.ts +0 -13
  299. package/dist/core/blocks/playwright.js +0 -17
  300. package/dist/core/blocks/procedures.js +0 -321
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertEnabledBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that an element is enabled (auto-waits).
8
+ */
9
+ class WebAssertEnabledBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_enabled';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that an element is enabled (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ ];
21
+ }
22
+ async execute(params, context) {
23
+ const page = context.page;
24
+ const selector = (0, utils_1.resolveSelector)(params, context);
25
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
26
+ const timeout = (0, utils_1.getTimeout)(context);
27
+ const expect = await (0, utils_1.getExpect)();
28
+ const locator = page.locator(selector);
29
+ context.logger.info(`Asserting ${displaySelector} is enabled`);
30
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(locator).toBeEnabled({ timeout }); }, `Expected element ${displaySelector} to be enabled`, { stepType: 'web_assert_enabled', expected: 'enabled', actual: 'disabled' });
31
+ context.logger.info(`✓ Element ${displaySelector} is enabled`);
32
+ return {
33
+ _summary: `${displaySelector} is enabled`,
34
+ selector,
35
+ isEnabled: true,
36
+ };
37
+ }
38
+ }
39
+ exports.WebAssertEnabledBlock = WebAssertEnabledBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that an element is focused (auto-waits).
5
+ */
6
+ export declare class WebAssertFocusedBlock extends StatementBlock {
7
+ readonly type = "web_assert_focused";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that an element is focused (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertFocusedBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that an element is focused (auto-waits).
8
+ */
9
+ class WebAssertFocusedBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_focused';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that an element is focused (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ ];
21
+ }
22
+ async execute(params, context) {
23
+ const page = context.page;
24
+ const selector = (0, utils_1.resolveSelector)(params, context);
25
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
26
+ const timeout = (0, utils_1.getTimeout)(context);
27
+ const expect = await (0, utils_1.getExpect)();
28
+ const locator = page.locator(selector);
29
+ context.logger.info(`Asserting ${displaySelector} is focused`);
30
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(locator).toBeFocused({ timeout }); }, `Expected element ${displaySelector} to be focused`, { stepType: 'web_assert_focused', expected: 'focused', actual: 'not focused' });
31
+ context.logger.info(`✓ Element ${displaySelector} is focused`);
32
+ return {
33
+ _summary: `${displaySelector} is focused`,
34
+ selector,
35
+ isFocused: true,
36
+ };
37
+ }
38
+ }
39
+ exports.WebAssertFocusedBlock = WebAssertFocusedBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that an element has a specific ID (auto-waits).
5
+ */
6
+ export declare class WebAssertIdBlock extends StatementBlock {
7
+ readonly type = "web_assert_id";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that an element has a specific ID (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertIdBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that an element has a specific ID (auto-waits).
8
+ */
9
+ class WebAssertIdBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_id';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that an element has a specific ID (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ { name: 'ID', type: 'field', fieldType: 'text', required: true },
21
+ ];
22
+ }
23
+ async execute(params, context) {
24
+ const page = context.page;
25
+ const selector = (0, utils_1.resolveSelector)(params, context);
26
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
27
+ const expectedId = (0, utils_1.resolveVariables)(params.ID, context);
28
+ const timeout = (0, utils_1.getTimeout)(context);
29
+ const expect = await (0, utils_1.getExpect)();
30
+ const locator = page.locator(selector);
31
+ context.logger.info(`Asserting ${displaySelector} has ID "${expectedId}"`);
32
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(locator).toHaveId(expectedId, { timeout }); }, `Expected element ${displaySelector} to have ID "${expectedId}"`, { stepType: 'web_assert_id', expected: expectedId });
33
+ context.logger.info(`✓ Element ${displaySelector} has ID "${expectedId}"`);
34
+ return {
35
+ _summary: `id="${expectedId}"`,
36
+ selector,
37
+ expectedId,
38
+ };
39
+ }
40
+ }
41
+ exports.WebAssertIdBlock = WebAssertIdBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that an element is in the viewport (auto-waits).
5
+ */
6
+ export declare class WebAssertInViewportBlock extends StatementBlock {
7
+ readonly type = "web_assert_in_viewport";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that an element is in the viewport (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertInViewportBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that an element is in the viewport (auto-waits).
8
+ */
9
+ class WebAssertInViewportBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_in_viewport';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that an element is in the viewport (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ ];
21
+ }
22
+ async execute(params, context) {
23
+ const page = context.page;
24
+ const selector = (0, utils_1.resolveSelector)(params, context);
25
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
26
+ const timeout = (0, utils_1.getTimeout)(context);
27
+ const expect = await (0, utils_1.getExpect)();
28
+ const locator = page.locator(selector);
29
+ context.logger.info(`Asserting ${displaySelector} is in viewport`);
30
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(locator).toBeInViewport({ timeout }); }, `Expected element ${displaySelector} to be in viewport`, { stepType: 'web_assert_in_viewport', expected: 'in viewport', actual: 'not in viewport' });
31
+ context.logger.info(`✓ Element ${displaySelector} is in viewport`);
32
+ return {
33
+ _summary: `${displaySelector} is in viewport`,
34
+ selector,
35
+ isInViewport: true,
36
+ };
37
+ }
38
+ }
39
+ exports.WebAssertInViewportBlock = WebAssertInViewportBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that an element is not visible (auto-waits).
5
+ */
6
+ export declare class WebAssertNotVisibleBlock extends StatementBlock {
7
+ readonly type = "web_assert_not_visible";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that an element is not visible (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertNotVisibleBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that an element is not visible (auto-waits).
8
+ */
9
+ class WebAssertNotVisibleBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_not_visible';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that an element is not visible (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ ];
21
+ }
22
+ async execute(params, context) {
23
+ const page = context.page;
24
+ const selector = (0, utils_1.resolveSelector)(params, context);
25
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
26
+ const timeout = (0, utils_1.getTimeout)(context);
27
+ const expect = await (0, utils_1.getExpect)();
28
+ const locator = page.locator(selector);
29
+ context.logger.info(`Asserting ${displaySelector} is not visible`);
30
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(locator).toBeHidden({ timeout }); }, `Expected element ${displaySelector} to be hidden`, { stepType: 'web_assert_not_visible', expected: 'hidden', actual: 'visible' });
31
+ context.logger.info(`✓ Element ${displaySelector} is not visible`);
32
+ return {
33
+ _summary: `${displaySelector} is not visible`,
34
+ selector,
35
+ isVisible: false,
36
+ };
37
+ }
38
+ }
39
+ exports.WebAssertNotVisibleBlock = WebAssertNotVisibleBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that an element has a specific ARIA role (auto-waits).
5
+ */
6
+ export declare class WebAssertRoleBlock extends StatementBlock {
7
+ readonly type = "web_assert_role";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that an element has a specific ARIA role (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertRoleBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that an element has a specific ARIA role (auto-waits).
8
+ */
9
+ class WebAssertRoleBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_role';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that an element has a specific ARIA role (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ { name: 'ROLE', type: 'field', fieldType: 'dropdown', required: true, options: [
21
+ ['Button', 'button'],
22
+ ['Checkbox', 'checkbox'],
23
+ ['Combobox', 'combobox'],
24
+ ['Dialog', 'dialog'],
25
+ ['Grid', 'grid'],
26
+ ['Heading', 'heading'],
27
+ ['Link', 'link'],
28
+ ['List', 'list'],
29
+ ['Listbox', 'listbox'],
30
+ ['Listitem', 'listitem'],
31
+ ['Menu', 'menu'],
32
+ ['Menuitem', 'menuitem'],
33
+ ['Navigation', 'navigation'],
34
+ ['Option', 'option'],
35
+ ['Radio', 'radio'],
36
+ ['Region', 'region'],
37
+ ['Row', 'row'],
38
+ ['Searchbox', 'searchbox'],
39
+ ['Slider', 'slider'],
40
+ ['Spinbutton', 'spinbutton'],
41
+ ['Switch', 'switch'],
42
+ ['Tab', 'tab'],
43
+ ['Tablist', 'tablist'],
44
+ ['Tabpanel', 'tabpanel'],
45
+ ['Textbox', 'textbox'],
46
+ ['Tree', 'tree'],
47
+ ['Treeitem', 'treeitem'],
48
+ ] },
49
+ ];
50
+ }
51
+ async execute(params, context) {
52
+ const page = context.page;
53
+ const selector = (0, utils_1.resolveSelector)(params, context);
54
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
55
+ const expectedRole = params.ROLE;
56
+ const timeout = (0, utils_1.getTimeout)(context);
57
+ const expect = await (0, utils_1.getExpect)();
58
+ const locator = page.locator(selector);
59
+ context.logger.info(`Asserting ${displaySelector} has role "${expectedRole}"`);
60
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(locator).toHaveRole(expectedRole, { timeout }); }, `Expected element ${displaySelector} to have role "${expectedRole}"`, { stepType: 'web_assert_role', expected: expectedRole });
61
+ context.logger.info(`✓ Element ${displaySelector} has role "${expectedRole}"`);
62
+ return {
63
+ _summary: `role="${expectedRole}"`,
64
+ selector,
65
+ expectedRole,
66
+ };
67
+ }
68
+ }
69
+ exports.WebAssertRoleBlock = WebAssertRoleBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that element text contains expected value (auto-waits).
5
+ */
6
+ export declare class WebAssertTextContainsBlock extends StatementBlock {
7
+ readonly type = "web_assert_text_contains";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that element text contains expected value (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertTextContainsBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that element text contains expected value (auto-waits).
8
+ */
9
+ class WebAssertTextContainsBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_text_contains';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that element text contains expected value (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ { name: 'TEXT', type: 'field', fieldType: 'text', required: true },
21
+ ];
22
+ }
23
+ async execute(params, context) {
24
+ const page = context.page;
25
+ const selector = (0, utils_1.resolveSelector)(params, context);
26
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
27
+ const expectedText = (0, utils_1.resolveVariables)(params.TEXT, context);
28
+ const timeout = (0, utils_1.getTimeout)(context);
29
+ const expect = await (0, utils_1.getExpect)();
30
+ const locator = page.locator(selector);
31
+ context.logger.info(`Asserting ${displaySelector} contains "${expectedText}"`);
32
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(locator).toContainText(expectedText, { timeout }); }, `Expected element ${displaySelector} to contain text "${expectedText}"`, { stepType: 'web_assert_text_contains', expected: expectedText });
33
+ context.logger.info(`✓ Element ${displaySelector} contains text "${expectedText}"`);
34
+ return {
35
+ _summary: `"${expectedText}" found`,
36
+ selector,
37
+ expectedText,
38
+ };
39
+ }
40
+ }
41
+ exports.WebAssertTextContainsBlock = WebAssertTextContainsBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that element text equals expected value (auto-waits).
5
+ */
6
+ export declare class WebAssertTextEqualsBlock extends StatementBlock {
7
+ readonly type = "web_assert_text_equals";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that element text equals expected value (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertTextEqualsBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that element text equals expected value (auto-waits).
8
+ */
9
+ class WebAssertTextEqualsBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_text_equals';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that element text equals expected value (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'SELECTOR', type: 'field', fieldType: 'text', required: true },
20
+ { name: 'TEXT', type: 'field', fieldType: 'text', required: true },
21
+ ];
22
+ }
23
+ async execute(params, context) {
24
+ const page = context.page;
25
+ const selector = (0, utils_1.resolveSelector)(params, context);
26
+ const displaySelector = (0, utils_1.getDisplaySelector)(params, context);
27
+ const expectedText = (0, utils_1.resolveVariables)(params.TEXT, context);
28
+ const timeout = (0, utils_1.getTimeout)(context);
29
+ const expect = await (0, utils_1.getExpect)();
30
+ const locator = page.locator(selector);
31
+ context.logger.info(`Asserting ${displaySelector} text equals "${expectedText}"`);
32
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(locator).toHaveText(expectedText, { timeout }); }, `Expected element ${displaySelector} text to equal "${expectedText}"`, { stepType: 'web_assert_text_equals', expected: expectedText });
33
+ context.logger.info(`✓ Element ${displaySelector} text equals "${expectedText}"`);
34
+ return {
35
+ _summary: `"${expectedText}" matches`,
36
+ selector,
37
+ expectedText,
38
+ };
39
+ }
40
+ }
41
+ exports.WebAssertTextEqualsBlock = WebAssertTextEqualsBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that page title contains expected value (auto-waits).
5
+ */
6
+ export declare class WebAssertTitleContainsBlock extends StatementBlock {
7
+ readonly type = "web_assert_title_contains";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that page title contains expected value (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertTitleContainsBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that page title contains expected value (auto-waits).
8
+ */
9
+ class WebAssertTitleContainsBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_title_contains';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that page title contains expected value (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'TEXT', type: 'field', fieldType: 'text', required: true },
20
+ ];
21
+ }
22
+ async execute(params, context) {
23
+ const page = context.page;
24
+ const expectedText = (0, utils_1.resolveVariables)(params.TEXT, context);
25
+ const timeout = (0, utils_1.getTimeout)(context);
26
+ const expect = await (0, utils_1.getExpect)();
27
+ // Escape special regex characters and create a regex pattern
28
+ const escapedText = expectedText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
29
+ const titlePattern = new RegExp(escapedText);
30
+ context.logger.info(`Asserting title contains "${expectedText}"`);
31
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(page).toHaveTitle(titlePattern, { timeout }); }, `Expected title to contain "${expectedText}"`, { stepType: 'web_assert_title_contains', expected: expectedText });
32
+ context.logger.info(`✓ Title contains "${expectedText}"`);
33
+ return {
34
+ _summary: `"${expectedText}" in title`,
35
+ expectedText,
36
+ };
37
+ }
38
+ }
39
+ exports.WebAssertTitleContainsBlock = WebAssertTitleContainsBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that the page title equals an expected value (auto-waits).
5
+ */
6
+ export declare class WebAssertTitleEqualsBlock extends StatementBlock {
7
+ readonly type = "web_assert_title_equals";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that the page title equals an expected value (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertTitleEqualsBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that the page title equals an expected value (auto-waits).
8
+ */
9
+ class WebAssertTitleEqualsBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_title_equals';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that the page title equals an expected value (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'TITLE', type: 'field', fieldType: 'text', required: true },
20
+ ];
21
+ }
22
+ async execute(params, context) {
23
+ const page = context.page;
24
+ const expectedTitle = (0, utils_1.resolveVariables)(params.TITLE, context);
25
+ const timeout = (0, utils_1.getTimeout)(context);
26
+ const expect = await (0, utils_1.getExpect)();
27
+ context.logger.info(`Asserting title equals "${expectedTitle}"`);
28
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(page).toHaveTitle(expectedTitle, { timeout }); }, `Expected title to equal "${expectedTitle}"`, { stepType: 'web_assert_title_equals', expected: expectedTitle });
29
+ context.logger.info(`✓ Title equals "${expectedTitle}"`);
30
+ return {
31
+ _summary: `"${expectedTitle}"`,
32
+ expectedTitle,
33
+ };
34
+ }
35
+ }
36
+ exports.WebAssertTitleEqualsBlock = WebAssertTitleEqualsBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that current URL contains expected value (auto-waits).
5
+ */
6
+ export declare class WebAssertUrlContainsBlock extends StatementBlock {
7
+ readonly type = "web_assert_url_contains";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that current URL contains expected value (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebAssertUrlContainsBlock = void 0;
4
+ const base_1 = require("../../base");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Assert that current URL contains expected value (auto-waits).
8
+ */
9
+ class WebAssertUrlContainsBlock extends base_1.StatementBlock {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.type = 'web_assert_url_contains';
13
+ this.category = 'Web';
14
+ this.color = '#FF9800';
15
+ this.tooltip = 'Assert that current URL contains expected value (auto-waits)';
16
+ }
17
+ getInputs() {
18
+ return [
19
+ { name: 'TEXT', type: 'field', fieldType: 'text', required: true },
20
+ ];
21
+ }
22
+ async execute(params, context) {
23
+ const page = context.page;
24
+ const expectedText = (0, utils_1.resolveVariables)(params.TEXT, context);
25
+ const timeout = (0, utils_1.getTimeout)(context);
26
+ const expect = await (0, utils_1.getExpect)();
27
+ // Escape special regex characters and create a regex pattern
28
+ const escapedText = expectedText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
29
+ const urlPattern = new RegExp(escapedText);
30
+ context.logger.info(`Asserting URL contains "${expectedText}"`);
31
+ await (0, utils_1.executeWebAssertion)(context, async () => { await expect(page).toHaveURL(urlPattern, { timeout }); }, `Expected URL to contain "${expectedText}"`, { stepType: 'web_assert_url_contains', expected: expectedText, actual: page.url() });
32
+ context.logger.info(`✓ URL contains "${expectedText}"`);
33
+ return {
34
+ _summary: `"${expectedText}" in URL`,
35
+ expectedText,
36
+ actualUrl: page.url(),
37
+ };
38
+ }
39
+ }
40
+ exports.WebAssertUrlContainsBlock = WebAssertUrlContainsBlock;
@@ -0,0 +1,13 @@
1
+ import { StatementBlock } from '../../base';
2
+ import { BlockInput, ExecutionContext } from '../../../types';
3
+ /**
4
+ * Assert that the page URL equals an expected value (auto-waits).
5
+ */
6
+ export declare class WebAssertUrlEqualsBlock extends StatementBlock {
7
+ readonly type = "web_assert_url_equals";
8
+ readonly category = "Web";
9
+ readonly color = "#FF9800";
10
+ readonly tooltip = "Assert that the page URL equals an expected value (auto-waits)";
11
+ getInputs(): BlockInput[];
12
+ execute(params: Record<string, unknown>, context: ExecutionContext): Promise<unknown>;
13
+ }