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
@@ -0,0 +1,40 @@
1
+ import HomeSteps from "../../../steps/home-steps";
2
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
+ import {AutocompleteSteps} from "../../../steps/setup/autocomplete-steps";
4
+
5
+ describe('Autocomplete with selected repository', () => {
6
+ let repositoryId;
7
+
8
+ beforeEach(() => {
9
+ repositoryId = 'autocomplete-init-' + Date.now();
10
+ cy.createRepository({id: repositoryId});
11
+ cy.presetRepository(repositoryId);
12
+ });
13
+
14
+ afterEach(() => {
15
+ cy.deleteRepository(repositoryId);
16
+ });
17
+
18
+ it('Should display the correct initial state when navigating via URL', () => {
19
+ // Given, I visit the Autocomplete page via URL with a repository selected
20
+ AutocompleteSteps.visit();
21
+ // Then,
22
+ verifyInitialStateWithSelectedRepository();
23
+ });
24
+
25
+ it('Should display the correct initial state when navigating via the navigation bar', () => {
26
+ // Given, I visit the Autocomplete page via the navigation menu with a repository selected
27
+ HomeSteps.visit();
28
+ MainMenuSteps.clickOnAutocomplete();
29
+ // Then,
30
+ verifyInitialStateWithSelectedRepository();
31
+ });
32
+
33
+ const verifyInitialStateWithSelectedRepository = () => {
34
+ AutocompleteSteps.getAutocompletePage().should('exist');
35
+ AutocompleteSteps.getAutocompletePageContent().should('exist');
36
+ AutocompleteSteps.getAutocompletePage().should('exist');
37
+ AutocompleteSteps.getAutocompleteHeader().contains('Autocomplete for repository');
38
+ AutocompleteSteps.getAutocompleteLabelsContainer().should('exist');
39
+ };
40
+ })
@@ -0,0 +1,27 @@
1
+ import {ErrorSteps} from "../../../steps/error-steps";
2
+ import HomeSteps from "../../../steps/home-steps";
3
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
4
+ import {AutocompleteSteps} from "../../../steps/setup/autocomplete-steps";
5
+
6
+ describe('Autocomplete without selected repository', () => {
7
+ it('Should display the correct initial state when navigating via URL', () => {
8
+ // Given, I visit the Autocomplete page via URL without a repository selected
9
+ AutocompleteSteps.visit();
10
+ // Then,
11
+ verifyInitialStateWithoutSelectedRepository();
12
+ });
13
+
14
+ it('Should display the correct initial state when navigating via the navigation menu', () => {
15
+ // Given, I visit the Autocomplete page via the navigation menu without a repository selected
16
+ HomeSteps.visit();
17
+ MainMenuSteps.clickOnAutocomplete();
18
+ // Then,
19
+ verifyInitialStateWithoutSelectedRepository()
20
+ });
21
+
22
+ const verifyInitialStateWithoutSelectedRepository = () => {
23
+ ErrorSteps.verifyNoConnectedRepoMessage();
24
+ AutocompleteSteps.getAutocompletePage().should('exist');
25
+ AutocompleteSteps.getAutocompletePageContent().should('not.exist');
26
+ };
27
+ })
@@ -1,5 +1,5 @@
1
- import {AutocompleteSteps} from "../../steps/setup/autocomplete-steps";
2
- import {LicenseStubs} from "../../stubs/license-stubs";
1
+ import {AutocompleteSteps} from "../../../steps/setup/autocomplete-steps";
2
+ import {LicenseStubs} from "../../../stubs/license-stubs";
3
3
 
