graphdb-workbench-tests 3.4.0-TR4 → 3.4.0-TR5

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 (365) hide show
  1. package/.editorconfig +17 -0
  2. package/.nycrc +10 -0
  3. package/cypress-flaky.config.js +20 -6
  4. package/cypress-legacy.config.js +47 -0
  5. package/cypress-security.config.js +36 -0
  6. package/cypress.config.js +45 -6
  7. package/{integration-flaky → e2e-flaky}/explore/visual.graph.spec.js +4 -1
  8. package/{integration-flaky → e2e-flaky}/import/import-server-files-operations.spec.js +2 -2
  9. package/{integration-flaky → e2e-flaky}/import/import-user-data-batch-operations.spec.js +3 -3
  10. package/e2e-flaky/import/import-user-data-url.spec.js +63 -0
  11. package/{integration-flaky → e2e-flaky}/setup/sparql-template-create.js +10 -18
  12. package/{integration-flaky → e2e-flaky}/sparql-editor/actions/execute-update-query.spec.js +2 -12
  13. package/{integration-flaky → e2e-flaky}/sparql-editor/actions/share-query.spec.js +1 -7
  14. package/{integration-flaky → e2e-flaky}/sparql-editor/yasr/table-plugin.spec.js +3 -7
  15. package/{integration → e2e-legacy}/cluster/cluster-states.spec.js +3 -3
  16. package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository-without-class-hierarchy.spec.js +42 -0
  17. package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository.spec.js +43 -0
  18. package/e2e-legacy/explore/class-hierarchy/class-hierarchy-without-selected-repository.spec.js +30 -0
  19. package/{integration/explore → e2e-legacy/explore/class-hierarchy}/class.hierarchy.spec.js +1 -1
  20. package/e2e-legacy/explore/class-relationships/class-relationships-repository-with-data.spec.js +42 -0
  21. package/e2e-legacy/explore/class-relationships/class-relationships-with-selected-repository.spec.js +39 -0
  22. package/e2e-legacy/explore/class-relationships/class-relationships-without-selected-repository.spec.js +21 -0
  23. package/{integration/explore/class.relationships.spec.js → e2e-legacy/explore/class-relationships/class-relationships.spec.js} +20 -50
  24. package/{integration/explore → e2e-legacy/explore/graphs-overview}/graphs.overview.spec.js +4 -4
  25. package/e2e-legacy/explore/graphs-overview/initial-state/graphs-overview-with-selected-repository.spec.js +44 -0
  26. package/e2e-legacy/explore/graphs-overview/initial-state/graphs-overview-without-selected-repository.spec.js +32 -0
  27. package/e2e-legacy/explore/similarity-index/similarity-index-with-repository.spec.js +38 -0
  28. package/e2e-legacy/explore/similarity-index/similarity-index-without-repository.spec.js +21 -0
  29. package/{integration → e2e-legacy}/explore/visual-graph/graphs-config.spec.js +5 -10
  30. package/e2e-legacy/explore/visual-graph/node-info-panel.spec.js +58 -0
  31. package/e2e-legacy/explore/visual-graph/visual-graph-links-limit.spec.js +142 -0
  32. package/{integration → e2e-legacy}/explore/visual-graph/visual-graph-node-labels.spec.js +14 -2
  33. package/e2e-legacy/explore/visual-graph/visual-graph-with-selected-repository.js +38 -0
  34. package/e2e-legacy/explore/visual-graph/visual-graph-without-selected-repository.js +21 -0
  35. package/{integration → e2e-legacy}/explore/visual-graph/visual.graph.spec.js +75 -96
  36. package/{integration → e2e-legacy}/graphql/create-graphql-endpoint.spec.js +0 -2
  37. package/{integration → e2e-legacy}/graphql/edit-graphql-enpoint.spec.js +1 -1
  38. package/{integration → e2e-legacy}/graphql/filter-graphql-endpoints-on-management-view.spec.js +1 -1
  39. package/{integration → e2e-legacy}/graphql/graphql-endpoint-management-view.spec.js +4 -4
  40. package/e2e-legacy/graphql/graphql-endpoint-management-with-endpoints.spec.js +43 -0
  41. package/e2e-legacy/graphql/graphql-endpoint-management-with-selected-repository.spec.js +39 -0
  42. package/e2e-legacy/graphql/graphql-endpoint-management-without-selected-repository.spec.js +21 -0
  43. package/e2e-legacy/graphql/graphql-playground-with-endpoints.spec.js +40 -0
  44. package/e2e-legacy/graphql/graphql-playground-with-selected-repository.spec.js +38 -0
  45. package/e2e-legacy/graphql/graphql-playground-without-selected-repository.spec.js +22 -0
  46. package/{integration → e2e-legacy}/graphql/graphql-playground.spec.js +1 -1
  47. package/e2e-legacy/graphql/graphql-theme.spec.js +73 -0
  48. package/{integration → e2e-legacy}/graphql/import-graphql-endpoint-definitions.spec.js +0 -6
  49. package/e2e-legacy/guides/autocomplete/enable-autocomplete-guide.spec.js +49 -0
  50. package/e2e-legacy/guides/class-hierarcy/class-hierarchy-guide.spec.js +89 -0
  51. package/e2e-legacy/guides/class-relations/class-relations-guide.spec.js +76 -0
  52. package/e2e-legacy/guides/connectors/connectors-guide.spec.js +163 -0
  53. package/e2e-legacy/guides/create-similarity-index/create-similarity-index-guide.spec.js +74 -0
  54. package/e2e-legacy/guides/download-guide-resource/download-guide-resource-guide.js +55 -0
  55. package/e2e-legacy/guides/execute-sparql-query/execute-sparql-query-guide.spec.js +92 -0
  56. package/e2e-legacy/guides/import-rdf-file/confirm-duplicate-rdf-file.spec.js +63 -0
  57. package/e2e-legacy/guides/import-rdf-file/import-rdf-file.spec.js +105 -0
  58. package/e2e-legacy/guides/main-menu/main-menu-guide.spec.js +302 -0
  59. package/e2e-legacy/guides/navigation/navigation-guide.spec.js +64 -0
  60. package/e2e-legacy/guides/rdf-rank/rdf-rank-guide.spec.js +42 -0
  61. package/e2e-legacy/guides/repositories/create-repository-guide.spec.js +69 -0
  62. package/e2e-legacy/guides/table-graph-explore/table-graph-explore-guide.spec.js +168 -0
  63. package/e2e-legacy/guides/ttyg/configure-agent/configure-agent-guide.spec.js +158 -0
  64. package/e2e-legacy/guides/ttyg/conversation/ttyg-conversation-guide.spec.js +92 -0
  65. package/e2e-legacy/guides/ttyg/edit-agent/edit-ttyg-agent-guide.spec.js +88 -0
  66. package/e2e-legacy/guides/visual-graph/visual-graph-guide.spec.js +372 -0
  67. package/e2e-legacy/guides/welcome/welcome-guide.spec.js +36 -0
  68. package/e2e-legacy/help/guides/guides-autostart.spec.js +126 -0
  69. package/e2e-legacy/help/guides/guides-confirm-cancel-dialog.js +83 -0
  70. package/e2e-legacy/help/guides/guides-with-repository.spec.js +32 -0
  71. package/e2e-legacy/help/guides/guides-without-repository.spec.js +20 -0
  72. package/e2e-legacy/help/guides/movies-interactive-guide.spec.js +71 -0
  73. package/{integration/guides/star-wars-interactive-guide.js → e2e-legacy/help/guides/star-wars-interactive-guide.spec.js} +3 -2
  74. package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-with-repository.spec.js +32 -0
  75. package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-without-repository.spec.js +20 -0
  76. package/e2e-legacy/help/system-information/system-information-with-repository.spec.js +32 -0
  77. package/e2e-legacy/help/system-information/system-information-without-repository.spec.js +20 -0
  78. package/e2e-legacy/home/cookie-policy/cookie-policy.spec.js +182 -0
  79. package/e2e-legacy/home/documentation-link.spec.js +41 -0
  80. package/{integration → e2e-legacy}/home/google-analytics.spec.js +4 -6
  81. package/e2e-legacy/home/home-page-with-selected-repository.spec.js +69 -0
  82. package/e2e-legacy/home/home-page-without-repositories.spec.js +87 -0
  83. package/e2e-legacy/home/home-page-without-selected-repository.spec.js +59 -0
  84. package/{integration → e2e-legacy}/home/language-change.spec.js +2 -2
  85. package/e2e-legacy/home/rdf-resource-search.spec.js +160 -0
  86. package/e2e-legacy/home/view-resource-autocomplete.spec.js +65 -0
  87. package/{integration → e2e-legacy}/import/import-server-files.spec.js +5 -3
  88. package/{integration → e2e-legacy}/import/import-user-data-file-upload.spec.js +19 -13
  89. package/{integration → e2e-legacy}/import/import-user-data-text-snippet.spec.js +0 -2
  90. package/{integration → e2e-legacy}/import/import-user-data-url.spec.js +0 -23
  91. package/{integration → e2e-legacy}/import/import-user-data.spec.js +11 -4
  92. package/e2e-legacy/import/initial-state/import-page-with-selected-repositor.js +51 -0
  93. package/e2e-legacy/import/initial-state/import-page-with-selected-repository-without-imported-files.js +45 -0
  94. package/e2e-legacy/import/initial-state/import-page-without-selected-repository.spec.js +28 -0
  95. package/e2e-legacy/license/license-with-repository.spec.js +113 -0
  96. package/e2e-legacy/license/license-without-repository.spec.js +103 -0
  97. package/{integration → e2e-legacy}/license/license.spec.js +4 -4
  98. package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-with-repository.spec.js +36 -0
  99. package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-without-repository.spec.js +25 -0
  100. package/{integration/monitor/monitor.backup-and-restore.spec.js → e2e-legacy/monitor/backup-and-restore/backup-and-restore.spec.js} +2 -2
  101. package/{integration → e2e-legacy}/monitor/global-operation-statuses-component.spec.js +12 -5
  102. package/e2e-legacy/monitor/query-and-updates/queries-and-updates-with-repository.spec.js +39 -0
  103. package/e2e-legacy/monitor/query-and-updates/queries-and-updates-without-repository.spec.js +21 -0
  104. package/{integration/monitor → e2e-legacy/monitor/system}/monitor.resources.spec.js +3 -2
  105. package/e2e-legacy/monitor/system/system-monitoring-with-repository.spec.js +32 -0
  106. package/e2e-legacy/monitor/system/system-monitoring-without-repository.spec.js +20 -0
  107. package/e2e-legacy/not-found/not-found.spec.js +23 -0
  108. package/{integration → e2e-legacy}/repository/ontop-repository.spec.js +1 -1
  109. package/{integration → e2e-legacy}/repository/repositories.spec.js +37 -45
  110. package/e2e-legacy/repository/url-with-repository-id-parameter.spec.js +181 -0
  111. package/{integration → e2e-legacy}/resource/resource.spec.js +50 -20
  112. package/e2e-legacy/setup/aclmanagement/acl-management-with-selected repository.spec.js +84 -0
  113. package/e2e-legacy/setup/aclmanagement/acl-management-without-repositories.spec.js +21 -0
  114. package/{integration → e2e-legacy}/setup/aclmanagement/create-rule.spec.js +4 -0
  115. package/e2e-legacy/setup/autocomplete/autocomplete-with-repository.spec.js +40 -0
  116. package/e2e-legacy/setup/autocomplete/autocomplete-without-repository.spec.js +27 -0
  117. package/{integration/setup → e2e-legacy/setup/autocomplete}/autocomplete.spec.js +6 -7
  118. package/e2e-legacy/setup/cluster/cluster-initial-state-with-cluster.spec.js +34 -0
  119. package/e2e-legacy/setup/cluster/cluster-initial-state-without-cluster.spec.js +25 -0
  120. package/e2e-legacy/setup/connectors/connectors-initial-state-with-selected-repository.spec.js +41 -0
  121. package/e2e-legacy/setup/connectors/connectors-initial-state-without-repositories.spec.js +21 -0
  122. package/{integration → e2e-legacy}/setup/connectors-lucene.spec.js +26 -10
  123. package/{integration → e2e-legacy}/setup/jdbc/jdbc-create.spec.js +4 -4
  124. package/e2e-legacy/setup/jdbc/jdbc-with-repository.spec.js +39 -0
  125. package/e2e-legacy/setup/jdbc/jdbc-without-repository.spec.js +27 -0
  126. package/e2e-legacy/setup/namespaces/namespaces-with-repository.spec.js +44 -0
  127. package/e2e-legacy/setup/namespaces/namespaces-without-repository.spec.js +27 -0
  128. package/{integration/setup → e2e-legacy/setup/namespaces}/namespaces.spec.js +6 -5
  129. package/e2e-legacy/setup/plugins/plugins-with-repository.spec.js +38 -0
  130. package/e2e-legacy/setup/plugins/plugins-without-repository.spec.js +28 -0
  131. package/{integration/setup → e2e-legacy/setup/plugins}/plugins.spec.js +3 -3
  132. package/e2e-legacy/setup/rdf-rank/rdf-rank-with-repository.spec.js +40 -0
  133. package/e2e-legacy/setup/rdf-rank/rdf-rank-without-repository.spec.js +30 -0
  134. package/{integration/setup → e2e-legacy/setup/rdf-rank}/rdf-rank.spec.js +3 -5
  135. package/e2e-legacy/setup/repositories/repositories-view-with-repositories.spec.js +40 -0
  136. package/e2e-legacy/setup/repositories/repositories-view-without-repositories.spec.js +28 -0
  137. package/e2e-legacy/setup/settings/my-settings-initial-state.spec.js +86 -0
  138. package/e2e-legacy/setup/settings/my-settings.spec.js +207 -0
  139. package/{integration/setup/sparql-template-create.js → e2e-legacy/setup/sparql-template/sparql-template-create.spec.js} +16 -8
  140. package/e2e-legacy/setup/sparql-template/sparql-template-with-repository.spec.js +39 -0
  141. package/e2e-legacy/setup/sparql-template/sparql-template-without-repository.spec.js +29 -0
  142. package/{integration/setup → e2e-legacy/setup/sparql-template}/sparql-templates.spec.js +4 -4
  143. package/{integration/setup → e2e-legacy/setup/users-and-access}/user-and-access.spec.js +184 -87
  144. package/e2e-legacy/setup/users-and-access/users-and-access-initial-state.spec.js +25 -0
  145. package/{integration → e2e-legacy}/sparql-editor/actions/expand-results-over-sameas.spec.js +12 -12
  146. package/{integration → e2e-legacy}/sparql-editor/actions/include-inferred-statements.spec.js +6 -6
  147. package/{integration → e2e-legacy}/sparql-editor/actions/inferred-sameas.spec.js +10 -8
  148. package/{integration → e2e-legacy}/sparql-editor/actions/show-saved-queries.spec.js +1 -6
  149. package/{integration → e2e-legacy}/sparql-editor/saved-query/abort-query.spec.js +1 -1
  150. package/{integration → e2e-legacy}/sparql-editor/saved-query/edit-query.spec.js +3 -3
  151. package/{integration → e2e-legacy}/sparql-editor/saved-query/readonly-query.spec.js +15 -24
  152. package/{integration → e2e-legacy}/sparql-editor/saved-query/share-query.spec.js +32 -1
  153. package/e2e-legacy/sparql-editor/sparql-page-with-selected-repository.spec.js +33 -0
  154. package/e2e-legacy/sparql-editor/sparql-page-without-selected-repository.spec.js +26 -0
  155. package/{integration → e2e-legacy}/sparql-editor/yasgui-tabs.spec.js +2 -12
  156. package/e2e-legacy/sparql-editor/yasqe-themes.spec.js +54 -0
  157. package/{integration → e2e-legacy}/sparql-editor/yasr/pagination.spec.js +5 -18
  158. package/{integration → e2e-legacy}/sparql-editor/yasr/table-plugin.spec.js +1 -6
  159. package/e2e-legacy/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +106 -0
  160. package/e2e-legacy/sparql-editor/yasr/yasr.spec.js +80 -0
  161. package/{integration → e2e-legacy}/ttyg/agent-list.spec.js +53 -2
  162. package/{integration → e2e-legacy}/ttyg/agent-select-menu.spec.js +25 -2
  163. package/{integration → e2e-legacy}/ttyg/chat-list.spec.js +3 -14
  164. package/{integration → e2e-legacy}/ttyg/chat-panel.spec.js +74 -6
  165. package/{integration → e2e-legacy}/ttyg/clone-agent.spec.js +24 -2
  166. package/{integration → e2e-legacy}/ttyg/create-agent.spec.js +37 -66
  167. package/{integration → e2e-legacy}/ttyg/create-chat.spec.js +6 -4
  168. package/{integration → e2e-legacy}/ttyg/delete-agent.spec.js +1 -2
  169. package/e2e-legacy/ttyg/edit-agent.spec.js +178 -0
  170. package/e2e-legacy/ttyg/ttyg-initial-state-with-configured-api-key.spec.js +46 -0
  171. package/e2e-legacy/ttyg/ttyg-initial-state-with-selected-repository.spec.js +45 -0
  172. package/e2e-legacy/ttyg/ttyg-initial-state-without-repositories.spec.js +21 -0
  173. package/{integration-flaky → e2e-legacy}/ttyg/ttyg-permission.spec.js +23 -17
  174. package/{integration → e2e-legacy}/ttyg/ttyg-view.spec.js +2 -2
  175. package/e2e-security/repository/url-with-repository-id-parameter.spec.js +57 -0
  176. package/e2e-security/setup/home/cookie-policy.spec.js +290 -0
  177. package/e2e-security/setup/users-and-access/create-user-permissions.spec.js +193 -0
  178. package/e2e-security/setup/users-and-access/graphql-user.spec.js +126 -0
  179. package/e2e-security/setup/users-and-access/repo-admin-role.spec.js +70 -0
  180. package/e2e-security/setup/users-and-access/turn-on-security-and-password-change.spec.js +99 -0
  181. package/e2e-security/setup/users-and-access/user-and-access.spec.js +87 -0
  182. package/e2e-security/setup/users-and-access/users-and-access-initial-state.spec.js +38 -0
  183. package/eslint.config.js +39 -0
  184. package/fixtures/graph/graph-configurations.json +59 -0
  185. package/fixtures/guides/autocomplete/enable-autocomplete-guide.json +12 -0
  186. package/fixtures/guides/class-hierarchy/class-hierarchy-guide.json +35 -0
  187. package/fixtures/guides/class-relations/class-relations-guide.json +33 -0
  188. package/fixtures/guides/confirm-cancel-dialog/confirm-cancel-dialog-guide.json +15 -0
  189. package/fixtures/guides/connectors/connectors-guide.json +66 -0
  190. package/fixtures/guides/connectors/lucene-connector-guide.json +120 -0
  191. package/fixtures/guides/create-repository/create-repository-guide.json +25 -0
  192. package/fixtures/guides/create-similarity-index/create-similarity-index-guide.json +36 -0
  193. package/fixtures/guides/download-guide-resource/download-guide-resource-guide.json +25 -0
  194. package/fixtures/guides/download-resource.ttl +629 -0
  195. package/fixtures/guides/execute-sparql-query/execute-sparql-query-guide.json +54 -0
  196. package/fixtures/guides/import-rdf-file/confirm-duplicate-rdf-file-guide.json +30 -0
  197. package/fixtures/guides/import-rdf-file/import-rdf-file-guide.json +21 -0
  198. package/fixtures/guides/main-menu/main-menu-guide.json +98 -0
  199. package/fixtures/guides/navigation/navigation-guide.json +60 -0
  200. package/fixtures/guides/rdf-rank/rdf-rank-guide.json +18 -0
  201. package/fixtures/guides/table-graph-explore/table-graph-explore-guide.json +51 -0
  202. package/fixtures/guides/table-graph-explore/table-graph-explore-without-substeps-guide.json +25 -0
  203. package/fixtures/guides/ttyg/configure-agent/configure-ttyg-agent-guide.json +74 -0
  204. package/fixtures/guides/ttyg/conversation/ttyg-conversation-guide.json +26 -0
  205. package/fixtures/guides/ttyg/edit-ttyg-agent/edit-ttyg-agent-guide.json +22 -0
  206. package/fixtures/guides/visual-graph/visual-graph-config-guide.json +39 -0
  207. package/fixtures/guides/visual-graph/visual-graph-guide.json +85 -0
  208. package/fixtures/guides/welcome/welcome-guide.json +18 -0
  209. package/fixtures/repositories/free-access.json +13 -0
  210. package/fixtures/similarity/get-ttyg-similarity-instances.json +10 -0
  211. package/fixtures/ttyg/agent/get-agent-defaults-assistant-api.json +44 -0
  212. package/fixtures/ttyg/agent/get-agent-defaults.json +9 -2
  213. package/fixtures/ttyg/agent/get-agent-list-with-incompatible-agents.json +79 -0
  214. package/fixtures/ttyg/agent/get-similarity-indexes-for-another-repo.json +8 -0
  215. package/fixtures/ttyg/agent/get-similarity-indexes.json +22 -0
  216. package/fixtures/ttyg/chats/ask-question-cancel.json +12 -0
  217. package/fixtures/ttyg/chats/ask-question.json +12 -2
  218. package/fixtures/ttyg/chats/cancel-question-response.json +1 -0
  219. package/fixtures/ttyg/chats/create/create-chat-response.json +10 -14
  220. package/fixtures/ttyg/chats/create/question-response-after-chat-creation.json +29 -0
  221. package/fixtures/ttyg/chats/explain-response-1.json +2 -48
  222. package/fixtures/ttyg/chats/explain-response-3.json +12 -0
  223. package/fixtures/ttyg/chats/get-chat.json +6 -1
  224. package/npm-shrinkwrap.json +11004 -3815
  225. package/package.json +58 -42
  226. package/plugins/index.js +10 -5
  227. package/steps/application-steps.js +8 -6
  228. package/steps/base-steps.js +29 -0
  229. package/steps/class-views-steps.js +35 -7
  230. package/steps/cluster/cluster-page-steps.js +12 -2
  231. package/steps/cookie-policy/cookie-consent-banner-steps.js +21 -0
  232. package/steps/cookie-policy/cookie-policy-modal.steps.js +56 -0
  233. package/steps/error-page-steps.js +9 -0
  234. package/steps/error-steps.js +15 -3
  235. package/steps/explore/class-relationships-steps.js +64 -0
  236. package/steps/explore/graphs-overview-steps.js +21 -1
  237. package/steps/explore/similarity-index-create-steps.js +5 -3
  238. package/steps/explore/similarity-indexes-steps.js +16 -2
  239. package/steps/graphql/graphql-endpoint-management-steps.js +2 -2
  240. package/steps/graphql/playground-editor-steps.js +46 -0
  241. package/steps/guides/guide-dialog-steps.js +81 -2
  242. package/steps/guides/guide-steps.js +54 -2
  243. package/steps/guides/movies-guide-steps.js +2 -1
  244. package/steps/header-steps.js +22 -0
  245. package/steps/home-steps.js +184 -77
  246. package/steps/import/import-resource-message-dialog.js +1 -1
  247. package/steps/import/import-steps.js +12 -16
  248. package/steps/import/import-user-data-steps.js +5 -1
  249. package/steps/language-selector-steps.js +2 -2
  250. package/steps/license-steps.js +91 -9
  251. package/steps/login-steps.js +31 -6
  252. package/steps/main-menu-steps.js +244 -19
  253. package/steps/modal-dialog-steps.js +32 -1
  254. package/steps/monitoring/backup-and-restore-steps.js +9 -3
  255. package/steps/monitoring/queries-and-updates-steps.js +20 -0
  256. package/steps/monitoring/system-monitoring-steps.js +40 -0
  257. package/steps/not-found/not-found-steps.js +23 -0
  258. package/steps/operations-statuses-component-steps.js +5 -10
  259. package/steps/rdf-resource-search-steps.js +55 -0
  260. package/steps/repository-selector-steps.js +3 -3
  261. package/steps/repository-steps.js +88 -18
  262. package/steps/resource/resource-steps.js +6 -10
  263. package/steps/rest-api-documentation-steps.js +15 -0
  264. package/steps/setup/acl-management-steps.js +18 -2
  265. package/steps/setup/autocomplete-steps.js +23 -8
  266. package/steps/setup/connectors-steps.js +32 -0
  267. package/steps/setup/jdbc-steps.js +18 -4
  268. package/steps/setup/namespace-steps.js +10 -7
  269. package/steps/setup/plugins-steps.js +12 -5
  270. package/steps/setup/rdf-rank-steps.js +23 -9
  271. package/steps/setup/settings-steps.js +101 -2
  272. package/steps/setup/sparql-templates-steps.js +19 -1
  273. package/steps/setup/user-and-access-steps.js +50 -16
  274. package/steps/shared-modal-dialog-steps.js +45 -0
  275. package/steps/sparql-editor-steps.js +21 -2
  276. package/steps/sparql-steps.js +13 -1
  277. package/steps/system-information-steps.js +70 -0
  278. package/steps/toaster-steps.js +18 -6
  279. package/steps/ttyg/chat-panel-steps.js +40 -2
  280. package/steps/ttyg/ttyg-agent-settings-modal.steps.js +136 -31
  281. package/steps/ttyg/ttyg-view-steps.js +80 -10
  282. package/steps/visual-graph-split-button-steps.js +45 -0
  283. package/steps/visual-graph-steps.js +106 -10
  284. package/steps/widgets/active-repository-widget-steps.js +29 -0
  285. package/steps/widgets/license-widget-steps.js +9 -0
  286. package/steps/widgets/repository-errors-widget-steps.js +21 -0
  287. package/steps/widgets/saved-sparql-queries-widget-steps.js +9 -0
  288. package/steps/yasgui/yasgui-loader.js +3 -3
  289. package/steps/yasgui/yasgui-steps.js +1 -1
  290. package/steps/yasgui/yasqe-steps.js +35 -4
  291. package/steps/yasgui/yasr-steps.js +35 -5
  292. package/stubs/autocomplete/autocomplete-stubs.js +7 -0
  293. package/stubs/browser-stubs.js +21 -0
  294. package/stubs/environment-stubs.js +9 -1
  295. package/stubs/graph-config-stubs.js +17 -0
  296. package/stubs/guides/guides-stubs.js +103 -0
  297. package/stubs/license-stubs.js +51 -0
  298. package/stubs/repositories/repositories-stubs.js +180 -75
  299. package/stubs/saved-queries-stubs.js +5 -0
  300. package/stubs/security-stubs.js +12 -0
  301. package/stubs/similarity-index-stubs.js +4 -0
  302. package/stubs/sparql-stubs.js +10 -0
  303. package/stubs/ttyg/ttyg-stubs.js +64 -15
  304. package/stubs/yasgui/query-stubs.js +5 -1
  305. package/support/commands.js +22 -1
  306. package/support/connector-commands.js +13 -0
  307. package/support/e2e-security.js +9 -0
  308. package/support/{index.js → e2e.js} +9 -3
  309. package/support/repository-commands.js +29 -4
  310. package/support/settings-commands.js +33 -1
  311. package/support/url-commands.js +13 -0
  312. package/support/user-commands.js +9 -4
  313. package/utils/html-util.js +24 -4
  314. package/Dockerfile +0 -11
  315. package/fixtures/locale-en.json +0 -3342
  316. package/integration/explore/similarity-index/similarity-index-create.spec.js +0 -333
  317. package/integration/explore/similarity-index/similarity-index.spec.js +0 -88
  318. package/integration/explore/similarity-index/similarity.spec.js +0 -628
  319. package/integration/guides/movies-interactive-guide.spec.js +0 -73
  320. package/integration/home/cookie-policy.spec.js +0 -90
  321. package/integration/home/documentation-link.spec.js +0 -60
  322. package/integration/home/language-selector.spec.js +0 -19
  323. package/integration/home/rdf-resource-search.spec.js +0 -177
  324. package/integration/home/view-resource-autocomplete.spec.js +0 -52
  325. package/integration/home/workbench.home.spec.js +0 -30
  326. package/integration/monitor/monitor.queries.spec.js +0 -31
  327. package/integration/setup/my-settings.spec.js +0 -289
  328. package/integration/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +0 -57
  329. package/integration/ttyg/edit-agent.spec.js +0 -99
  330. package/integration-flaky/setup/users-and-access/security-and-free-access.spec.js +0 -54
  331. package/stubs/repositories-stub.js +0 -73
  332. package/{integration-flaky → e2e-flaky}/import/import.server.files.spec.js +0 -0
  333. package/{integration-flaky → e2e-flaky}/sparql-editor/lucene-connector.spec.js +0 -0
  334. package/{integration-flaky → e2e-flaky}/sparql-editor/plugins/error-plugin.spec.js +0 -0
  335. package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-multi-region.spec.js +0 -0
  336. package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-nodes.spec.js +0 -0
  337. package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-properties.spec.js +0 -0
  338. package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration.spec.js +0 -0
  339. package/{integration → e2e-legacy}/cluster/cluster-legend.spec.js +0 -0
  340. package/{integration → e2e-legacy}/cluster/edit-cluster-nodes-modal.spec.js +0 -0
  341. package/{integration → e2e-legacy}/graphql/activate-deactivate-graphql-endpoint.spec.js +0 -0
  342. package/{integration → e2e-legacy}/graphql/delete-graphql-endpoint.spec.js +0 -0
  343. package/{integration → e2e-legacy}/graphql/export-graphql-endpoint-definition.spec.js +0 -0
  344. package/{integration → e2e-legacy}/graphql/set-default-graphql-endpoint.spec.js +0 -0
  345. package/{integration/help → e2e-legacy/help/system-information}/system-information.spec.js +0 -0
  346. package/{integration → e2e-legacy}/home/create-repository.spec.js +0 -0
  347. package/{integration → e2e-legacy}/import/import-server-files-batch-operations.spec.js +0 -0
  348. package/{integration → e2e-legacy}/import/import-user-data-settings-dialog.spec.js +0 -0
  349. package/{integration → e2e-legacy}/import/import-view.spec.js +0 -0
  350. package/{integration → e2e-legacy}/repository/attach-remote-location.spec.js +1 -1
  351. /package/{integration → e2e-legacy}/repository/repository-commands.spec.js +0 -0
  352. /package/{integration → e2e-legacy}/setup/aclmanagement/delete-rule.spec.js +0 -0
  353. /package/{integration → e2e-legacy}/setup/aclmanagement/edit-rule.spec.js +0 -0
  354. /package/{integration → e2e-legacy}/setup/aclmanagement/render-rules.spec.js +0 -0
  355. /package/{integration → e2e-legacy}/setup/aclmanagement/reorder-rules.spec.js +0 -0
  356. /package/{integration → e2e-legacy}/setup/aclmanagement/revert-rules.spec.js +0 -0
  357. /package/{integration → e2e-legacy}/setup/aclmanagement/scopes.spec.js +0 -0
  358. /package/{integration → e2e-legacy}/setup/aclmanagement/update-rules.spec.js +0 -0
  359. /package/{integration → e2e-legacy}/setup/jdbc/jdbc.spec.js +0 -0
  360. /package/{integration → e2e-legacy}/sparql-editor/actions/execute-query.spec.js +0 -0
  361. /package/{integration → e2e-legacy}/sparql-editor/actions/save-query.spec.js +0 -0
  362. /package/{integration → e2e-legacy}/sparql-editor/internationalization.spec.js +0 -0
  363. /package/{integration → e2e-legacy}/sparql-editor/saved-query/delete-query.spec.js +0 -0
  364. /package/{integration → e2e-legacy}/sparql-editor/sparql-editor.spec.js +0 -0
  365. /package/{integration → e2e-legacy}/sparql-editor/yasr/download-as.spec.js +0 -0
