graphdb-workbench-tests 3.4.0-TR4 → 3.4.0-TR6

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,14 +1,20 @@
1
- export class BackupAndRestoreSteps {
1
+ import {BaseSteps} from "../base-steps";
2
+
3
+ export class BackupAndRestoreSteps extends BaseSteps {
2
4
 
3
5
  static visit() {
4
6
  cy.visit('/monitor/backup-and-restore');
5
7
  }
6
8
 
9
+ static getBackupAndRestorePage() {
10
+ return this.getByTestId('backup-and-restore-page');
11
+ }
12
+
7
13
  static getInfoMessageElement() {
8
- return cy.get('.no-running-backup-and-restore-alert');
14
+ return this.getBackupAndRestorePage().getByTestId('no-running-backup-and-restore-alert');
9
15
  }
10
16
 
11
17
  static getBackupAndRestoreResults() {
12
- return cy.get('.backup-and-restore table tbody tr');
18
+ return this.getBackupAndRestorePage().find('table tbody tr');
13
19
  }
14
20
  }
@@ -0,0 +1,20 @@
1
+ import {BaseSteps} from "../base-steps";
2
+
3
+ export class QueriesAndUpdatesSteps extends BaseSteps {
4
+
5
+ static visit() {
6
+ super.visit('/monitor/queries');
7
+ }
8
+
9
+ static getQueryAndUpdatePage() {
10
+ return super.getByTestId('monitoring-queries-and-updates');
11
+ }
12
+
13
+ static getPauseButton() {
14
+ return this.getQueryAndUpdatePage().getByTestId('pause-button');
15
+ }
16
+
17
+ static getNoRunningQueriesOrUpdates() {
18
+ return this.getQueryAndUpdatePage().getByTestId('no-running-queries-or-updates-alert');
19
+ }
20
+ }
@@ -0,0 +1,40 @@
1
+ import {BaseSteps} from "../base-steps";
2
+
3
+ export class SystemMonitoringSteps extends BaseSteps {
4
+ static visit() {
5
+ cy.visit('/monitor/system');
6
+ }
7
+
8
+ static getSystemMonitoringPage() {
9
+ return this.getByTestId('system-monitoring-page');
10
+ }
11
+
12
+ static getCPUUsageChart() {
13
+ return this.getSystemMonitoringPage().getByTestId('cpu-usage-chart');
14
+ }
15
+
16
+ static getFileDescriptorChart() {
17
+ return this.getSystemMonitoringPage().getByTestId('file-descriptor-chart');
18
+ }
19
+
20
+ static getHeapMemoryChart() {
21
+ return this.getSystemMonitoringPage().getByTestId('heap-memory-chart');
22
+ }
23
+
24
+ static getOffHeapMemoryChart() {
25
+ return this.getSystemMonitoringPage().getByTestId('off-heap-memory-chart');
26
+ }
27
+
28
+ static getDiskStorageChart() {
29
+ return this.getSystemMonitoringPage().getByTestId('disk-storage-chart');
30
+ }
31
+
32
+ static verifyInitialStateWithSelectedRepository() {
33
+ this.getSystemMonitoringPage().should('be.visible');
34
+ this.getCPUUsageChart().should('be.visible');
35
+ this.getFileDescriptorChart().should('be.visible');
36
+ this.getHeapMemoryChart().should('be.visible');
37
+ this.getOffHeapMemoryChart().should('be.visible');
38
+ this.getDiskStorageChart().should('be.visible');
39
+ }
40
+ }
@@ -0,0 +1,23 @@
1
+ import {BaseSteps} from "../base-steps.js";
2
+
3
+ export class NotFoundSteps extends BaseSteps {
4
+ static visit(url) {
5
+ BaseSteps.visit(url);
6
+ }
7
+
8
+ static getNotFoundBanner() {
9
+ return cy.getByTestId('not-found-banner');
10
+ }
11
+
12
+ static getNotFoundContent() {
13
+ return this.getNotFoundBanner().invoke('text');
14
+ }
15
+
16
+ static getGoHomeButton() {
17
+ return this.getNotFoundBanner().find('a.btn.btn-primary');
18
+ }
19
+
20
+ static clickGoHomeButton() {
21
+ this.getGoHomeButton().click();
22
+ }
23
+ }
@@ -1,3 +1,5 @@
1
+ import {BrowserStubs} from "../stubs/browser-stubs";
2
+
1
3
  export class OperationsStatusesComponentSteps {
2
4
 
3
5
  static getOperationsStatusesComponent() {
@@ -13,15 +15,15 @@ export class OperationsStatusesComponentSteps {
13
15
  }
14
16
 
15
17
  static getQueriesOperationStatusHeaderElement() {
16
- return OperationsStatusesComponentSteps.getOperationStatusHeader('.icon-exchange');
18
+ return OperationsStatusesComponentSteps.getOperationStatusHeader('.ri-arrow-left-right-line');
17
19
  }
18
20
 
19
21
  static getBackupAndRestoreOperationStatusHeaderElement() {
20
- return OperationsStatusesComponentSteps.getOperationStatusHeader('.fa.fa-archive');
22
+ return OperationsStatusesComponentSteps.getOperationStatusHeader('.ri-archive-line');
21
23
  }
22
24
 
23
25
  static getClusterOperationStatusHeaderElement() {
24
- return OperationsStatusesComponentSteps.getOperationStatusHeader('.fa.fa-sitemap');
26
+ return OperationsStatusesComponentSteps.getOperationStatusHeader('.ri-organization-chart');
25
27
  }
26
28
 
27
29
  static getOperationStatuses() {
@@ -31,11 +33,4 @@ export class OperationsStatusesComponentSteps {
31
33
  static openOperationStatusesDialog() {
32
34
  OperationsStatusesComponentSteps.getOperationsStatusesComponent().click();
33
35
  }
34
-
35
- static checkOperationElementUrl(expectedUrl, operationIndex = 0) {
36
- OperationsStatusesComponentSteps.getOperationStatuses().eq(operationIndex).then(($operationElement) => {
37
- expect($operationElement).to.have.attr('target', '_blank');
38
- expect($operationElement).to.have.attr('href', expectedUrl);
39
- });
40
- }
41
36
  }
@@ -0,0 +1,55 @@
1
+ import {BaseSteps} from "./base-steps";
2
+
3
+ export class RdfResourceSearchSteps extends BaseSteps {
4
+
5
+ static getComponent() {
6
+ return this.getByTestId('onto-rdf-search-component');
7
+ }
8
+
9
+ static getShowViewResourceMessageButton() {
10
+ return this.getByTestId('onto-show-view-resource-message');
11
+ }
12
+
13
+ static clickOnShowViewResourceMessageButton() {
14
+ this.getShowViewResourceMessageButton().click();
15
+ }
16
+
17
+ static getOpenButton() {
18
+ return this.getByTestId('onto-open-rdf-search-button');
19
+ }
20
+
21
+ static clickOnRDFResourceSearch() {
22
+ this.getOpenButton().click();
23
+ }
24
+
25
+ static getRDFResourceSearchInput() {
26
+ return this.getComponent().getByTestId('rdfSearchContext');
27
+ }
28
+
29
+ static getCloseButton() {
30
+ return this.getComponent().getByTestId('onto-rdf-resource-search-close-btn');
31
+ }
32
+
33
+ static getAutocompleteResults() {
34
+ return this.getComponent().getByTestId('onto-autocomplete-results');
35
+ }
36
+
37
+ static getAutocompleteSuggestionByPartialText(partialText) {
38
+ return this.getAutocompleteResults().getByTestId('onto-autocomplete-suggestion').contains(partialText);
39
+ }
40
+
41
+ static clickOnAutocompleteSuggestionByPartialText(partialText) {
42
+ return this.getAutocompleteSuggestionByPartialText(partialText).click();
43
+ }
44
+
45
+ static openRdfSearchBox() {
46
+ RdfResourceSearchSteps.clickOnRDFResourceSearch();
47
+ RdfResourceSearchSteps.getRDFResourceSearchInput()
48
+ .should('be.visible')
49
+ .and('be.focused');
50
+ }
51
+
52
+ static closeRDFSearchBox() {
53
+ this.getCloseButton().click();
54
+ }
55
+ }
@@ -1,18 +1,18 @@
1
1
  export class RepositorySelectorSteps {
2
2
 
3
3
  static getRepositorySelectorDropdown() {
4
- return cy.get('#repositorySelectDropdown');
4
+ return cy.get('.onto-repository-selector');
5
5
  }
6
6
 
7
7
  static getRepositorySelectorsButton() {
8
- return RepositorySelectorSteps.getRepositorySelectorDropdown().find('#btnReposGroup');
8
+ return RepositorySelectorSteps.getRepositorySelectorDropdown().find('.onto-dropdown-button .repository-selection');
9
9
  }
10
10
  static openRepositorySelectors() {
11
11
  RepositorySelectorSteps.getRepositorySelectorsButton().click();
12
12
  }
13
13
 
14
14
  static getRepositorySelectorButton(repositoryId) {
15
- return RepositorySelectorSteps.getRepositorySelectorDropdown().find('.dropdown-menu .multiline-text').contains(repositoryId);
15
+ return RepositorySelectorSteps.getRepositorySelectorDropdown().find('.repository-selector-dropdown-item .repository-id').contains(repositoryId);
16
16
  }
17
17
 
18
18
  static selectRepository(repositoryId) {
@@ -1,6 +1,7 @@
1
1
  import {REPOSITORIES_URL} from "../support/repository-commands";
2
+ import {BaseSteps} from "./base-steps.js";
2
3
 
3
- export class RepositorySteps {
4
+ export class RepositorySteps extends BaseSteps {
4
5
 
5
6
  static visit() {
6
7
  cy.intercept('/rest/locations').as('getLocations');
@@ -8,7 +9,6 @@ export class RepositorySteps {
8
9
  cy.visit('/repository');
9
10
  RepositorySteps.waitLoader();
10
11
  cy.wait('@getLocations');
11
- // cy.window();
12
12
  RepositorySteps.waitUntilRepositoriesPageIsLoaded();
13
13
  }
14
14
 
@@ -16,28 +16,52 @@ export class RepositorySteps {
16
16
  cy.visit(`repository/edit/${repositoryId}?location=`);
17
17
  }
18
18
 
19
+ static getRepositoryPage() {
20
+ return cy.get('#wb-repository');
21
+ }
22
+
23
+ static getRepositoriesPage() {
24
+ return cy.get('#wb-repositories');
25
+ }
26
+
19
27
  static getCreateRepositoryButton() {
20
28
  return cy.get('#wb-repositories-addRepositoryLink');
21
29
  }
22
30
 
23
31
  static waitUntilRepositoriesPageIsLoaded() {
24
- // Workbench loading screen should not be visible
25
- cy.get('.ot-splash').should('not.be.visible');
26
-
27
32
  RepositorySteps.getRepositoriesDropdown().should('not.be.disabled');
28
33
  RepositorySteps.getCreateRepositoryButton().should('be.visible').and('not.be.disabled');
29
34
  }
30
35
 
31
36
  static getRepositoriesDropdown() {
32
- return cy.get('#repositorySelectDropdown')
33
- .scrollIntoView()
34
- .should('be.visible');
37
+ cy.getByTestId('onto-repository-selector')
38
+ .scrollIntoView();
39
+ return cy.getByTestId('onto-repository-selector').should('be.visible');
40
+ }
41
+
42
+ static getRepositorySelection() {
43
+ cy.getByTestId('repository-selection')
44
+ .scrollIntoView();
45
+ return cy.getByTestId('repository-selection').should('be.visible');
46
+ }
47
+
48
+ static verifyRepositoryIsSelected(repositoryId) {
49
+ return RepositorySteps.getRepositorySelection().should('contain', repositoryId);
50
+ }
51
+
52
+ static getRepositoriesInDropdown() {
53
+ return cy.get('.onto-dropdown-menu-item');
35
54
  }
36
55
 
56
+
37
57
  static getRepositoriesList() {
38
58
  return cy.get('#wb-repositories-repositoryInGetRepositories');
39
59
  }
40
60
 
61
+ static getActiveRepositoryRow() {
62
+ return this.getRepositoriesList().find('.repository.active');
63
+ }
64
+
41
65
  static getRepositoryFromList(repository) {
42
66
  RepositorySteps.waitLoader();
43
67
  return RepositorySteps.getRepositoriesList()
@@ -47,15 +71,23 @@ export class RepositorySteps {
47
71
  .closest('.repository');
48
72
  }
49
73
 
74
+ static getConnectRepositoryButtons(repoId) {
75
+ return cy.getByTestId(`repository-${repoId}`).find('td').first();
76
+ }
77
+
78
+ static clickConnectRepositoryButton(repositoryId) {
79
+ this.getConnectRepositoryButtons(repositoryId).click();
80
+ }
81
+
50
82
  static waitLoader() {
51
- cy.get('.ot-loader').should('not.be.visible');
83
+ cy.get('.ot-loader-new-content').should('not.be.visible');
52
84
  }
53
85
 
54
86
  static getRepositoryConnectionOffBtn(id) {
55
87
  return RepositorySteps.getRepositoryFromList(id).find('.icon-connection-off');
56
88
  }
57
89
 
58
- static clickRepositoryConnectionOffBtn(id) {
90
+ static activateRepository(id) {
59
91
  RepositorySteps.getRepositoryConnectionOffBtn(id).click();
60
92
  }
61
93
 
@@ -70,7 +102,7 @@ export class RepositorySteps {
70
102
  // Forcefully clicking it due to https://github.com/cypress-io/cypress/issues/695
71
103
  .should('be.visible')
72
104
  .and('not.be.disabled')
73
- .click({force: true});
105
+ .click();
74
106
  }
75
107
 
76
108
  static editRepository(repositoryId) {
@@ -111,10 +143,18 @@ export class RepositorySteps {
111
143
  RepositorySteps.getRepositoryTypeButton(type).click();
112
144
  }
113
145
 
146
+ static createFedexRepositoryType() {
147
+ RepositorySteps.chooseRepositoryType('fedx');
148
+ }
149
+
114
150
  static getGDBRepositoryTypeButton() {
115
151
  return RepositorySteps.getRepositoryTypeButton('gdb');
116
152
  }
117
153
 
154
+ static clickGDBRepositoryTypeButton() {
155
+ RepositorySteps.getGDBRepositoryTypeButton().click();
156
+ }
157
+
118
158
  static getRepositoryCreateForm() {
119
159
  return cy.get('#newRepoForm').should('be.visible');
120
160
  }
@@ -155,6 +195,17 @@ export class RepositorySteps {
155
195
  this.getRepositoryIdEditElement().click();
156
196
  }
157
197
 
198
+ static getGDBIdInput() {
199
+ return cy.getByTestId('gdb-repo-id-input');
200
+ }
201
+
202
+ static typeRepoId(id) {
203
+ return this.getGDBIdInput()
204
+ // https://github.com/cypress-io/cypress/issues/18747
205
+ .type(id, {force: true})
206
+ .should('have.value', id);
207
+ }
208
+
158
209
  static typeRepositoryTitle(title) {
159
210
  RepositorySteps.getRepositoryTitleField().clear().type(title);
160
211
  }
@@ -196,14 +247,21 @@ export class RepositorySteps {
196
247
  RepositorySteps.waitLoader();
197
248
  }
198
249
 
199
- static selectRepoFromDropdown(repositoryId) {
200
- RepositorySteps.getRepositoriesDropdown()
201
- .click()
202
- .find('.dropdown-menu-right .dropdown-item')
250
+ static clickRepositoriesDropdown() {
251
+ this.getRepositoriesDropdown().click();
252
+ }
253
+
254
+ static selectRepositoryFromDropdown(repositoryId) {
255
+ this.getRepositoriesInDropdown()
256
+ .should('be.visible')
203
257
  .contains(repositoryId)
204
- .closest('a')
205
- // Force the click because Cypress sometimes determines that the item has 0x0 dimensions
206
- .click({force: true});
258
+ .first()
259
+ .click();
260
+ }
261
+
262
+ static selectRepoFromDropdown(repositoryId) {
263
+ this.clickRepositoriesDropdown();
264
+ this.selectRepositoryFromDropdown(repositoryId);
207
265
  }
208
266
 
209
267
  static getSHACLRepositoryCheckbox() {
@@ -308,4 +366,16 @@ export class RepositorySteps {
308
366
  static getEntityIndexSize() {
309
367
  return RepositorySteps.getRepositoryCreateForm().find('#entityIndexSize');
310
368
  }
369
+
370
+ static getFedexMembersPanel() {
371
+ return this.getRepositoryPage().find('#fedx-members');
372
+ }
373
+
374
+ static selectFedexMember(repositoryId) {
375
+ this.getFedexMembersPanel()
376
+ .find('.form-local-repos')
377
+ .find('.location-item')
378
+ .contains(repositoryId)
379
+ .click();
380
+ }
311
381
  }
@@ -37,11 +37,11 @@ export class ResourceSteps {
37
37
  }
38
38
 
39
39
  static verifySameAsEnable() {
40
- ResourceSteps.getSameAsButton().find('.icon-sameas-on').should('have.length', 1);
40
+ ResourceSteps.getSameAsButton().find('.icon-same-as-on').should('have.length', 1);
41
41
  }
42
42
 
43
43
  static verifySameAsDisable() {
44
- ResourceSteps.getSameAsButton().find('.icon-sameas-off').should('have.length', 1);
44
+ ResourceSteps.getSameAsButton().find('.icon-same-as-off').should('have.length', 1);
45
45
  }
46
46
 
47
47
  static getShowBlankNodesButton() {
@@ -61,14 +61,6 @@ export class ResourceSteps {
61
61
  cy.get('.download-options li').eq(option).click();
62
62
  }
63
63
 
64
- static getVisualGraphButton() {
65
- return cy.get('.visual-graph-btn');
66
- }
67
-
68
- static clickOnVisualGraphButton() {
69
- ResourceSteps.getVisualGraphButton().click();
70
- }
71
-
72
64
  static getEditResourceLink() {
73
65
  return cy.get('.edit-resource-link');
74
66
  }
@@ -151,4 +143,8 @@ export class ResourceSteps {
151
143
  static clickOnTripleResourceLink() {
152
144
  ResourceSteps.getTripleResourceLink().click();
153
145
  }
146
+
147
+ static getDataTable() {
148
+ return cy.get('.dataTable');
149
+ }
154
150
  }
@@ -0,0 +1,15 @@
1
+ import {BaseSteps} from "./base-steps";
2
+
3
+ export class RestApiDocumentationSteps extends BaseSteps {
4
+ static visit() {
5
+ cy.visit('webapi');
6
+ }
7
+
8
+ static getRestApiContent() {
9
+ return this.getByTestId('rest-api-content');
10
+ }
11
+
12
+ static verifyInitialState() {
13
+ this.getRestApiContent().should('be.visible');
14
+ }
15
+ }
@@ -11,6 +11,18 @@ export class AclManagementSteps {
11
11
  return this.getPage().find('#acl-management-view-title');
12
12
  }
13
13
 
14
+ static getFedexWarningMessage() {
15
+ return this.getPage().find('.unexpected-fedex-repository-warning');
16
+ }
17
+
18
+ static getAclManagementContainer() {
19
+ return this.getPage().find('.acl-management-container');
20
+ }
21
+
22
+ static getAclManagementContent() {
23
+ return this.getPage().find('.acl-management-content');
24
+ }
25
+
14
26
  static getAclTable() {
15
27
  return this.getPage().find('.acl-rules');
16
28
  }
@@ -70,7 +82,7 @@ export class AclManagementSteps {
70
82
  }
71
83
 
72
84
  static getActiveTabDirtyIcon() {
73
- return this.getActiveTab().find('.icon-exclamation');
85
+ return this.getActiveTab().find('.scope-dirty');
74
86
  }
75
87
 
76
88
  static addRuleInBeginning() {
@@ -165,6 +177,10 @@ export class AclManagementSteps {
165
177
  this.getRoleField(index).clear().type(value);
166
178
  }
167
179
 
180
+ static blurRole(index) {
181
+ this.getRoleField(index).blur();
182
+ }
183
+
168
184
  static getFieldError() {
169
185
  return cy.get('div.small');
170
186
  }
@@ -174,7 +190,7 @@ export class AclManagementSteps {
174
190
  }
175
191
 
176
192
  static getWarningIcon(index) {
177
- return this.getSavedRoleField(index).get('.icon-warning');
193
+ return this.getSavedRoleField(index).get('.ri-alert-line');
178
194
  }
179
195
 
180
196
  static getWarningIconTooltipText(index) {
@@ -1,15 +1,14 @@
1
- export class AutocompleteSteps {
1
+ import {BaseSteps} from "../base-steps";
2
+
3
+ export class AutocompleteSteps extends BaseSteps {
2
4
 
3
5
  static visit() {
4
6
  cy.visit('/autocomplete');
5
7
  }
6
8
 
7
9
  static waitUntilAutocompletePageIsLoaded() {
8
- // Workbench loading screen should not be visible
9
- cy.get('.ot-splash').should('not.be.visible');
10
-
11
10
  // No active loader
12
- cy.get('.ot-loader').should('not.exist');
11
+ cy.get('.ot-loader-new-content').should('not.exist');
13
12
 
14
13
  // Repository is active
15
14
  cy.get('.repository-errors').should('not.be.visible');
@@ -26,7 +25,11 @@ export class AutocompleteSteps {
26
25
  }
27
26
 
28
27
  static getAutocompletePage() {
29
- return cy.get('#autocomplete');
28
+ return this.getByTestId('autocomplete-page');
29
+ }
30
+
31
+ static getAutocompletePageContent() {
32
+ return this.getAutocompletePage().getByTestId('autocomplete-content');
30
33
  }
31
34
 
32
35
  static getAutocompleteIndex() {
@@ -34,13 +37,21 @@ export class AutocompleteSteps {
34
37
  }
35
38
 
36
39
  static getAutocompleteHeader() {
37
- return this.getAutocompleteIndex().find('.autocomplete-header');
40
+ return this.getAutocompletePageContent().getByTestId('autocomplete-header');
41
+ }
42
+
43
+ static getAutocompleteLabelsContainer() {
44
+ return this.getAutocompletePage().getByTestId('autocomplete-labels-container');
38
45
  }
39
46
 
40
47
  static getAutocompleteSwitch() {
41
48
  return this.getAutocompleteIndex().find('.autocomplete-switch');
42
49
  }
43
50
 
51
+ static enableToggleAutocomplete() {
52
+ this.getAutocompleteSwitch().click();
53
+ }
54
+
44
55
  static getAutocompleteStatus() {
45
56
  return this.getAutocompleteIndex().find('.autocomplete-status');
46
57
  }
@@ -76,6 +87,10 @@ export class AutocompleteSteps {
76
87
  return this.getAutocompletePage().find('#wb-autocomplete-labels');
77
88
  }
78
89
 
90
+ static getLabelRows() {
91
+ return this.getAutocompleteLabels().find('.wb-autocomplete-labels-row')
92
+ }
93
+
79
94
  static getTableRows() {
80
95
  return cy.get('.wb-autocomplete-labels-row');
81
96
  }
@@ -93,6 +108,6 @@ export class AutocompleteSteps {
93
108
  }
94
109
 
95
110
  static editLabelOnRow(rowIndex) {
96
- this.getTableRows().eq(rowIndex).find('.actions-bar .icon-edit').click();
111
+ this.getTableRows().eq(rowIndex).find('.actions-bar .ri-edit-line').click();
97
112
  }
98
113
  }
@@ -0,0 +1,32 @@
1
+ import {BaseSteps} from "../base-steps";
2
+
3
+ export class ConnectorsSteps extends BaseSteps {
4
+ static visit() {
5
+ super.visit('/connectors');
6
+ }
7
+
8
+ static getConnectorsPage() {
9
+ return this.getByTestId('connectors-page');
10
+ }
11
+
12
+ static getConnectorButton(buttonId) {
13
+ return this.getConnectorsPage().getByTestId(`connector-${buttonId}`);
14
+ }
15
+
16
+ static getReloadAllButton() {
17
+ return this.getConnectorsPage().getByTestId('reload-all-connectors');
18
+ }
19
+
20
+ static expandConnector(connectorName, instanceName) {
21
+ this.getByTestId(`connector-name-${connectorName}`).getByTestId(`${instanceName}-connector-toggle-button`).find('a').click();
22
+ }
23
+
24
+ static viewSPARQLQuery(connectorName, instanceName) {
25
+ const connectorContent = this.getByTestId(`connector-name-${connectorName}`).getByTestId(`${instanceName}-connector-content`);
26
+ connectorContent.getByTestId('open-view-sparql-query-dialog').click();
27
+ }
28
+
29
+ static closeSPARQLQueryDialog() {
30
+ this.getByTestId('close-view-query-dialog').click();
31
+ }
32
+ }
@@ -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() {