graphdb-workbench-tests 3.0.2 → 3.1.0-RC1

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 (268) hide show
  1. package/.editorconfig +17 -0
  2. package/.nycrc +10 -0
  3. package/cypress-flaky.config.js +15 -4
  4. package/cypress-legacy.config.js +40 -0
  5. package/cypress-security.config.js +40 -0
  6. package/cypress.config.js +8 -4
  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 +1 -1
  9. package/e2e-flaky/import/import-user-data-url.spec.js +63 -0
  10. package/{integration-flaky → e2e-flaky}/setup/sparql-template-create.js +9 -2
  11. package/{integration-flaky → e2e-flaky}/sparql-editor/yasr/table-plugin.spec.js +2 -1
  12. package/{integration → e2e-legacy}/cluster/edit-cluster-nodes-modal.spec.js +44 -0
  13. package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository-without-class-hierarchy.spec.js +42 -0
  14. package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository.spec.js +43 -0
  15. package/e2e-legacy/explore/class-hierarchy/class-hierarchy-without-selected-repository.spec.js +30 -0
  16. package/{integration/explore → e2e-legacy/explore/class-hierarchy}/class.hierarchy.spec.js +1 -1
  17. package/e2e-legacy/explore/class-relationships/class-relationships-repository-with-data.spec.js +42 -0
  18. package/e2e-legacy/explore/class-relationships/class-relationships-with-selected-repository.spec.js +39 -0
  19. package/e2e-legacy/explore/class-relationships/class-relationships-without-selected-repository.spec.js +21 -0
  20. package/{integration/explore/class.relationships.spec.js → e2e-legacy/explore/class-relationships/class-relationships.spec.js} +18 -50
  21. package/{integration/explore → e2e-legacy/explore/graphs-overview}/graphs.overview.spec.js +4 -4
  22. package/e2e-legacy/explore/graphs-overview/initial-state/graphs-overview-with-selected-repository.spec.js +44 -0
  23. package/e2e-legacy/explore/graphs-overview/initial-state/graphs-overview-without-selected-repository.spec.js +32 -0
  24. package/e2e-legacy/explore/similarity-index/similarity-index-with-repository.spec.js +38 -0
  25. package/e2e-legacy/explore/similarity-index/similarity-index-without-repository.spec.js +21 -0
  26. package/{integration → e2e-legacy}/explore/visual-graph/graphs-config.spec.js +1 -6
  27. package/e2e-legacy/explore/visual-graph/visual-graph-with-selected-repository.js +38 -0
  28. package/e2e-legacy/explore/visual-graph/visual-graph-without-selected-repository.js +21 -0
  29. package/{integration → e2e-legacy}/explore/visual-graph/visual.graph.spec.js +2 -7
  30. package/{integration → e2e-legacy}/graphql/create-graphql-endpoint.spec.js +0 -2
  31. package/{integration → e2e-legacy}/graphql/edit-graphql-enpoint.spec.js +1 -1
  32. package/{integration → e2e-legacy}/graphql/filter-graphql-endpoints-on-management-view.spec.js +1 -1
  33. package/e2e-legacy/graphql/graphql-endpoint management-without-selected-repository.spec.js +21 -0
  34. package/{integration → e2e-legacy}/graphql/graphql-endpoint-management-view.spec.js +4 -4
  35. package/e2e-legacy/graphql/graphql-endpoint-management-with-endpoints.spec.js +43 -0
  36. package/e2e-legacy/graphql/graphql-endpoint-management-with-selected-repository.spec.jsx +39 -0
  37. package/e2e-legacy/graphql/graphql-playground-with-endpoints.spec.js +40 -0
  38. package/e2e-legacy/graphql/graphql-playground-with-selected-repository.spec.js +38 -0
  39. package/e2e-legacy/graphql/graphql-playground-without-selected-repository.spec.js +22 -0
  40. package/{integration → e2e-legacy}/graphql/graphql-playground.spec.js +1 -1
  41. package/{integration → e2e-legacy}/graphql/import-graphql-endpoint-definitions.spec.js +0 -6
  42. package/e2e-legacy/help/guides/guides-with-repository.spec.js +32 -0
  43. package/e2e-legacy/help/guides/guides-without-repository.spec.js +20 -0
  44. package/{integration → e2e-legacy/help}/guides/movies-interactive-guide.spec.js +3 -3
  45. package/{integration → e2e-legacy/help}/guides/star-wars-interactive-guide.js +3 -2
  46. package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-with-repository.spec.js +32 -0
  47. package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-without-repository.spec.js +20 -0
  48. package/e2e-legacy/help/system-information/system-information-with-repository.spec.js +32 -0
  49. package/e2e-legacy/help/system-information/system-information-without-repository.spec.js +20 -0
  50. package/e2e-legacy/home/cookie-policy.spec.js +108 -0
  51. package/e2e-legacy/home/documentation-link.spec.js +61 -0
  52. package/{integration → e2e-legacy}/home/google-analytics.spec.js +4 -6
  53. package/e2e-legacy/home/home-page-with-selected-repository.spec.js +69 -0
  54. package/e2e-legacy/home/home-page-without-repositories.spec.js +87 -0
  55. package/e2e-legacy/home/home-page-without-selected-repository.spec.js +59 -0
  56. package/{integration → e2e-legacy}/home/language-change.spec.js +2 -2
  57. package/e2e-legacy/home/rdf-resource-search.spec.js +148 -0
  58. package/e2e-legacy/home/view-resource-autocomplete.spec.js +65 -0
  59. package/{integration → e2e-legacy}/import/import-user-data-file-upload.spec.js +16 -10
  60. package/{integration → e2e-legacy}/import/import-user-data-text-snippet.spec.js +0 -2
  61. package/{integration → e2e-legacy}/import/import-user-data-url.spec.js +0 -23
  62. package/{integration → e2e-legacy}/import/import-user-data.spec.js +9 -2
  63. package/e2e-legacy/import/initial-state/import-page-with-selected-repositor.js +51 -0
  64. package/e2e-legacy/import/initial-state/import-page-with-selected-repository-without-imported-files.js +45 -0
  65. package/e2e-legacy/import/initial-state/import-page-without-selected-repository.spec.js +28 -0
  66. package/e2e-legacy/license/license-with-repository.spec.js +113 -0
  67. package/e2e-legacy/license/license-without-repository.spec.js +103 -0
  68. package/{integration → e2e-legacy}/license/license.spec.js +4 -4
  69. package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-with-repository.spec.js +36 -0
  70. package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-without-repository.spec.js +25 -0
  71. package/{integration/monitor/monitor.backup-and-restore.spec.js → e2e-legacy/monitor/backup-and-restore/backup-and-restore.spec.js} +2 -2
  72. package/{integration → e2e-legacy}/monitor/global-operation-statuses-component.spec.js +12 -5
  73. package/e2e-legacy/monitor/query-and-updates/queries-and-updates-with-repository.spec.js +39 -0
  74. package/e2e-legacy/monitor/query-and-updates/queries-and-updates-without-repository.spec.js +21 -0
  75. package/{integration/monitor → e2e-legacy/monitor/system}/monitor.resources.spec.js +3 -2
  76. package/e2e-legacy/monitor/system/system-monitoring-with-repository.spec.js +32 -0
  77. package/e2e-legacy/monitor/system/system-monitoring-without-repository.spec.js +20 -0
  78. package/{integration → e2e-legacy}/repository/repositories.spec.js +34 -45
  79. package/{integration → e2e-legacy}/resource/resource.spec.js +16 -1
  80. package/e2e-legacy/setup/aclmanagement/acl-management-with-selected repository.spec.js +40 -0
  81. package/e2e-legacy/setup/aclmanagement/acl-management-without-repositories.spec.js +21 -0
  82. package/{integration → e2e-legacy}/setup/aclmanagement/create-rule.spec.js +1 -0
  83. package/e2e-legacy/setup/autocomplete/autocomplete-with-repository.spec.js +40 -0
  84. package/e2e-legacy/setup/autocomplete/autocomplete-without-repository.spec.js +27 -0
  85. package/{integration/setup → e2e-legacy/setup/autocomplete}/autocomplete.spec.js +5 -6
  86. package/e2e-legacy/setup/cluster/cluster-initial-state-with-cluster.spec.js +34 -0
  87. package/e2e-legacy/setup/cluster/cluster-initial-state-without-cluster.spec.js +25 -0
  88. package/e2e-legacy/setup/connectors/connectors-initial-state-with-selected-repository.spec.js +41 -0
  89. package/e2e-legacy/setup/connectors/connectors-initial-state-without-repositories.spec.js +21 -0
  90. package/e2e-legacy/setup/jdbc/jdbc-with-repository.spec.js +39 -0
  91. package/e2e-legacy/setup/jdbc/jdbc-without-repository.spec.js +27 -0
  92. package/e2e-legacy/setup/namespaces/namespaces-with-repository.spec.js +44 -0
  93. package/e2e-legacy/setup/namespaces/namespaces-without-repository.spec.js +27 -0
  94. package/{integration/setup → e2e-legacy/setup/namespaces}/namespaces.spec.js +6 -5
  95. package/e2e-legacy/setup/plugins/plugins-with-repository.spec.js +38 -0
  96. package/e2e-legacy/setup/plugins/plugins-without-repository.spec.js +28 -0
  97. package/{integration/setup → e2e-legacy/setup/plugins}/plugins.spec.js +3 -3
  98. package/e2e-legacy/setup/rdf-rank/rdf-rank-with-repository.spec.js +40 -0
  99. package/e2e-legacy/setup/rdf-rank/rdf-rank-without-repository.spec.js +30 -0
  100. package/{integration/setup → e2e-legacy/setup/rdf-rank}/rdf-rank.spec.js +1 -1
  101. package/e2e-legacy/setup/repositories/repositories-view-with-repositories.spec.js +40 -0
  102. package/e2e-legacy/setup/repositories/repositories-view-without-repositories.spec.js +28 -0
  103. package/e2e-legacy/setup/settings/my-settings-initial-state.spec.js +86 -0
  104. package/{integration/setup → e2e-legacy/setup/settings}/my-settings.spec.js +5 -75
  105. package/{integration/setup → e2e-legacy/setup/sparql-template}/sparql-template-create.js +16 -8
  106. package/e2e-legacy/setup/sparql-template/sparql-template-with-repository.spec.js +39 -0
  107. package/e2e-legacy/setup/sparql-template/sparql-template-without-repository.spec.js +29 -0
  108. package/{integration/setup → e2e-legacy/setup/sparql-template}/sparql-templates.spec.js +4 -4
  109. package/{integration/setup → e2e-legacy/setup/users-and-access}/user-and-access.spec.js +53 -19
  110. package/e2e-legacy/setup/users-and-access/users-and-access-initial-state.spec.js +25 -0
  111. package/{integration → e2e-legacy}/sparql-editor/actions/inferred-sameas.spec.js +3 -1
  112. package/{integration → e2e-legacy}/sparql-editor/saved-query/edit-query.spec.js +3 -3
  113. package/{integration → e2e-legacy}/sparql-editor/saved-query/readonly-query.spec.js +7 -13
  114. package/{integration → e2e-legacy}/sparql-editor/saved-query/share-query.spec.js +2 -0
  115. package/e2e-legacy/sparql-editor/sparql-page-with-selected-repository.spec.js +33 -0
  116. package/e2e-legacy/sparql-editor/sparql-page-without-selected-repository.spec.js +26 -0
  117. package/{integration → e2e-legacy}/ttyg/agent-list.spec.js +52 -0
  118. package/{integration → e2e-legacy}/ttyg/agent-select-menu.spec.js +24 -0
  119. package/{integration → e2e-legacy}/ttyg/chat-panel.spec.js +29 -3
  120. package/{integration → e2e-legacy}/ttyg/clone-agent.spec.js +1 -0
  121. package/{integration → e2e-legacy}/ttyg/create-agent.spec.js +7 -6
  122. package/{integration → e2e-legacy}/ttyg/create-chat.spec.js +3 -1
  123. package/e2e-legacy/ttyg/edit-agent.spec.js +169 -0
  124. package/e2e-legacy/ttyg/ttyg-initial-state-with-configured-api-key.spec.js +46 -0
  125. package/e2e-legacy/ttyg/ttyg-initial-state-with-selected-repository.spec.js +45 -0
  126. package/e2e-legacy/ttyg/ttyg-initial-state-without-repositories.spec.js +21 -0
  127. package/{integration-flaky → e2e-legacy}/ttyg/ttyg-permission.spec.js +25 -15
  128. package/{integration → e2e-legacy}/ttyg/ttyg-view.spec.js +1 -0
  129. package/e2e-security/setup/home/cookie-policy.spec.js +64 -0
  130. package/e2e-security/setup/users-and-access/create-user-permissions.spec.js +184 -0
  131. package/e2e-security/setup/users-and-access/graphql-user.spec.js +123 -0
  132. package/e2e-security/setup/users-and-access/repo-admin-role.spec.js +69 -0
  133. package/e2e-security/setup/users-and-access/turn-on-security-and-password-change.spec.js +87 -0
  134. package/e2e-security/setup/users-and-access/user-and-access.spec.js +87 -0
  135. package/e2e-security/setup/users-and-access/users-and-access-initial-state.spec.js +38 -0
  136. package/fixtures/locale-en.json +62 -19
  137. package/fixtures/repositories/free-access.json +13 -0
  138. package/fixtures/ttyg/agent/get-agent-defaults-assistant-api.json +44 -0
  139. package/fixtures/ttyg/agent/get-agent-defaults.json +2 -0
  140. package/fixtures/ttyg/agent/get-agent-list-with-incompatible-agents.json +79 -0
  141. package/fixtures/ttyg/chats/ask-question.json +12 -2
  142. package/fixtures/ttyg/chats/get-chat.json +6 -1
  143. package/npm-shrinkwrap.json +9356 -3815
  144. package/package.json +48 -42
  145. package/plugins/index.js +3 -2
  146. package/steps/application-steps.js +1 -1
  147. package/steps/base-steps.js +21 -0
  148. package/steps/class-views-steps.js +16 -0
  149. package/steps/cluster/cluster-page-steps.js +12 -2
  150. package/steps/error-steps.js +15 -3
  151. package/steps/explore/class-relationships-steps.js +64 -0
  152. package/steps/explore/graphs-overview-steps.js +21 -1
  153. package/steps/explore/similarity-indexes-steps.js +12 -2
  154. package/steps/graphql/graphql-endpoint-management-steps.js +2 -2
  155. package/steps/guides/guide-steps.js +20 -1
  156. package/steps/home-steps.js +158 -48
  157. package/steps/import/import-steps.js +11 -15
  158. package/steps/import/import-user-data-steps.js +4 -0
  159. package/steps/language-selector-steps.js +2 -2
  160. package/steps/license-steps.js +91 -9
  161. package/steps/login-steps.js +14 -3
  162. package/steps/main-menu-steps.js +207 -15
  163. package/steps/modal-dialog-steps.js +20 -0
  164. package/steps/monitoring/backup-and-restore-steps.js +9 -3
  165. package/steps/monitoring/queries-and-updates-steps.js +20 -0
  166. package/steps/monitoring/system-monitoring-steps.js +40 -0
  167. package/steps/operations-statuses-component-steps.js +5 -10
  168. package/steps/rdf-resource-search-steps.js +55 -0
  169. package/steps/repository-selector-steps.js +3 -3
  170. package/steps/repository-steps.js +18 -12
  171. package/steps/resource/resource-steps.js +4 -0
  172. package/steps/rest-api-documentation-steps.js +15 -0
  173. package/steps/setup/autocomplete-steps.js +17 -6
  174. package/steps/setup/connectors-steps.js +19 -0
  175. package/steps/setup/jdbc-steps.js +18 -4
  176. package/steps/setup/namespace-steps.js +9 -6
  177. package/steps/setup/plugins-steps.js +11 -4
  178. package/steps/setup/rdf-rank-steps.js +22 -4
  179. package/steps/setup/settings-steps.js +100 -1
  180. package/steps/setup/sparql-templates-steps.js +19 -1
  181. package/steps/setup/user-and-access-steps.js +33 -3
  182. package/steps/system-information-steps.js +70 -0
  183. package/steps/ttyg/chat-panel-steps.js +1 -1
  184. package/steps/ttyg/ttyg-agent-settings-modal.steps.js +82 -23
  185. package/steps/ttyg/ttyg-view-steps.js +74 -8
  186. package/steps/visual-graph-steps.js +4 -0
  187. package/steps/widgets/active-repository-widget-steps.js +29 -0
  188. package/steps/widgets/license-widget-steps.js +9 -0
  189. package/steps/widgets/repository-errors-widget-steps.js +21 -0
  190. package/steps/widgets/saved-sparql-queries-widget-steps.js +9 -0
  191. package/steps/yasgui/yasr-steps.js +4 -0
  192. package/stubs/autocomplete/autocomplete-stubs.js +7 -0
  193. package/stubs/browser-stubs.js +21 -0
  194. package/stubs/environment-stubs.js +9 -1
  195. package/stubs/license-stubs.js +51 -0
  196. package/stubs/repositories/repositories-stubs.js +8 -0
  197. package/stubs/repositories-stub.js +6 -6
  198. package/stubs/saved-queries-stubs.js +5 -0
  199. package/stubs/security-stubs.js +4 -0
  200. package/stubs/ttyg/ttyg-stubs.js +19 -6
  201. package/support/commands.js +19 -0
  202. package/support/{index.js → e2e.js} +2 -1
  203. package/support/repository-commands.js +20 -4
  204. package/Dockerfile +0 -11
  205. package/integration/explore/similarity-index/similarity-index-create.spec.js +0 -333
  206. package/integration/explore/similarity-index/similarity-index.spec.js +0 -88
  207. package/integration/explore/similarity-index/similarity.spec.js +0 -628
  208. package/integration/home/cookie-policy.spec.js +0 -90
  209. package/integration/home/documentation-link.spec.js +0 -60
  210. package/integration/home/language-selector.spec.js +0 -19
  211. package/integration/home/rdf-resource-search.spec.js +0 -177
  212. package/integration/home/view-resource-autocomplete.spec.js +0 -52
  213. package/integration/home/workbench.home.spec.js +0 -30
  214. package/integration/monitor/monitor.queries.spec.js +0 -31
  215. package/integration/ttyg/edit-agent.spec.js +0 -99
  216. package/integration-flaky/setup/users-and-access/security-and-free-access.spec.js +0 -54
  217. package/{integration-flaky → e2e-flaky}/import/import-user-data-batch-operations.spec.js +0 -0
  218. package/{integration-flaky → e2e-flaky}/import/import.server.files.spec.js +0 -0
  219. package/{integration-flaky → e2e-flaky}/sparql-editor/actions/execute-update-query.spec.js +0 -0
  220. package/{integration-flaky → e2e-flaky}/sparql-editor/actions/share-query.spec.js +0 -0
  221. package/{integration-flaky → e2e-flaky}/sparql-editor/lucene-connector.spec.js +0 -0
  222. package/{integration-flaky → e2e-flaky}/sparql-editor/plugins/error-plugin.spec.js +0 -0
  223. package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-multi-region.spec.js +0 -0
  224. package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-nodes.spec.js +0 -0
  225. package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-properties.spec.js +0 -0
  226. package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration.spec.js +0 -0
  227. package/{integration → e2e-legacy}/cluster/cluster-legend.spec.js +0 -0
  228. package/{integration → e2e-legacy}/cluster/cluster-states.spec.js +0 -0
  229. package/{integration → e2e-legacy}/explore/visual-graph/visual-graph-node-labels.spec.js +0 -0
  230. package/{integration → e2e-legacy}/graphql/activate-deactivate-graphql-endpoint.spec.js +0 -0
  231. package/{integration → e2e-legacy}/graphql/delete-graphql-endpoint.spec.js +0 -0
  232. package/{integration → e2e-legacy}/graphql/export-graphql-endpoint-definition.spec.js +0 -0
  233. package/{integration → e2e-legacy}/graphql/set-default-graphql-endpoint.spec.js +0 -0
  234. package/{integration/help → e2e-legacy/help/system-information}/system-information.spec.js +0 -0
  235. package/{integration → e2e-legacy}/home/create-repository.spec.js +0 -0
  236. package/{integration → e2e-legacy}/import/import-server-files-batch-operations.spec.js +0 -0
  237. package/{integration → e2e-legacy}/import/import-server-files.spec.js +0 -0
  238. package/{integration → e2e-legacy}/import/import-user-data-settings-dialog.spec.js +0 -0
  239. package/{integration → e2e-legacy}/import/import-view.spec.js +0 -0
  240. package/{integration → e2e-legacy}/repository/attach-remote-location.spec.js +1 -1
  241. /package/{integration → e2e-legacy}/repository/ontop-repository.spec.js +0 -0
  242. /package/{integration → e2e-legacy}/repository/repository-commands.spec.js +0 -0
  243. /package/{integration → e2e-legacy}/setup/aclmanagement/delete-rule.spec.js +0 -0
  244. /package/{integration → e2e-legacy}/setup/aclmanagement/edit-rule.spec.js +0 -0
  245. /package/{integration → e2e-legacy}/setup/aclmanagement/render-rules.spec.js +0 -0
  246. /package/{integration → e2e-legacy}/setup/aclmanagement/reorder-rules.spec.js +0 -0
  247. /package/{integration → e2e-legacy}/setup/aclmanagement/revert-rules.spec.js +0 -0
  248. /package/{integration → e2e-legacy}/setup/aclmanagement/scopes.spec.js +0 -0
  249. /package/{integration → e2e-legacy}/setup/aclmanagement/update-rules.spec.js +0 -0
  250. /package/{integration → e2e-legacy}/setup/connectors-lucene.spec.js +0 -0
  251. /package/{integration → e2e-legacy}/setup/jdbc/jdbc-create.spec.js +0 -0
  252. /package/{integration → e2e-legacy}/setup/jdbc/jdbc.spec.js +0 -0
  253. /package/{integration → e2e-legacy}/sparql-editor/actions/execute-query.spec.js +0 -0
  254. /package/{integration → e2e-legacy}/sparql-editor/actions/expand-results-over-sameas.spec.js +0 -0
  255. /package/{integration → e2e-legacy}/sparql-editor/actions/include-inferred-statements.spec.js +0 -0
  256. /package/{integration → e2e-legacy}/sparql-editor/actions/save-query.spec.js +0 -0
  257. /package/{integration → e2e-legacy}/sparql-editor/actions/show-saved-queries.spec.js +0 -0
  258. /package/{integration → e2e-legacy}/sparql-editor/internationalization.spec.js +0 -0
  259. /package/{integration → e2e-legacy}/sparql-editor/saved-query/abort-query.spec.js +0 -0
  260. /package/{integration → e2e-legacy}/sparql-editor/saved-query/delete-query.spec.js +0 -0
  261. /package/{integration → e2e-legacy}/sparql-editor/sparql-editor.spec.js +0 -0
  262. /package/{integration → e2e-legacy}/sparql-editor/yasgui-tabs.spec.js +0 -0
  263. /package/{integration → e2e-legacy}/sparql-editor/yasr/download-as.spec.js +0 -0
  264. /package/{integration → e2e-legacy}/sparql-editor/yasr/pagination.spec.js +0 -0
  265. /package/{integration → e2e-legacy}/sparql-editor/yasr/table-plugin.spec.js +0 -0
  266. /package/{integration → e2e-legacy}/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +0 -0
  267. /package/{integration → e2e-legacy}/ttyg/chat-list.spec.js +0 -0
  268. /package/{integration → e2e-legacy}/ttyg/delete-agent.spec.js +0 -0