@@ -1,4 +1,6 @@
1
- export class ChatPanelSteps {
1
+ import {BaseSteps} from "../base-steps.js";
2
+
3
+ export class ChatPanelSteps extends BaseSteps {
2
4
 
3
5
  static getChatPanel() {
4
6
  return cy.get('.chat-panel');
@@ -16,14 +18,38 @@ export class ChatPanelSteps {
16
18
  return ChatPanelSteps.getChatDetailElement(chatDetailIndex).find('.actions').eq(answerIndex);
17
19
  }
18
20
 
21
+ static getAssistantAnswer(index) {
22
+ return ChatPanelSteps.getChatPanel().find('.assistant-message markdown-content').eq(index);
23
+ }
24
+
19
25
  static getQuestionInputElement() {
20
- return ChatPanelSteps.getChatPanel().find('.question-input');
26
+ return ChatPanelSteps.getChatPanel().find('.question-input .contenteditable');
27
+ }
28
+
29
+ static typeQuestion(question) {
30
+ ChatPanelSteps.getQuestionInputElement().type(question, {force: true});
31
+ }
32
+
33
+ static getQuestionLoader() {
34
+ return ChatPanelSteps.getByTestId('question-loader');
35
+ }
36
+
37
+ static waitForLoaderToDisappear() {
38
+ ChatPanelSteps.getQuestionLoader().should('not.exist');
21
39
  }
22
40
 
23
41
  static getAskButtonElement() {
24
42
  return ChatPanelSteps.getChatPanel().find('.ask-button');
25
43
  }
26
44
 
45
+ static askQuestion() {
46
+ ChatPanelSteps.getAskButtonElement().scrollIntoView().click();
47
+ }
48
+
49
+ static askQuestionWithEnter() {
50
+ ChatPanelSteps.getQuestionInputElement().type('{enter}');
51
+ }
52
+
27
53
  static getChatDetailQuestionElement(index = 0) {
28
54
  return ChatPanelSteps.getChatDetailElement(index).find('.question');
29
55
  }
@@ -59,4 +85,16 @@ export class ChatPanelSteps {
59
85
  static getCopyToClipboardElement(index = 0) {
60
86
  return ChatPanelSteps.getCopyToClipboardElements().eq(index);
61
87
  }
88
+
89
+ static getCancelButton() {
90
+ return ChatPanelSteps.getChatPanel().find('.cancel-ask-button');
91
+ }
92
+
93
+ static cancelQuestion() {
94
+ ChatPanelSteps.getCancelButton().click();
95
+ }
96
+
97
+ static getAssistantIcon(index) {
98
+ return ChatPanelSteps.getChatDetailElement(index).find('.assistant-icon');
99
+ }
62
100
  }
@@ -25,7 +25,13 @@ export class TtygAgentSettingsModalSteps extends ModalDialogSteps {
25
25
  }
26
26
 
27
27
  static typeAgentName(name) {
28
- this.getAgentNameField().type(name);
28
+ this.getAgentNameField()
29
+ // https://github.com/cypress-io/cypress/issues/18747
30
+ .type(name, {force: true});
31
+ }
32
+
33
+ static getCodeToCopy() {
34
+ return cy.getByTestId('code-to-copy-element').invoke('text');
29
35
  }
30
36
 
31
37
  static clearAgentName() {
@@ -37,6 +43,30 @@ export class TtygAgentSettingsModalSteps extends ModalDialogSteps {
37
43
  return this.getAgentNameFormGroup().find('.alert-danger');
38
44
  }
39
45
 
46
+ static getExtIntegrationConfigBtn() {
47
+ return cy.get('.external-config-btn');
48
+ }
49
+
50
+ static openExtIntegrationConfig() {
51
+ this.getExtIntegrationConfigBtn().click();
52
+ }
53
+
54
+ static getExternalIntegrationModal() {
55
+ return cy.get('.external-integration-configuration-modal .modal-content');
56
+ }
57
+
58
+ static getAgentUrlField() {
59
+ return this.getExternalIntegrationModal().find('#agentId');
60
+ }
61
+
62
+ static getMethodUrlField() {
63
+ return this.getExternalIntegrationModal().find('#queryMethods');
64
+ }
65
+
66
+ static getDifyUrlField() {
67
+ return this.getExternalIntegrationModal().find('#difyExtension');
68
+ }
69
+
40
70
  // Repository ID
41
71
 
42
72
  static getRepositoryIdFromGroup() {
@@ -118,11 +148,15 @@ export class TtygAgentSettingsModalSteps extends ModalDialogSteps {
118
148
  }
119
149
 
120
150
  static clearSparqlMethodOntologyGraphField() {
121
- return this.getSparqlMethodOntologyGraphField().clear();
151
+ return this.getSparqlMethodOntologyGraphField()
152
+ // https://github.com/cypress-io/cypress/issues/18747
153
+ .clear({force: true});
122
154
  }
123
155
 
124
156
  static typeSparqlMethodOntologyGraphField(value) {
125
- return this.getSparqlMethodOntologyGraphField().type(value);
157
+ return this.getSparqlMethodOntologyGraphField()
158
+ // https://github.com/cypress-io/cypress/issues/18747
159
+ .type(value, {force: true});
126
160
  }
127
161
 
128
162
  static selectSparqlMethodSparqlQuery() {
@@ -142,6 +176,14 @@ export class TtygAgentSettingsModalSteps extends ModalDialogSteps {
142
176
  return this.getSparqlMethodSparqlQueryField().type(value, {parseSpecialCharSequences: false});
143
177
  }
144
178
 
179
+ static clickOpenQueryInSparqlEditor(index = 0) {
180
+ return this.getOpenQueryInSparqlEditorButton(index).click();
181
+ }
182
+
183
+ static getOpenQueryInSparqlEditorButton(index = 0) {
184
+ return this.getByTestId('open-in-sparql-editor-btn').eq(index);
185
+ }
186
+
145
187
  static getAddMissingNamespacesCheckbox() {
146
188
  return cy.get('#addMissingNamespaces');
147
189
  }
@@ -176,6 +218,14 @@ export class TtygAgentSettingsModalSteps extends ModalDialogSteps {
176
218
  return this.getExtractionMethodPanel('fts_search').find('.max-triples');
177
219
  }
178
220
 
221
+ static getFtsSearchMaxTriplesField() {
222
+ return this.getFtsSearchMaxTriplesFormGroup().find('input');
223
+ }
224
+
225
+ static setFtsSearchMaxTriples(value) {
226
+ this.getFtsSearchMaxTriplesField().invoke('val', value).trigger('input');
227
+ }
228
+
179
229
  // Similarity search method
180
230
 
181
231
  static enableSimilaritySearchMethodPanel() {
@@ -203,7 +253,7 @@ export class TtygAgentSettingsModalSteps extends ModalDialogSteps {
203
253
  }
204
254
 
205
255
  static clickOnSimilaritySearchIndexMissingHelp() {
206
- this.getSimilaritySearchIndexMissingHelp().find('a').click();
256
+ this.getSimilaritySearchIndexMissingHelp().find('a').eq(0).click();
207
257
  }
208
258
 
209
259
  static getSimilarityIndexFormGroup() {
@@ -211,7 +261,11 @@ export class TtygAgentSettingsModalSteps extends ModalDialogSteps {
211
261
  }
212
262
 
213
263
  static getSimilarityIndexField() {
214
- return this.getSimilarityIndexFormGroup().find('select');
264
+ return this.getSimilarityIndexFormGroup().find('#connectorInstances');
265
+ }
266
+
267
+ static getSimilarityIndexSelectedOption() {
268
+ return this.getSimilarityIndexField().find('option:selected');
215
269
  }
216
270
 
217
271
  static selectSimilarityIndex(index) {
@@ -222,6 +276,14 @@ export class TtygAgentSettingsModalSteps extends ModalDialogSteps {
222
276
  this.getSimilarityIndexField().find('option:selected').should('have.text', similarityIndex);
223
277
  }
224
278
 
279
+ static getSimilarityIndexVectorFieldsField() {
280
+ return this.getSimilarityIndexFormGroup().find('select#vectorFieldsSelect');
281
+ }
282
+
283
+ static getSimilarityIndexSelectedVectorFieldsValue() {
284
+ return this.getSimilarityIndexVectorFieldsField().find('option:selected');
285
+ }
286
+
225
287
  static getSimilarityIndexThresholdFormGroup() {
226
288
  return this.getExtractionMethodPanel('similarity_search').find('.similarity-index-threshold');
227
289
  }
@@ -321,27 +383,66 @@ export class TtygAgentSettingsModalSteps extends ModalDialogSteps {
321
383
  this.getRetrievalConnectorField().find('option:selected').should('have.text', connectorName);
322
384
  }
323
385
 
324
- // GPT model
386
+ // LLM model
325
387
 
326
- static getGptModelFormGroup() {
327
- return this.getDialog().find('.gpt-model');
388
+ static getLLMModelFormGroup() {
389
+ return this.getDialog().find('.llm-model');
328
390
  }
329
391
 
330
- static getGptModelField() {
331
- return this.getGptModelFormGroup().find('input');
392
+ static getLLMModelField() {
393
+ return this.getLLMModelFormGroup().find('input');
332
394
  }
333
395
 
334
- static clearGptModel() {
335
- this.getGptModelField().clear();
396
+ static clearLLMModel() {
397
+ this.getLLMModelField()
398
+ // https://github.com/cypress-io/cypress/issues/18747
399
+ .clear({force: true});
336
400
  cy.realPress('Tab');
337
401
  }
338
402
 
339
- static getGptModelError() {
340
- return this.getGptModelFormGroup().find('.alert-danger');
403
+ static getLLMModelError() {
404
+ return this.getLLMModelFormGroup().find('.alert-danger');
341
405
  }
342
406
 
343
- static typeGptModel(value) {
344
- return this.getGptModelField().type(value);
407
+ static typeLLMModel(value) {
408
+ return this.getLLMModelField()
409
+ // https://github.com/cypress-io/cypress/issues/18747
410
+ .type(value, {force: true});
411
+ }
412
+
413
+ static clickLLMModelField() {
414
+ this.getLLMModelField().click();
415
+ }
416
+
417
+ // Context size
418
+
419
+ static getContextSizeFormGroup() {
420
+ return this.getDialog().find('.context-size');
421
+ }
422
+
423
+ static getContextSizeField() {
424
+ return this.getDialog().find('.context-size input');
425
+ }
426
+
427
+ static clearContextSize() {
428
+ return this.getContextSizeField().clear();
429
+ }
430
+
431
+ static enterContextSize(input) {
432
+ this.getContextSizeField().type(input, {force: true});
433
+ }
434
+
435
+ static getContextSizeError() {
436
+ return this.getContextSizeFormGroup().find('.alert-danger');
437
+ }
438
+
439
+ static resetContextSizeValue() {
440
+ this.getContextSizeField()
441
+ .realHover()
442
+ .then(() => this.getContextSizeFormGroup().find('.reset-context-size-btn'))
443
+ .scrollIntoView()
444
+ .should('be.visible')
445
+ .click();
345
446
  }
346
447
 
347
448
  // temperature
@@ -366,6 +467,10 @@ export class TtygAgentSettingsModalSteps extends ModalDialogSteps {
366
467
  return this.getTemperatureFormGroup().find('.high-temperature-warning');
367
468
  }
368
469
 
470
+ static scrollToTemperatureWarning() {
471
+ return this.getTemperatureWarning().scrollIntoView();
472
+ }
473
+
369
474
  // Top P
370
475
 
371
476
  static getTopPFormGroup() {
@@ -429,19 +534,9 @@ export class TtygAgentSettingsModalSteps extends ModalDialogSteps {
429
534
  }
430
535
 
431
536
  static setAutocompleteMaxResults(number) {
432
- this.getAutocompleteMaxResults().type(number);
433
- }
434
-
435
- static getSearchPredicateInput() {
436
- return cy.get('#autocompletePredicateField');
437
- }
438
-
439
- static enterSearchPredicate(text) {
440
- this.getSearchPredicateInput().type(text);
441
- }
442
-
443
- static getSearchPredicateTags() {
444
- return this.getSearchPredicateInput().find('.tag-item');
537
+ this.getAutocompleteMaxResults()
538
+ // https://github.com/cypress-io/cypress/issues/18747
539
+ .type(number, {force: true});
445
540
  }
446
541
 
447
542
  static toggleAutocompleteSearchPanel() {
@@ -456,6 +551,14 @@ export class TtygAgentSettingsModalSteps extends ModalDialogSteps {
456
551
  this.getSuggestionsList().eq(index).click();
457
552
  }
458
553
 
554
+ static getAutocompleteDisabledMessage() {
555
+ return cy.get('.autocomplete-disabled-message');
556
+ }
557
+
558
+ static clickOnEnableFTSSearch() {
559
+ this.getAutocompleteDisabledMessage().find('a').click();
560
+ }
561
+
459
562
  // System instructions
460
563
 
461
564
  static getSystemInstructionsFormGroup() {
@@ -489,11 +592,13 @@ export class TtygAgentSettingsModalSteps extends ModalDialogSteps {
489
592
  }
490
593
 
491
594
  static clearUserInstructions() {
492
- this.getUserInstructionsField().clear();
595
+ this.getUserInstructionsField().clear({force: true});
493
596
  }
494
597
 
495
598
  static typeUserInstructions(value) {
496
- return this.getUserInstructionsField().type(value);
599
+ return this.getUserInstructionsField()
600
+ // https://github.com/cypress-io/cypress/issues/18747
601
+ .type(value, {force: true});
497
602
  }
498
603
 
499
604
  static toggleAdvancedSettings() {
@@ -1,4 +1,6 @@
1
- export class TTYGViewSteps {
1
+ import {BaseSteps} from "../base-steps";
2
+
3
+ export class TTYGViewSteps extends BaseSteps {
2
4
  static visit() {
3
5
  cy.visit('/ttyg');
4
6
  }
@@ -12,7 +14,23 @@ export class TTYGViewSteps {
12
14
  }
13
15
 
14
16
  static getNoAgentsView() {
15
- return this.getTtygView().find('.no-agents-view-component');
17
+ return this.getTtygView().getByTestId('no-agents-view-component');
18
+ }
19
+
20
+ static getTtygInfoMessage() {
21
+ return this.getNoAgentsView().getByTestId('ttyg-info-message');
22
+ }
23
+
24
+ static getTtygagentMessage() {
25
+ return this.getNoAgentsView().getByTestId('ttyg-agent-message');
26
+ }
27
+
28
+ static getApiKeyMessage() {
29
+ return this.getNoAgentsView().getByTestId('ttyg-api-key-message');
30
+ }
31
+
32
+ static getMissingApiKeyToastMessage() {
33
+ return cy.get('.toast.toast-error');
16
34
  }
17
35
 
18
36
  static getTtygViewContent() {
@@ -24,7 +42,7 @@ export class TTYGViewSteps {
24
42
  }
25
43
 
26
44
  static getChatListLoadingIndicator() {
27
- return this.getChatsSidebar().find('[onto-loader-fancy]');
45
+ return this.getChatsSidebar().find('[onto-loader]');
28
46
  }
29
47
 
30
48
  static getChatsPanel() {
@@ -106,6 +124,13 @@ export class TTYGViewSteps {
106
124
  return this.getToggleChatsSidebarButton().click();
107
125
  }
108
126
 
127
+ static openAgentSettingsModalForAgent(index) {
128
+ TTYGViewSteps.expandAgentsSidebar();
129
+ TTYGViewSteps.openAgentsMenu();
130
+ TTYGViewSteps.selectAgent(index);
131
+ TTYGViewSteps.editCurrentAgent();
132
+ }
133
+
109
134
  static getCreateChatButton() {
110
135
  return this.getChatsSidebar().find('.create-chat-btn');
111
136
  }
@@ -173,6 +198,10 @@ export class TTYGViewSteps {
173
198
  return this.getAgentsSidebar().find('.create-agent-btn');
174
199
  }
175
200
 
201
+ static clickCreateAgentButton() {
202
+ this.getCreateAgentButton().click();
203
+ }
204
+
176
205
  static createFirstAgent() {
177
206
  this.getCreateFirstAgentButton().click();
178
207
  }
@@ -217,18 +246,43 @@ export class TTYGViewSteps {
217
246
  return this.getAgent(index).realHover().find('.open-agent-actions-btn');
218
247
  }
219
248
 
220
- static openAgentActionMenu(index) {
249
+ static toggleAgentActionMenu(index) {
221
250
  this.getOpenAgentActionsButton(index).click();
222
251
  }
223
252
 
253
+ static triggerEditAgentActionMenu(index) {
254
+ this.toggleAgentActionMenu(index);
255
+ this.getEditAgentButton(index).click();
256
+ }
257
+
258
+ static getEditAgentButton(index) {
259
+ return this.getAgent(index).find('.agent-actions-menu .edit-agent-btn');
260
+ }
261
+
262
+ static getExternalIntegrationConfigButton(index) {
263
+ return this.getAgent(index).find('.agent-actions-menu .ext-integration-agent-btn');
264
+ }
265
+
266
+ static openExternalIntegrationConfigButton(index) {
267
+ return this.getExternalIntegrationConfigButton(index).click();
268
+ }
269
+
224
270
  static triggerCloneAgentActionMenu(index) {
225
- this.openAgentActionMenu(index);
226
- this.getAgent(index).find('.agent-actions-menu .clone-agent-btn').click();
271
+ this.toggleAgentActionMenu(index);
272
+ this.getCloneAgentButton(index).click();
273
+ }
274
+
275
+ static getCloneAgentButton(index) {
276
+ return this.getAgent(index).find('.agent-actions-menu .clone-agent-btn');
227
277
  }
228
278
 
229
279
  static triggerDeleteAgentActionMenu(index) {
230
- this.openAgentActionMenu(index);
231
- this.getAgent(index).find('.agent-actions-menu .delete-agent-btn').click();
280
+ this.toggleAgentActionMenu(index);
281
+ this.getDeleteAgentButton(index).click();
282
+ }
283
+
284
+ static getDeleteAgentButton(index) {
285
+ return this.getAgent(index).find('.agent-actions-menu .delete-agent-btn');
232
286
  }
233
287
 
234
288
  static getAgentDeletingLoader() {
@@ -254,6 +308,10 @@ export class TTYGViewSteps {
254
308
  return this.getTtygView().find('.agent-select-menu');
255
309
  }
256
310
 
311
+ static getAgentsDropdownMenu() {
312
+ return this.getAgentsMenu().find('.dropdown-menu');
313
+ }
314
+
257
315
  static getAgentsMenuToggleButton() {
258
316
  return this.getAgentsMenu().find('.dropdown-toggle-btn');
259
317
  }
@@ -263,7 +321,7 @@ export class TTYGViewSteps {
263
321
  }
264
322
 
265
323
  static getAgentsFromMenu() {
266
- return this.getAgentsMenu().find('.agent-menu-item');
324
+ return this.getAgentsMenu().find('.agent-menu-item a');
267
325
  }
268
326
 
269
327
  static getAgentFromMenu(index) {
@@ -295,11 +353,23 @@ export class TTYGViewSteps {
295
353
  this.getExplainResponseButton(index).click();
296
354
  }
297
355
 
356
+ static getTokenUsageInfoButton(index) {
357
+ return this.getTtygView().find('.token-usage-info-btn').eq(index);
358
+ }
359
+
360
+ static hoverTokenUsageInfoButton(index) {
361
+ return this.getTokenUsageInfoButton(index).realHover();
362
+ }
363
+
364
+ static getTokenUsageInfoPopover() {
365
+ return cy.get('.token-usage-info');
366
+ }
367
+
298
368
  static getHowDeliverAnswerButton() {
299
369
  return this.getTtygView().find('.deliver-answer-btn');
300
370
  }
301
371
 
302
- static clickOnHowDeliverAnswerButton(index) {
372
+ static clickOnHowDeliverAnswerButton() {
303
373
  this.getHowDeliverAnswerButton().click();
304
374
  }
305
375
 
@@ -0,0 +1,45 @@
1
+ export class VisualGraphSplitButtonSteps {
2
+ static getGraphExploreSplitButton() {
3
+ return cy.get('onto-graph-explore-split-button');
4
+ }
5
+
6
+ static getVisualizeMainButton() {
7
+ return VisualGraphSplitButtonSteps.getGraphExploreSplitButton().find('.explore-visual-graph-button');
8
+ }
9
+
10
+ static clickOnVisualizeMainButton() {
11
+ VisualGraphSplitButtonSteps.getVisualizeMainButton().click();
12
+ }
13
+
14
+ static getDropdownToggleButton() {
15
+ return VisualGraphSplitButtonSteps.getGraphExploreSplitButton().find('.onto-dropdown-button');
16
+ }
17
+
18
+ static toggleGraphConfigDropdown() {
19
+ VisualGraphSplitButtonSteps.getDropdownToggleButton().click();
20
+ }
21
+
22
+ static getGraphConfigs() {
23
+ return VisualGraphSplitButtonSteps.getGraphExploreSplitButton().find('.onto-dropdown-menu-item');
24
+ }
25
+
26
+ static getGraphConfig(index = 0) {
27
+ return VisualGraphSplitButtonSteps.getGraphConfigs().eq(index);
28
+ }
29
+
30
+ static selectGraphConfig(index = 0) {
31
+ VisualGraphSplitButtonSteps.getGraphConfig(index).click();
32
+ }
33
+
34
+ static getCreateGraphConfigLink() {
35
+ return VisualGraphSplitButtonSteps.getGraphExploreSplitButton().find('.graph-create-link');
36
+ }
37
+
38
+ static clickCreateGraphConfigLink() {
39
+ VisualGraphSplitButtonSteps.getCreateGraphConfigLink().click();
40
+ }
41
+
42
+ static getNoConfigurationsMessage() {
43
+ return VisualGraphSplitButtonSteps.getGraphExploreSplitButton().find('.no-configurations-message');
44
+ }
45
+ }