4
4
  describe('Autocomplete ', () => {
5
5
 
@@ -45,14 +45,13 @@ describe('Autocomplete ', () => {
45
45
  .and('not.be.disabled');
46
46
 
47
47
  // Should have default labels
48
- AutocompleteSteps.getAutocompleteLabels()
49
- .should('be.visible')
50
- .find('.wb-autocomplete-labels-row')
51
- .should('have.length', 1)
48
+ AutocompleteSteps.getAutocompleteLabels().should('be.visible')
49
+
50
+ AutocompleteSteps.getLabelRows().should('have.length', 1)
52
51
  .and('contain', 'http://www.w3.org/2000/01/rdf-schema#label');
53
52
 
54
53
  // Enable autocomplete and verify status is OK (possible slow operation)
55
- AutocompleteSteps.getAutocompleteSwitch().click();
54
+ AutocompleteSteps.enableToggleAutocomplete();
56
55
  AutocompleteSteps.getAutocompleteHeader()
57
56
  .find('.tag-primary')
58
57
  .should('be.visible')
@@ -0,0 +1,34 @@
1
+ import {ClusterPageSteps} from "../../../steps/cluster/cluster-page-steps";
2
+ import HomeSteps from "../../../steps/home-steps";
3
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
4
+ import {GlobalOperationsStatusesStub} from "../../../stubs/global-operations-statuses-stub";
5
+ import {ClusterStubs} from "../../../stubs/cluster/cluster-stubs";
6
+
7
+ function verifyInitialStateWithConfiguredCluster() {
8
+ ClusterPageSteps.getNoClusterImage().should('not.exist');
9
+ ClusterPageSteps.getUpdateClusterButton().should('be.visible');
10
+ ClusterPageSteps.getPreviewClusterConfigButton().should('be.visible');
11
+ }
12
+
13
+ describe('Cluster initial state with configured cluster', () => {
14
+ beforeEach(() => {
15
+ ClusterStubs.stubClusterConfig();
16
+ ClusterStubs.stubClusterGroupStatus();
17
+ ClusterStubs.stubClusterNodeStatus();
18
+ });
19
+
20
+ it('Should display the correct initial state when navigating via URL', () => {
21
+ // Given, I visit the Cluster page via URL with a configured cluster
22
+ ClusterPageSteps.visit();
23
+ // Then,
24
+ verifyInitialStateWithConfiguredCluster();
25
+ });
26
+
27
+ it('Should display the correct initial state when navigating via the navigation menu', () => {
28
+ // Given, I visit the Cluster page via the navigation menu with a configured cluster
29
+ HomeSteps.visit();
30
+ MainMenuSteps.clickOnCluster();
31
+ // Then,
32
+ verifyInitialStateWithConfiguredCluster();
33
+ });
34
+ })
@@ -0,0 +1,25 @@
1
+ import HomeSteps from "../../../steps/home-steps";
2
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
+ import {ClusterPageSteps} from "../../../steps/cluster/cluster-page-steps";
4
+
5
+ function verifyInitialStateWithoutConfiguredCluster() {
6
+ ClusterPageSteps.getNoClusterImage().should('be.visible');
7
+ ClusterPageSteps.getLegendButton().should('be.visible');
8
+ }
9
+
10
+ describe('Cluster initial state without configured cluster', () => {
11
+ it('Should display the correct initial state when navigating via URL', () => {
12
+ // Given, I visit the Cluster page via URL without a configured cluster
13
+ ClusterPageSteps.visit();
14
+ // Then,
15
+ verifyInitialStateWithoutConfiguredCluster();
16
+ });
17
+
18
+ it('Should display the correct initial state when navigating via the navigation menu', () => {
19
+ // Given, I visit the Cluster page via the navigation menu without a configured cluster
20
+ HomeSteps.visit();
21
+ MainMenuSteps.clickOnCluster();
22
+ // Then,
23
+ verifyInitialStateWithoutConfiguredCluster();
24
+ });
25
+ })
@@ -0,0 +1,41 @@
1
+ import {ConnectorsSteps} from "../../../steps/setup/connectors-steps";
2
+ import HomeSteps from "../../../steps/home-steps";
3
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
4
+
5
+ const expectedButtons = ['elasticsearch', 'opensearch', 'solr', 'lucene', 'kafka', 'chatgpt-retrieval'];
6
+
7
+ function verifyConnectorsPage() {
8
+ expectedButtons.forEach(buttonId => {
9
+ ConnectorsSteps.getConnectorButton(buttonId).should('be.visible');
10
+ });
11
+ ConnectorsSteps.getReloadAllButton().should('be.visible');
12
+ }
13
+
14
+ describe('Connectors initial state with repositories', () => {
15
+ let repositoryId;
16
+
17
+ beforeEach(() => {
18
+ repositoryId = 'connectors-init-' + Date.now();
19
+ cy.createRepository({id: repositoryId});
20
+ cy.presetRepository(repositoryId);
21
+ });
22
+
23
+ afterEach(() => {
24
+ cy.deleteRepository(repositoryId);
25
+ });
26
+
27
+ it('Should display the correct initial state when navigating via URL', () => {
28
+ // Given, I visit the Connectors page via URL without a repository selected
29
+ ConnectorsSteps.visit();
30
+ // Then,
31
+ verifyConnectorsPage();
32
+ });
33
+
34
+ it('Should display the correct initial state when navigating via the navigation menu', () => {
35
+ // Given, I visit the Connectors page via the navigation menu without a repository selected
36
+ HomeSteps.visit();
37
+ MainMenuSteps.clickOnConnectors();
38
+ // Then,
39
+ verifyConnectorsPage();
40
+ });
41
+ });
@@ -0,0 +1,21 @@
1
+ import {ErrorSteps} from "../../../steps/error-steps";
2
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
+ import HomeSteps from "../../../steps/home-steps";
4
+ import {ConnectorsSteps} from "../../../steps/setup/connectors-steps";
5
+
6
+ describe('Connectors initial state without repositories', () => {
7
+ it('Should display the correct initial state when navigating via URL', () => {
8
+ // Given, I visit the Connectors page via URL without a repository selected
9
+ ConnectorsSteps.visit();
10
+ // Then,
11
+ ErrorSteps.verifyNoConnectedRepoMessage();
12
+ });
13
+
14
+ it('Should display the correct initial state when navigating via the navigation menu', () => {
15
+ // Given, I visit the Connectors page via the navigation menu without a repository selected
16
+ HomeSteps.visit();
17
+ MainMenuSteps.clickOnConnectors();
18
+ // Then,
19
+ ErrorSteps.verifyNoConnectedRepoMessage();
20
+ });
21
+ })
@@ -33,14 +33,10 @@ describe('Setup / Connectors - Lucene', () => {
33
33
  getCreateLuceneConnectorPage()
34
34
  .should('contain', 'Create new Lucene Connector')
35
35
  .within(() => {
36
- getConnectorNameField()
37
- .type(luceneConnectorName);
38
- getFieldNameField()
39
- .type(fieldName, {force: true});
40
- getPropertyChainField()
41
- .type(connectorPropertyChain, {force: true});
42
- getUriTypes()
43
- .type(uriType);
36
+ typeConnectorName(luceneConnectorName);
37
+ typeFieldName(fieldName);
38
+ typePropertyChain(connectorPropertyChain);
39
+ typeUriTypes(uriType);
44
40
  confirmCreateConnector();
45
41
  });
46
42
 
@@ -48,7 +44,7 @@ describe('Setup / Connectors - Lucene', () => {
48
44
  verifyConnectorExists(luceneConnectorName);
49
45
  //copy connector
50
46
  getConnectorInstance(0)
51
- .find('.icon-copy')
47
+ .find('.ri-file-copy-line')
52
48
  .should('be.visible')
53
49
  .click()
54
50
  .then(() => {
@@ -60,7 +56,7 @@ describe('Setup / Connectors - Lucene', () => {
60
56
  verifyConnectorExists(luceneConnectorName + '-copy');
61
57
  //delete connector copy
62
58
  getConnectorInstance(1)
63
- .find('.icon-trash')
59
+ .find('.ri-delete-bin-6-line')
64
60
  .should('be.visible')
65
61
  .click();
66
62
  getConfirmConnectorDeletebutton()
@@ -88,18 +84,38 @@ describe('Setup / Connectors - Lucene', () => {
88
84
  return cy.get('.connector-name-field input');
89
85
  }
90
86
 
87
+ function typeConnectorName(name) {
88
+ getConnectorNameField().type(name);
89
+ getConnectorNameField().blur();
90
+ }
91
+
91
92
  function getFieldNameField() {
92
93
  return cy.get('.child-property-fieldName input');
93
94
  }
94
95
 
96
+ function typeFieldName(name) {
97
+ getFieldNameField().type(name);
98
+ getFieldNameField().blur();
99
+ }
100
+
95
101
  function getPropertyChainField() {
96
102
  return cy.get('.child-property-propertyChain input');
97
103
  }
98
104
 
105
+ function typePropertyChain(chain) {
106
+ getPropertyChainField().type(chain);
107
+ getPropertyChainField().blur();
108
+ }
109
+
99
110
  function getUriTypes() {
100
111
  return cy.get('.property-types input');
101
112
  }
102
113
 
114
+ function typeUriTypes(types) {
115
+ getUriTypes().type(types);
116
+ getUriTypes().blur();
117
+ }
118
+
103
119
  function confirmCreateConnector() {
104
120
  cy.get('.create-connector-btn')
105
121
  .scrollIntoView()
@@ -6,7 +6,7 @@ import {ModalDialogSteps, VerifyConfirmationDialogOptions} from "../../../steps/
6
6
  import {YasqeSteps} from "../../../steps/yasgui/yasqe-steps";
7
7
  import {MainMenuSteps} from "../../../steps/main-menu-steps";
8
8
  import {RepositorySelectorSteps} from "../../../steps/repository-selector-steps";
9
- import {YasguiLoader} from "../../../steps/yasgui/yasgui-loader";
9
+ import {ApplicationSteps} from "../../../steps/application-steps.js";
10
10
 
11
11
  const FILE_TO_IMPORT = '200-row-allianz.ttl';
12
12
  const DEFAULT_QUERY = 'PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n' +
@@ -64,7 +64,7 @@ describe('JDBC configuration', () => {
64
64
  JdbcCreateSteps.clickOnPreviewButton();
65
65
 
66
66
  // Then I expect to see loader,
67
- YasguiLoader.verifyMessage('Preview of first 100 rows of table', 1);
67
+ ApplicationSteps.geLoader().should('contain', 'Preview of first 100 rows of table');
68
68
  // and see the generated preview.
69
69
  YasrSteps.getResults().should('be.visible');
70
70
  });
@@ -324,6 +324,6 @@ function createVerifyConfirmationDialogOptions() {
324
324
  return new VerifyConfirmationDialogOptions()
325
325
  .setChangePageFunction(() => MainMenuSteps.clickOnMenuImport())
326
326
  .setConfirmationMessage('You have unsaved changes. Are you sure that you want to exit?')
327
- .setVerifyCurrentUrl(() => cy.url().should('eq', `${Cypress.config('baseUrl')}/jdbc/configuration/create`))
328
- .setVerifyRedirectedUrl(() => cy.url().should('eq', `${Cypress.config('baseUrl')}/import#user`));
327
+ .setVerifyCurrentUrl(() => cy.url().should('include', `${Cypress.config('baseUrl')}/jdbc/configuration/create`))
328
+ .setVerifyRedirectedUrl(() => cy.url().should('include', '/import').and('include', '#user'));
329
329
  }
@@ -0,0 +1,39 @@
1
+ import HomeSteps from "../../../steps/home-steps";
2
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
+ import {JdbcSteps} from "../../../steps/setup/jdbc-steps";
4
+
5
+ describe('JDBC with selected repository', () => {
6
+ let repositoryId;
7
+
8
+ beforeEach(() => {
9
+ repositoryId = 'jdbc-init-' + Date.now();
10
+ cy.createRepository({id: repositoryId});
11
+ cy.presetRepository(repositoryId);
12
+ });
13
+
14
+ afterEach(() => {
15
+ cy.deleteRepository(repositoryId);
16
+ });
17
+
18
+ it('Should display the correct initial state when navigating via URL', () => {
19
+ // Given, I visit the JDBC page via URL with a repository selected
20
+ JdbcSteps.visit();
21
+ // Then,
22
+ verifyInitialStateWithSelectedRepository();
23
+ });
24
+
25
+ it('Should display the correct initial state when navigating via the navigation bar', () => {
26
+ // Given, I visit the JDBC page via the navigation menu with a repository selected
27
+ HomeSteps.visit();
28
+ MainMenuSteps.clickOnJDBC();
29
+ // Then,
30
+ verifyInitialStateWithSelectedRepository();
31
+ });
32
+
33
+ const verifyInitialStateWithSelectedRepository = () => {
34
+ JdbcSteps.getJDBCPage().should('exist');
35
+ JdbcSteps.getJDBCConfiguration().should('exist');
36
+ JdbcSteps.getCreateSQLTableConfigurationButton().should('exist');
37
+ JdbcSteps.getNoSQLConfigurationsMessage().should('exist');
38
+ };
39
+ })
@@ -0,0 +1,27 @@
1
+ import {ErrorSteps} from "../../../steps/error-steps";
2
+ import HomeSteps from "../../../steps/home-steps";
3
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
4
+ import {JdbcSteps} from "../../../steps/setup/jdbc-steps";
5
+
6
+ describe('JDBC without selected repository', () => {
7
+ it('Should display the correct initial state when navigating via URL', () => {
8
+ // Given, I visit the JDBC page via URL without a repository selected
9
+ JdbcSteps.visit();
10
+ // Then,
11
+ verifyInitialStateWithoutSelectedRepository();
12
+ });
13
+
14
+ it('Should display the correct initial state when navigating via the navigation menu', () => {
15
+ // Given, I visit the JDBC page via the navigation menu without a repository selected
16
+ HomeSteps.visit();
17
+ MainMenuSteps.clickOnJDBC();
18
+ // Then,
19
+ verifyInitialStateWithoutSelectedRepository();
20
+ });
21
+
22
+ const verifyInitialStateWithoutSelectedRepository = () => {
23
+ ErrorSteps.verifyNoConnectedRepoMessage();
24
+ JdbcSteps.getJDBCPage().should('exist');
25
+ JdbcSteps.getJDBCConfiguration().should('not.exist');
26
+ };
27
+ })
@@ -0,0 +1,44 @@
1
+ import HomeSteps from "../../../steps/home-steps";
2
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
+ import {NamespaceSteps} from "../../../steps/setup/namespace-steps";
4
+
5
+ describe('Namespaces with selected repository', () => {
6
+ let repositoryId;
7
+
8
+ beforeEach(() => {
9
+ repositoryId = 'namespaces-init-' + Date.now();
10
+ cy.createRepository({id: repositoryId});
11
+ cy.presetRepository(repositoryId);
12
+ });
13
+
14
+ afterEach(() => {
15
+ cy.deleteRepository(repositoryId);
16
+ });
17
+
18
+ it('Should display the correct initial state when navigating via URL', () => {
19
+ // Given, I visit the Namespaces page via URL with a repository selected
20
+ NamespaceSteps.visit();
21
+ // Then,
22
+ verifyInitialStateWithSelectedRepository();
23
+ });
24
+
25
+ it('Should display the correct initial state when navigating via the navigation bar', () => {
26
+ // Given, I visit the Namespaces page via the navigation menu with a repository selected
27
+ HomeSteps.visit();
28
+ MainMenuSteps.clickOnNamespaces();
29
+ // Then,
30
+ verifyInitialStateWithSelectedRepository();
31
+ });
32
+
33
+ const verifyInitialStateWithSelectedRepository = () => {
34
+ NamespaceSteps.getNamespacesView().should('exist');
35
+ NamespaceSteps.getNamespacesContent().should('exist');
36
+ NamespaceSteps.getAddNamespaceForm().should('be.visible');
37
+ NamespaceSteps.getNamespacePrefixField().should('be.visible');
38
+ NamespaceSteps.getNamespaceValueField().should('be.visible');
39
+ NamespaceSteps.getAddNamespaceButton().should('be.visible');
40
+ NamespaceSteps.getNamespacesPerPageMenu().should('be.visible');
41
+ NamespaceSteps.getNamespacesFilterField().should('be.visible');
42
+ NamespaceSteps.getNamespacesTable().should('be.visible');
43
+ };
44
+ })
@@ -0,0 +1,27 @@
1
+ import {ErrorSteps} from "../../../steps/error-steps";
2
+ import HomeSteps from "../../../steps/home-steps";
3
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
4
+ import {NamespaceSteps} from "../../../steps/setup/namespace-steps";
5
+
6
+ describe('Namespaces without selected repository', () => {
7
+ it('Should display the correct initial state when navigating via URL', () => {
8
+ // Given, I visit the Namespaces page via URL without a repository selected
9
+ NamespaceSteps.visit();
10
+ // Then,
11
+ verifyInitialStateWithoutSelectedRepository();
12
+ });
13
+
14
+ it('Should display the correct initial state when navigating via the navigation menu', () => {
15
+ // Given, I visit the Namespaces page via the navigation menu without a repository selected
16
+ HomeSteps.visit();
17
+ MainMenuSteps.clickOnNamespaces();
18
+ // Then,
19
+ verifyInitialStateWithoutSelectedRepository()
20
+ });
21
+
22
+ const verifyInitialStateWithoutSelectedRepository = () => {
23
+ ErrorSteps.verifyNoConnectedRepoMessage();
24
+ NamespaceSteps.getNamespacesView().should('exist');
25
+ NamespaceSteps.getNamespacesContent().should('not.be.visible');
26
+ };
27
+ })
@@ -1,7 +1,7 @@
1
- import {NamespaceSteps} from "../../steps/setup/namespace-steps";
2
- import {ApplicationSteps} from "../../steps/application-steps";
3
- import {NamespaceStubs} from "../../stubs/namespace-stubs";
4
- import {ModalDialogSteps} from "../../steps/modal-dialog-steps";
1
+ import {NamespaceSteps} from "../../../steps/setup/namespace-steps";
2
+ import {ApplicationSteps} from "../../../steps/application-steps";
3
+ import {NamespaceStubs} from "../../../stubs/namespace-stubs";
4
+ import {ModalDialogSteps} from "../../../steps/modal-dialog-steps";
5
5
 
6
6
  describe('Namespaces', () => {
7
7
 
@@ -235,8 +235,9 @@ describe('Namespaces', () => {
235
235
  ApplicationSteps.getErrorNotifications().should('be.visible')
236
236
  .and('contain', 'Internal Server Error');
237
237
  // And the prefix and namespace fields should not be cleared to allow user to correct the error
238
+ // writing in the field above should clear the field first
238
239
  NamespaceSteps.getInlineNamespacePrefix(0).should('have.value', 'test1');
239
- // NamespaceSteps.getInlineNamespaceValue(0).should('have.value', 'http://test.com');
240
+ NamespaceSteps.getInlineNamespaceValue(0).should('have.value', 'http://test.com');
240
241
  });
241
242
 
242
243
  it('Should allow to delete existing namespaces', () => {
@@ -0,0 +1,38 @@
1
+ import HomeSteps from "../../../steps/home-steps";
2
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
+ import {PluginsSteps} from "../../../steps/setup/plugins-steps";
4
+
5
+ describe('Plugins with selected repository', () => {
6
+ let repositoryId;
7
+
8
+ beforeEach(() => {
9
+ repositoryId = 'plugins-init-' + Date.now();
10
+ cy.createRepository({id: repositoryId});
11
+ cy.presetRepository(repositoryId);
12
+ });
13
+
14
+ afterEach(() => {
15
+ cy.deleteRepository(repositoryId);
16
+ });
17
+
18
+ it('Should display the correct initial state when navigating via URL', () => {
19
+ // Given, I visit the Plugins page via URL with a repository selected
20
+ PluginsSteps.visit();
21
+ // Then,
22
+ verifyInitialStateWithSelectedRepository();
23
+ });
24
+
25
+ it('Should display the correct initial state when navigating via the navigation bar', () => {
26
+ // Given, I visit the Plugins page via the navigation menu with a repository selected
27
+ HomeSteps.visit();
28
+ MainMenuSteps.clickOnPlugins();
29
+ // Then,
30
+ verifyInitialStateWithSelectedRepository();
31
+ });
32
+
33
+ const verifyInitialStateWithSelectedRepository = () => {
34
+ PluginsSteps.getPluginsView().should('be.visible');
35
+ PluginsSteps.getSearchPluginBar().should('be.visible');
36
+ PluginsSteps.getPluginsList().should('exist');
37
+ };
38
+ })
@@ -0,0 +1,28 @@
1
+ import {ErrorSteps} from "../../../steps/error-steps";
2
+ import HomeSteps from "../../../steps/home-steps";
3
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
4
+ import {PluginsSteps} from "../../../steps/setup/plugins-steps";
5
+
6
+ describe('Plugins without selected repository', () => {
7
+ it('Should display the correct initial state when navigating via URL', () => {
8
+ // Given, I visit the Plugins page via URL without a repository selected
9
+ PluginsSteps.visit();
10
+ // Then,
11
+ verifyInitialStateWithoutSelectedRepository();
12
+ });
13
+
14
+ it('Should display the correct initial state when navigating via the navigation menu', () => {
15
+ // Given, I visit the Plugins page via the navigation menu without a repository selected
16
+ HomeSteps.visit();
17
+ MainMenuSteps.clickOnPlugins();
18
+ // Then,
19
+ verifyInitialStateWithoutSelectedRepository()
20
+ });
21
+
22
+ const verifyInitialStateWithoutSelectedRepository = () => {
23
+ ErrorSteps.verifyNoConnectedRepoMessage();
24
+ PluginsSteps.getPluginsView().should('be.visible');
25
+ PluginsSteps.getSearchPluginBar().should('not.be.visible');
26
+ PluginsSteps.getPluginsList().should('not.exist');
27
+ };
28
+ })
@@ -1,6 +1,6 @@
1
- import {PluginsSteps} from "../../steps/setup/plugins-steps";
2
- import {PluginsStubs} from "../../stubs/setup/plugins-stubs";
3
- import {LicenseStubs} from "../../stubs/license-stubs";
1
+ import {PluginsSteps} from "../../../steps/setup/plugins-steps";
2
+ import {PluginsStubs} from "../../../stubs/setup/plugins-stubs";
3
+ import {LicenseStubs} from "../../../stubs/license-stubs";
4
4
 
5
5
  describe('Plugins view', () => {
6
6
 
@@ -0,0 +1,40 @@
1
+ import HomeSteps from "../../../steps/home-steps";
2
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
+ import {RdfRankSteps} from "../../../steps/setup/rdf-rank-steps";
4
+
5
+ describe('RDF Rank with selected repository', () => {
6
+ let repositoryId;
7
+
8
+ beforeEach(() => {
9
+ repositoryId = 'rdf-rank-init-' + Date.now();
10
+ cy.createRepository({id: repositoryId});
11
+ cy.presetRepository(repositoryId);
12
+ });
13
+
14
+ afterEach(() => {
15
+ cy.deleteRepository(repositoryId);
16
+ });
17
+
18
+ it('Should display the correct initial state when navigating via URL', () => {
19
+ // Given, I visit the RDF Rank page via URL with a repository selected
20
+ RdfRankSteps.visit();
21
+ // Then,
22
+ verifyInitialStateWithSelectedRepository();
23
+ });
24
+
25
+ it('Should display the correct initial state when navigating via the navigation bar', () => {
26
+ // Given, I visit the RDF Rank page via the navigation menu with a repository selected
27
+ HomeSteps.visit();
28
+ MainMenuSteps.clickOnRDFRank();
29
+ // Then,
30
+ verifyInitialStateWithSelectedRepository();
31
+ });
32
+
33
+ const verifyInitialStateWithSelectedRepository = () => {
34
+ RdfRankSteps.getRDFRankPage().should('be.visible');
35
+ RdfRankSteps.getRDFRankContent().should('be.visible');
36
+ RdfRankSteps.getRDFRankLabel().should('be.visible');
37
+ RdfRankSteps.getRDFRandComputeButton().should('be.visible');
38
+ RdfRankSteps.getFilter().should('be.visible');
39
+ };
40
+ })
@@ -0,0 +1,30 @@
1
+ import {ErrorSteps} from "../../../steps/error-steps";
2
+ import HomeSteps from "../../../steps/home-steps";
3
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
4
+ import {RdfRankSteps} from "../../../steps/setup/rdf-rank-steps";
5
+
6
+ describe('Rdf Rank without selected repository', () => {
7
+ it('Should display the correct initial state when navigating via URL', () => {
8
+ // Given, I visit the Rdf Rank page via URL without a repository selected
9
+ RdfRankSteps.visit();
10
+ // Then,
11
+ verifyInitialStateWithoutSelectedRepository();
12
+ });
13
+
14
+ it('Should display the correct initial state when navigating via the navigation menu', () => {
15
+ // Given, I visit the Rdf Rank page via the navigation menu without a repository selected
16
+ HomeSteps.visit();
17
+ MainMenuSteps.clickOnRDFRank();
18
+ // Then,
19
+ verifyInitialStateWithoutSelectedRepository();
20
+ });
21
+
22
+ const verifyInitialStateWithoutSelectedRepository = () => {
23
+ ErrorSteps.verifyNoConnectedRepoMessage();
24
+ RdfRankSteps.getRDFRankPage().should('exist');
25
+ RdfRankSteps.getRDFRankContent().should('not.be.visible');
26
+ RdfRankSteps.getRDFRankLabel().should('not.be.visible');
27
+ RdfRankSteps.getRDFRandComputeButton().should('not.be.visible');
28
+ RdfRankSteps.getFilter().should('not.be.visible');
29
+ };
30
+ })