@@ -1,4 +1,6 @@
1
- export class JdbcSteps {
1
+ import {BaseSteps} from "../base-steps";
2
+
3
+ export class JdbcSteps extends BaseSteps {
2
4
 
3
5
  static visit() {
4
6
  cy.visit('/jdbc');
@@ -8,12 +10,24 @@ export class JdbcSteps {
8
10
  cy.url().should('include', '/jdbc');
9
11
  }
10
12
 
11
- static getCreateNewJDBCConfigurationButton() {
12
- return cy.get('.create-sql-table-configuration');
13
+ static getJDBCPage() {
14
+ return this.getByTestId('jdbc-page');
15
+ }
16
+
17
+ static getJDBCConfiguration() {
18
+ return this.getJDBCPage().getByTestId('jdbc-configurations');
19
+ }
20
+
21
+ static getCreateSQLTableConfigurationButton() {
22
+ return this.getJDBCConfiguration().getByTestId('create-sql-table-configuration');
23
+ }
24
+
25
+ static getNoSQLConfigurationsMessage() {
26
+ return this.getJDBCConfiguration().getByTestId('no-sql-configurations-message');
13
27
  }
14
28
 
15
29
  static clickOnCreateJdbcConfigurationButton() {
16
- JdbcSteps.getCreateNewJDBCConfigurationButton().click();
30
+ JdbcSteps.getCreateSQLTableConfigurationButton().click();
17
31
  }
18
32
 
19
33
  static getJDBCConfigurations() {
@@ -1,18 +1,21 @@
1
- export class NamespaceSteps {
1
+ import {BaseSteps} from "../base-steps";
2
+
3
+ export class NamespaceSteps extends BaseSteps {
2
4
  static visit() {
3
5
  cy.visit('/namespaces');
4
6
  }
5
7
 
6
8
  static getNamespacesView() {
7
- return cy.get('#wb-namespaces');
9
+ return this.getByTestId('namespaces-page')
10
+ }
11
+
12
+ static getNamespacesContent() {
13
+ return this.getNamespacesView().getByTestId('namespaces-content');
8
14
  }
9
15
 
10
16
  // ------ Generic ------
11
17
 
12
18
  static waitUntilPageIsLoaded() {
13
- // Workbench loading screen should not be visible
14
- cy.get('.ot-splash').should('not.be.visible');
15
-
16
19
  // No active loader
17
20
  cy.get('.ot-loader').should('not.be.visible');
18
21
 
@@ -165,7 +168,7 @@ export class NamespaceSteps {
165
168
  }
166
169
 
167
170
  static typeInlineNamespacePrefix(index, prefix) {
168
- this.getInlineNamespacePrefix(index).clear().type(prefix);
171
+ this.getInlineNamespacePrefix(index).click().clear().type(prefix);
169
172
  }
170
173
 
171
174
  static getInlineNamespaceValue(index) {
@@ -1,4 +1,6 @@
1
- export class PluginsSteps {
1
+ import {BaseSteps} from "../base-steps";
2
+
3
+ export class PluginsSteps extends BaseSteps {
2
4
  static visit() {
3
5
  cy.visit('/plugins');
4
6
  }
@@ -7,10 +9,15 @@ export class PluginsSteps {
7
9
  return cy.get('#plugins');
8
10
  }
9
11
 
10
- static waitUntilPluginsPageIsLoaded() {
11
- // Workbench loading screen should not be visible
12
- cy.get('.ot-splash').should('not.be.visible');
12
+ static getSearchPluginBar() {
13
+ return this.getPluginsView().getByTestId('search-plugins-bar');
14
+ }
13
15
 
16
+ static getPluginsList() {
17
+ return this.getPluginsView().getByTestId('plugins-list');
18
+ }
19
+
20
+ static waitUntilPluginsPageIsLoaded() {
14
21
  // No active loader
15
22
  cy.get('.ot-loader').should('not.exist');
16
23
 
@@ -1,5 +1,6 @@
1
+ import {BaseSteps} from "../base-steps";
1
2
 
2
- export class RdfRankSteps {
3
+ export class RdfRankSteps extends BaseSteps {
3
4
  static visit() {
4
5
  cy.visit('/rdfrank');
5
6
  }
@@ -9,9 +10,6 @@ export class RdfRankSteps {
9
10
  }
10
11
 
11
12
  static waitUntilRdfRankPageIsLoaded() {
12
- // Workbench loading screen should not be visible
13
- cy.get('.ot-splash').should('not.be.visible');
14
-
15
13
  // No active loader
16
14
  cy.get('.ot-loader').should('not.exist');
17
15
 
@@ -27,6 +25,26 @@ export class RdfRankSteps {
27
25
  return cy.get('#rdfRank');
28
26
  }
29
27
 
28
+ static getRDFRankPage() {
29
+ return this.getByTestId('rdf-rank-page');
30
+ }
31
+
32
+ static getRDFRankContent() {
33
+ return this.getRDFRankPage().getByTestId('rdf-rank-content');
34
+ }
35
+
36
+ static getRDFRankLabel() {
37
+ return this.getRDFRankPage().getByTestId('rdf-rank-status-label');
38
+ }
39
+
40
+ static getRDFRandComputeButton() {
41
+ return this.getRDFRankPage().getByTestId('compute-rdf-rank-btn');
42
+ }
43
+
44
+ static getFilter() {
45
+ return this.getRdfRankPage().getByTestId('filter-content');
46
+ }
47
+
30
48
  static getRdfStatusHeader() {
31
49
  return this.getRdfRankPage().find('#toggleIndex');
32
50
  }
@@ -1,10 +1,109 @@
1
+ import {EnvironmentStubs} from "../../stubs/environment-stubs";
2
+
1
3
  export class SettingsSteps {
2
4
  static visit() {
3
5
  cy.visit('/settings');
4
6
  }
5
7
 
8
+ static visitInProdMode() {
9
+ cy.visit('/settings', {
10
+ onBeforeLoad: (win) => {
11
+ EnvironmentStubs.stubWbProdMode();
12
+ }
13
+ });
14
+ }
15
+
16
+ static visitInDevMode() {
17
+ cy.visit('/settings', {
18
+ onBeforeLoad: (win) => {
19
+ EnvironmentStubs.stubWbDevMode();
20
+ }
21
+ });
22
+ }
23
+
24
+ static getSettingsPage() {
25
+ return cy.get('#wb-user');
26
+ }
27
+
28
+ static getLoginPanel() {
29
+ return this.getSettingsPage().find('.login-credentials')
30
+ }
31
+
32
+ static getPasswordField() {
33
+ return this.getLoginPanel().find('#wb-user-password:password');
34
+ }
35
+
36
+ static getConfirmPasswordField() {
37
+ return this.getLoginPanel().find('#wb-user-confirmpassword:password');
38
+ }
39
+
40
+ static getSparqlEditorPanel() {
41
+ return this.getSettingsPage()
42
+ .find('.sparql-editor-settings');
43
+ }
44
+
45
+ static getSameAsLabel() {
46
+ return this.getSparqlEditorPanel().find('.sameas-label')
47
+ }
48
+
49
+ static getSameAsToggle() {
50
+ return this.getSparqlEditorPanel()
51
+ .find('#sameas-on')
52
+ .find('.switch:checkbox');
53
+ }
54
+
55
+ static getInferenceToggle() {
56
+ return this.getSparqlEditorPanel()
57
+ .find('#inference-on')
58
+ .find('.switch:checkbox');
59
+ }
60
+
61
+ static getInferenceLabel() {
62
+ return this.getSparqlEditorPanel().find('.inference-label');
63
+ }
64
+
65
+ static getCountCheckbox() {
66
+ return this.getSparqlEditorPanel().find('#defaultCount:checkbox');
67
+ }
68
+
69
+ static getIgnoreSharedCheckbox() {
70
+ return this.getSparqlEditorPanel().find('#ignore-shared:checkbox');
71
+ }
72
+
73
+ static getUserRolePanel() {
74
+ return this.getSettingsPage().find('.user-role');
75
+ }
76
+
77
+ static getUserRoleRadioButton() {
78
+ return this.getUserRolePanel().find('#roleAdmin:radio');
79
+ }
80
+
81
+ static getRepoManagerRadioButton() {
82
+ return this.getUserRolePanel().find('#roleRepoAdmin:radio');
83
+ }
84
+
85
+ static getAdminRadioButton() {
86
+ return this.getUserRolePanel().find('#roleUser:radio');
87
+ }
88
+
6
89
  static getCookiePolicyButton() {
7
- return cy.get('.show-cookie-policy-btn');
90
+ return this.getSettingsPage().find('.show-cookie-policy-btn');
91
+ }
92
+
93
+ static getUserRepositoryTable() {
94
+ return this.getSettingsPage().find('.user-repositories .table');
95
+ }
96
+
97
+ static getUserRepository(name) {
98
+ return this.getUserRepositoryTable().find(`.repository-name:contains('${name}')`).closest('tr');
99
+ }
100
+
101
+ static getReadRightsCheckbox(repositoryId) {
102
+ return this.getUserRepository(repositoryId).find('.read-rights .read:checkbox');
103
+ }
104
+
105
+ static getWriteRightsCheckbox(repositoryId) {
106
+ return this.getUserRepository(repositoryId).find('.write-rights .write:checkbox');
8
107
  }
9
108
 
10
109
  static clickCookiePolicyLink() {
@@ -1,4 +1,6 @@
1
- export class SparqlTemplatesSteps {
1
+ import {BaseSteps} from "../base-steps";
2
+
3
+ export class SparqlTemplatesSteps extends BaseSteps {
2
4
 
3
5
  static visit() {
4
6
  cy.visit('/sparql-templates');
@@ -8,6 +10,22 @@ export class SparqlTemplatesSteps {
8
10
  cy.url().should('include', '/sparql-templates');
9
11
  }
10
12
 
13
+ static getSparqlTemplatesPage() {
14
+ return this.getByTestId('sparql-templates-page');
15
+ }
16
+
17
+ static getSparqlTemplatesContent() {
18
+ return this.getSparqlTemplatesPage().getByTestId('sparql-templates-content');
19
+ }
20
+
21
+ static getSparqlTemplatesCreateLink() {
22
+ return this.getSparqlTemplatesPage().getByTestId('create-sparql-template-link');
23
+ }
24
+
25
+ static getNoSparqlTemplatesMessage() {
26
+ return this.getSparqlTemplatesPage().getByTestId('no-sparql-templates-message');
27
+ }
28
+
11
29
  static getSparqlTemplatesListContainer() {
12
30
  return cy.get('.sparql-templates-list');
13
31
  }
@@ -1,14 +1,28 @@
1
+ import {EnvironmentStubs} from "../../stubs/environment-stubs";
2
+
1
3
  export class UserAndAccessSteps {
2
4
  static visit() {
3
5
  cy.visit('/users');
4
6
  }
5
7
 
8
+ static visitInProdMode() {
9
+ cy.visit('/users', {
10
+ onBeforeLoad: (win) => {
11
+ EnvironmentStubs.stubWbProdMode();
12
+ }
13
+ });
14
+ }
15
+
6
16
  static getUrl() {
7
17
  return cy.url();
8
18
  }
9
19
 
20
+ static isUsersUrlLoaded() {
21
+ return this.getUrl().should('include', '/users');
22
+ }
23
+
10
24
  static getSplashLoader() {
11
- return cy.get('.ot-splash');
25
+ return cy.get('.ot-loader');
12
26
  }
13
27
 
14
28
  static getCreateNewUserButton() {
@@ -151,14 +165,30 @@ export class UserAndAccessSteps {
151
165
  cy.get('.write').click();
152
166
  }
153
167
 
154
- static getFieldError() {
155
- return cy.get('div.small');
168
+ static getCustomRoleFieldError() {
169
+ return cy.get('#user-custom-roles').find('small');
170
+ }
171
+
172
+ /**
173
+ * Returns the feedback <div> for the given login field error.
174
+ * @param field One of "username", "password", "confirmPassword"
175
+ */
176
+ static getUserFieldError(field) {
177
+ return cy.get(`.login-credentials [ng-show="${field}Error"].form-control-feedback`);
178
+ }
179
+
180
+ static getRepositoryRightsError() {
181
+ return cy.get('#user-repos [ng-show="repositoryCheckError"].form-control-feedback');
156
182
  }
157
183
 
158
184
  static getError() {
159
185
  return cy.get('.alert-danger');
160
186
  }
161
187
 
188
+ static getPermissionError() {
189
+ return cy.get('.permission-banner');
190
+ }
191
+
162
192
  static getModal() {
163
193
  return cy.get('.modal-dialog');
164
194
  }
@@ -0,0 +1,70 @@
1
+ import {BaseSteps} from "./base-steps";
2
+
3
+ export class SystemInformationSteps extends BaseSteps {
4
+
5
+ static visit() {
6
+ cy.visit('sysinfo');
7
+ }
8
+
9
+ static getSystemInformationView() {
10
+ return this.getByTestId('system-info-page');
11
+ }
12
+
13
+ static getSystemInformationContent() {
14
+ return this.getSystemInformationView().getByTestId('system-info-content');
15
+ }
16
+
17
+ /////////////////////////////
18
+ // Application Info Tab
19
+ /////////////////////////////
20
+ static getApplicationInfoTab() {
21
+ return this.getSystemInformationContent().getByTestId('application-info-tab');
22
+ }
23
+
24
+ static getGraphDBInfo() {
25
+ return this.getApplicationInfoTab().getByTestId('graphdb-info');
26
+ }
27
+
28
+ static getOperatingSystemInfo() {
29
+ return this.getApplicationInfoTab().getByTestId('operation-system-info');
30
+ }
31
+
32
+ static getServerReport() {
33
+ return this.getApplicationInfoTab().getByTestId('server-report');
34
+ }
35
+
36
+ static getNewReportButton() {
37
+ return this.getServerReport().getByTestId('new-report-btn');
38
+ }
39
+
40
+ static getServerReportDownloadButton() {
41
+ return this.getServerReport().getByTestId('download-report-btn');
42
+ }
43
+
44
+ /////////////////////////////
45
+ // JVM Arguments Tab
46
+ /////////////////////////////
47
+ static getJVMArgumentsTab() {
48
+ return this.getSystemInformationContent().getByTestId('jvm-arguments-tab');
49
+ }
50
+
51
+ ////////////////////////////////
52
+ // Configuration Parameters Tab
53
+ ////////////////////////////////
54
+ static getConfigurationParametersTab() {
55
+ return this.getSystemInformationContent().getByTestId('configuration-parameters-tab');
56
+ }
57
+
58
+ static verifyInitialState() {
59
+ this.getSystemInformationView().should('exist');
60
+ this.getSystemInformationContent().should('be.visible');
61
+ this.getApplicationInfoTab().should('exist');
62
+ this.getGraphDBInfo().should('exist');
63
+ this.getJVMArgumentsTab().should('exist');
64
+ this.getConfigurationParametersTab().should('exist');
65
+ this.getOperatingSystemInfo().should('exist');
66
+ this.getServerReport().should('exist');
67
+ this.getServerReportDownloadButton().should('exist');
68
+ this.getNewReportButton().should('exist');
69
+ }
70
+ }
@@ -17,7 +17,7 @@ export class ChatPanelSteps {
17
17
  }
18
18
 
19
19
  static getQuestionInputElement() {
20
- return ChatPanelSteps.getChatPanel().find('.question-input');
20
+ return ChatPanelSteps.getChatPanel().find('.question-input .contenteditable');
21
21
  }
22
22
 
23
23
  static getAskButtonElement() {
@@ -37,6 +37,30 @@ export class TtygAgentSettingsModalSteps extends ModalDialogSteps {
37
37
  return this.getAgentNameFormGroup().find('.alert-danger');
38
38
  }
39
39
 
40
+ static getExtIntegrationConfigBtn() {
41
+ return cy.get('.external-config-btn');
42
+ }
43
+
44
+ static openExtIntegrationConfig() {
45
+ this.getExtIntegrationConfigBtn().click();
46
+ }
47
+
48
+ static getExternalIntegrationModal() {
49
+ return cy.get('.external-integration-configuration-modal .modal-content');
50
+ }
51
+
52
+ static getAgentUrlField() {
53
+ return this.getExternalIntegrationModal().find('#agentId');
54
+ }
55
+
56
+ static getMethodUrlField() {
57
+ return this.getExternalIntegrationModal().find('#queryMethods');
58
+ }
59
+
60
+ static getDifyUrlField() {
61
+ return this.getExternalIntegrationModal().find('#difyExtension');
62
+ }
63
+
40
64
  // Repository ID
41
65
 
42
66
  static getRepositoryIdFromGroup() {
@@ -321,27 +345,62 @@ export class TtygAgentSettingsModalSteps extends ModalDialogSteps {
321
345
  this.getRetrievalConnectorField().find('option:selected').should('have.text', connectorName);
322
346
  }
323
347
 
324
- // GPT model
348
+ // LLM model
325
349
 
326
- static getGptModelFormGroup() {
327
- return this.getDialog().find('.gpt-model');
350
+ static getLLMModelFormGroup() {
351
+ return this.getDialog().find('.llm-model');
328
352
  }
329
353
 
330
- static getGptModelField() {
331
- return this.getGptModelFormGroup().find('input');
354
+ static getLLMModelField() {
355
+ return this.getLLMModelFormGroup().find('input');
332
356
  }
333
357
 
334
- static clearGptModel() {
335
- this.getGptModelField().clear();
358
+ static clearLLMModel() {
359
+ this.getLLMModelField().clear();
336
360
  cy.realPress('Tab');
337
361
  }
338
362
 
339
- static getGptModelError() {
340
- return this.getGptModelFormGroup().find('.alert-danger');
363
+ static getLLMModelError() {
364
+ return this.getLLMModelFormGroup().find('.alert-danger');
365
+ }
366
+
367
+ static typeLLMModel(value) {
368
+ return this.getLLMModelField().type(value);
369
+ }
370
+
371
+ static clickLLMModelField() {
372
+ this.getLLMModelField().click();
373
+ }
374
+
375
+ // Context size
376
+
377
+ static getContextSizeFormGroup() {
378
+ return this.getDialog().find('.context-size');
379
+ }
380
+
381
+ static getContextSizeField() {
382
+ return this.getDialog().find('.context-size input');
383
+ }
384
+
385
+ static clearContextSize() {
386
+ return this.getContextSizeField().clear();
387
+ }
388
+
389
+ static enterContextSize(input) {
390
+ this.getContextSizeField().type(input);
341
391
  }
342
392
 
343
- static typeGptModel(value) {
344
- return this.getGptModelField().type(value);
393
+ static getContextSizeError() {
394
+ return this.getContextSizeFormGroup().find('.alert-danger');
395
+ }
396
+
397
+ static resetContextSizeValue() {
398
+ this.getContextSizeField()
399
+ .realHover()
400
+ .then(() => this.getContextSizeFormGroup().find('.reset-context-size-btn'))
401
+ .scrollIntoView()
402
+ .should('be.visible')
403
+ .click();
345
404
  }
346
405
 
347
406
  // temperature
@@ -366,6 +425,10 @@ export class TtygAgentSettingsModalSteps extends ModalDialogSteps {
366
425
  return this.getTemperatureFormGroup().find('.high-temperature-warning');
367
426
  }
368
427
 
428
+ static scrollToTemperatureWarning() {
429
+ return this.getTemperatureWarning().scrollIntoView();
430
+ }
431
+
369
432
  // Top P
370
433
 
371
434
  static getTopPFormGroup() {
@@ -432,18 +495,6 @@ export class TtygAgentSettingsModalSteps extends ModalDialogSteps {
432
495
  this.getAutocompleteMaxResults().type(number);
433
496
  }
434
497
 
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');
445
- }
446
-
447
498
  static toggleAutocompleteSearchPanel() {
448
499
  cy.get('.extraction-method-toggle .panel-toggle-link .toggle-icon').click();
449
500
  }
@@ -456,6 +507,14 @@ export class TtygAgentSettingsModalSteps extends ModalDialogSteps {
456
507
  this.getSuggestionsList().eq(index).click();
457
508
  }
458
509
 
510
+ static getAutocompleteDisabledMessage() {
511
+ return cy.get('.autocomplete-disabled-message');
512
+ }
513
+
514
+ static clickOnEnableFTSSearch() {
515
+ this.getAutocompleteDisabledMessage().find('a').click();
516
+ }
517
+
459
518
  // System instructions
460
519
 
461
520
  static getSystemInstructionsFormGroup() {