graphdb-workbench-tests 3.0.2 → 3.1.0-RC1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/.editorconfig +17 -0
  2. package/.nycrc +10 -0
  3. package/cypress-flaky.config.js +15 -4
  4. package/cypress-legacy.config.js +40 -0
  5. package/cypress-security.config.js +40 -0
  6. package/cypress.config.js +8 -4
  7. package/{integration-flaky → e2e-flaky}/explore/visual.graph.spec.js +4 -1
  8. package/{integration-flaky → e2e-flaky}/import/import-server-files-operations.spec.js +1 -1
  9. package/e2e-flaky/import/import-user-data-url.spec.js +63 -0
  10. package/{integration-flaky → e2e-flaky}/setup/sparql-template-create.js +9 -2
  11. package/{integration-flaky → e2e-flaky}/sparql-editor/yasr/table-plugin.spec.js +2 -1
  12. package/{integration → e2e-legacy}/cluster/edit-cluster-nodes-modal.spec.js +44 -0
  13. package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository-without-class-hierarchy.spec.js +42 -0
  14. package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository.spec.js +43 -0
  15. package/e2e-legacy/explore/class-hierarchy/class-hierarchy-without-selected-repository.spec.js +30 -0
  16. package/{integration/explore → e2e-legacy/explore/class-hierarchy}/class.hierarchy.spec.js +1 -1
  17. package/e2e-legacy/explore/class-relationships/class-relationships-repository-with-data.spec.js +42 -0
  18. package/e2e-legacy/explore/class-relationships/class-relationships-with-selected-repository.spec.js +39 -0
  19. package/e2e-legacy/explore/class-relationships/class-relationships-without-selected-repository.spec.js +21 -0
  20. package/{integration/explore/class.relationships.spec.js → e2e-legacy/explore/class-relationships/class-relationships.spec.js} +18 -50
  21. package/{integration/explore → e2e-legacy/explore/graphs-overview}/graphs.overview.spec.js +4 -4
  22. package/e2e-legacy/explore/graphs-overview/initial-state/graphs-overview-with-selected-repository.spec.js +44 -0
  23. package/e2e-legacy/explore/graphs-overview/initial-state/graphs-overview-without-selected-repository.spec.js +32 -0
  24. package/e2e-legacy/explore/similarity-index/similarity-index-with-repository.spec.js +38 -0
  25. package/e2e-legacy/explore/similarity-index/similarity-index-without-repository.spec.js +21 -0
  26. package/{integration → e2e-legacy}/explore/visual-graph/graphs-config.spec.js +1 -6
  27. package/e2e-legacy/explore/visual-graph/visual-graph-with-selected-repository.js +38 -0
  28. package/e2e-legacy/explore/visual-graph/visual-graph-without-selected-repository.js +21 -0
  29. package/{integration → e2e-legacy}/explore/visual-graph/visual.graph.spec.js +2 -7
  30. package/{integration → e2e-legacy}/graphql/create-graphql-endpoint.spec.js +0 -2
  31. package/{integration → e2e-legacy}/graphql/edit-graphql-enpoint.spec.js +1 -1
  32. package/{integration → e2e-legacy}/graphql/filter-graphql-endpoints-on-management-view.spec.js +1 -1
  33. package/e2e-legacy/graphql/graphql-endpoint management-without-selected-repository.spec.js +21 -0
  34. package/{integration → e2e-legacy}/graphql/graphql-endpoint-management-view.spec.js +4 -4
  35. package/e2e-legacy/graphql/graphql-endpoint-management-with-endpoints.spec.js +43 -0
  36. package/e2e-legacy/graphql/graphql-endpoint-management-with-selected-repository.spec.jsx +39 -0
  37. package/e2e-legacy/graphql/graphql-playground-with-endpoints.spec.js +40 -0
  38. package/e2e-legacy/graphql/graphql-playground-with-selected-repository.spec.js +38 -0
  39. package/e2e-legacy/graphql/graphql-playground-without-selected-repository.spec.js +22 -0
  40. package/{integration → e2e-legacy}/graphql/graphql-playground.spec.js +1 -1
  41. package/{integration → e2e-legacy}/graphql/import-graphql-endpoint-definitions.spec.js +0 -6
  42. package/e2e-legacy/help/guides/guides-with-repository.spec.js +32 -0
  43. package/e2e-legacy/help/guides/guides-without-repository.spec.js +20 -0
  44. package/{integration → e2e-legacy/help}/guides/movies-interactive-guide.spec.js +3 -3
  45. package/{integration → e2e-legacy/help}/guides/star-wars-interactive-guide.js +3 -2
  46. package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-with-repository.spec.js +32 -0
  47. package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-without-repository.spec.js +20 -0
  48. package/e2e-legacy/help/system-information/system-information-with-repository.spec.js +32 -0
  49. package/e2e-legacy/help/system-information/system-information-without-repository.spec.js +20 -0
  50. package/e2e-legacy/home/cookie-policy.spec.js +108 -0
  51. package/e2e-legacy/home/documentation-link.spec.js +61 -0
  52. package/{integration → e2e-legacy}/home/google-analytics.spec.js +4 -6
  53. package/e2e-legacy/home/home-page-with-selected-repository.spec.js +69 -0
  54. package/e2e-legacy/home/home-page-without-repositories.spec.js +87 -0
  55. package/e2e-legacy/home/home-page-without-selected-repository.spec.js +59 -0
  56. package/{integration → e2e-legacy}/home/language-change.spec.js +2 -2
  57. package/e2e-legacy/home/rdf-resource-search.spec.js +148 -0
  58. package/e2e-legacy/home/view-resource-autocomplete.spec.js +65 -0
  59. package/{integration → e2e-legacy}/import/import-user-data-file-upload.spec.js +16 -10
  60. package/{integration → e2e-legacy}/import/import-user-data-text-snippet.spec.js +0 -2
  61. package/{integration → e2e-legacy}/import/import-user-data-url.spec.js +0 -23
  62. package/{integration → e2e-legacy}/import/import-user-data.spec.js +9 -2
  63. package/e2e-legacy/import/initial-state/import-page-with-selected-repositor.js +51 -0
  64. package/e2e-legacy/import/initial-state/import-page-with-selected-repository-without-imported-files.js +45 -0
  65. package/e2e-legacy/import/initial-state/import-page-without-selected-repository.spec.js +28 -0
  66. package/e2e-legacy/license/license-with-repository.spec.js +113 -0
  67. package/e2e-legacy/license/license-without-repository.spec.js +103 -0
  68. package/{integration → e2e-legacy}/license/license.spec.js +4 -4
  69. package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-with-repository.spec.js +36 -0
  70. package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-without-repository.spec.js +25 -0
  71. package/{integration/monitor/monitor.backup-and-restore.spec.js → e2e-legacy/monitor/backup-and-restore/backup-and-restore.spec.js} +2 -2
  72. package/{integration → e2e-legacy}/monitor/global-operation-statuses-component.spec.js +12 -5
  73. package/e2e-legacy/monitor/query-and-updates/queries-and-updates-with-repository.spec.js +39 -0
  74. package/e2e-legacy/monitor/query-and-updates/queries-and-updates-without-repository.spec.js +21 -0
  75. package/{integration/monitor → e2e-legacy/monitor/system}/monitor.resources.spec.js +3 -2
  76. package/e2e-legacy/monitor/system/system-monitoring-with-repository.spec.js +32 -0
  77. package/e2e-legacy/monitor/system/system-monitoring-without-repository.spec.js +20 -0
  78. package/{integration → e2e-legacy}/repository/repositories.spec.js +34 -45
  79. package/{integration → e2e-legacy}/resource/resource.spec.js +16 -1
  80. package/e2e-legacy/setup/aclmanagement/acl-management-with-selected repository.spec.js +40 -0
  81. package/e2e-legacy/setup/aclmanagement/acl-management-without-repositories.spec.js +21 -0
  82. package/{integration → e2e-legacy}/setup/aclmanagement/create-rule.spec.js +1 -0
  83. package/e2e-legacy/setup/autocomplete/autocomplete-with-repository.spec.js +40 -0
  84. package/e2e-legacy/setup/autocomplete/autocomplete-without-repository.spec.js +27 -0
  85. package/{integration/setup → e2e-legacy/setup/autocomplete}/autocomplete.spec.js +5 -6
  86. package/e2e-legacy/setup/cluster/cluster-initial-state-with-cluster.spec.js +34 -0
  87. package/e2e-legacy/setup/cluster/cluster-initial-state-without-cluster.spec.js +25 -0
  88. package/e2e-legacy/setup/connectors/connectors-initial-state-with-selected-repository.spec.js +41 -0
  89. package/e2e-legacy/setup/connectors/connectors-initial-state-without-repositories.spec.js +21 -0
  90. package/e2e-legacy/setup/jdbc/jdbc-with-repository.spec.js +39 -0
  91. package/e2e-legacy/setup/jdbc/jdbc-without-repository.spec.js +27 -0
  92. package/e2e-legacy/setup/namespaces/namespaces-with-repository.spec.js +44 -0
  93. package/e2e-legacy/setup/namespaces/namespaces-without-repository.spec.js +27 -0
  94. package/{integration/setup → e2e-legacy/setup/namespaces}/namespaces.spec.js +6 -5
  95. package/e2e-legacy/setup/plugins/plugins-with-repository.spec.js +38 -0
  96. package/e2e-legacy/setup/plugins/plugins-without-repository.spec.js +28 -0
  97. package/{integration/setup → e2e-legacy/setup/plugins}/plugins.spec.js +3 -3
  98. package/e2e-legacy/setup/rdf-rank/rdf-rank-with-repository.spec.js +40 -0
  99. package/e2e-legacy/setup/rdf-rank/rdf-rank-without-repository.spec.js +30 -0
  100. package/{integration/setup → e2e-legacy/setup/rdf-rank}/rdf-rank.spec.js +1 -1
  101. package/e2e-legacy/setup/repositories/repositories-view-with-repositories.spec.js +40 -0
  102. package/e2e-legacy/setup/repositories/repositories-view-without-repositories.spec.js +28 -0
  103. package/e2e-legacy/setup/settings/my-settings-initial-state.spec.js +86 -0
  104. package/{integration/setup → e2e-legacy/setup/settings}/my-settings.spec.js +5 -75
  105. package/{integration/setup → e2e-legacy/setup/sparql-template}/sparql-template-create.js +16 -8
  106. package/e2e-legacy/setup/sparql-template/sparql-template-with-repository.spec.js +39 -0
  107. package/e2e-legacy/setup/sparql-template/sparql-template-without-repository.spec.js +29 -0
  108. package/{integration/setup → e2e-legacy/setup/sparql-template}/sparql-templates.spec.js +4 -4
  109. package/{integration/setup → e2e-legacy/setup/users-and-access}/user-and-access.spec.js +53 -19
  110. package/e2e-legacy/setup/users-and-access/users-and-access-initial-state.spec.js +25 -0
  111. package/{integration → e2e-legacy}/sparql-editor/actions/inferred-sameas.spec.js +3 -1
  112. package/{integration → e2e-legacy}/sparql-editor/saved-query/edit-query.spec.js +3 -3
  113. package/{integration → e2e-legacy}/sparql-editor/saved-query/readonly-query.spec.js +7 -13
  114. package/{integration → e2e-legacy}/sparql-editor/saved-query/share-query.spec.js +2 -0
  115. package/e2e-legacy/sparql-editor/sparql-page-with-selected-repository.spec.js +33 -0
  116. package/e2e-legacy/sparql-editor/sparql-page-without-selected-repository.spec.js +26 -0
  117. package/{integration → e2e-legacy}/ttyg/agent-list.spec.js +52 -0
  118. package/{integration → e2e-legacy}/ttyg/agent-select-menu.spec.js +24 -0
  119. package/{integration → e2e-legacy}/ttyg/chat-panel.spec.js +29 -3
  120. package/{integration → e2e-legacy}/ttyg/clone-agent.spec.js +1 -0
  121. package/{integration → e2e-legacy}/ttyg/create-agent.spec.js +7 -6
  122. package/{integration → e2e-legacy}/ttyg/create-chat.spec.js +3 -1
  123. package/e2e-legacy/ttyg/edit-agent.spec.js +169 -0
  124. package/e2e-legacy/ttyg/ttyg-initial-state-with-configured-api-key.spec.js +46 -0
  125. package/e2e-legacy/ttyg/ttyg-initial-state-with-selected-repository.spec.js +45 -0
  126. package/e2e-legacy/ttyg/ttyg-initial-state-without-repositories.spec.js +21 -0
  127. package/{integration-flaky → e2e-legacy}/ttyg/ttyg-permission.spec.js +25 -15
  128. package/{integration → e2e-legacy}/ttyg/ttyg-view.spec.js +1 -0
  129. package/e2e-security/setup/home/cookie-policy.spec.js +64 -0
  130. package/e2e-security/setup/users-and-access/create-user-permissions.spec.js +184 -0
  131. package/e2e-security/setup/users-and-access/graphql-user.spec.js +123 -0
  132. package/e2e-security/setup/users-and-access/repo-admin-role.spec.js +69 -0
  133. package/e2e-security/setup/users-and-access/turn-on-security-and-password-change.spec.js +87 -0
  134. package/e2e-security/setup/users-and-access/user-and-access.spec.js +87 -0
  135. package/e2e-security/setup/users-and-access/users-and-access-initial-state.spec.js +38 -0
  136. package/fixtures/locale-en.json +62 -19
  137. package/fixtures/repositories/free-access.json +13 -0
  138. package/fixtures/ttyg/agent/get-agent-defaults-assistant-api.json +44 -0
  139. package/fixtures/ttyg/agent/get-agent-defaults.json +2 -0
  140. package/fixtures/ttyg/agent/get-agent-list-with-incompatible-agents.json +79 -0
  141. package/fixtures/ttyg/chats/ask-question.json +12 -2
  142. package/fixtures/ttyg/chats/get-chat.json +6 -1
  143. package/npm-shrinkwrap.json +9356 -3815
  144. package/package.json +48 -42
  145. package/plugins/index.js +3 -2
  146. package/steps/application-steps.js +1 -1
  147. package/steps/base-steps.js +21 -0
  148. package/steps/class-views-steps.js +16 -0
  149. package/steps/cluster/cluster-page-steps.js +12 -2
  150. package/steps/error-steps.js +15 -3
  151. package/steps/explore/class-relationships-steps.js +64 -0
  152. package/steps/explore/graphs-overview-steps.js +21 -1
  153. package/steps/explore/similarity-indexes-steps.js +12 -2
  154. package/steps/graphql/graphql-endpoint-management-steps.js +2 -2
  155. package/steps/guides/guide-steps.js +20 -1
  156. package/steps/home-steps.js +158 -48
  157. package/steps/import/import-steps.js +11 -15
  158. package/steps/import/import-user-data-steps.js +4 -0
  159. package/steps/language-selector-steps.js +2 -2
  160. package/steps/license-steps.js +91 -9
  161. package/steps/login-steps.js +14 -3
  162. package/steps/main-menu-steps.js +207 -15
  163. package/steps/modal-dialog-steps.js +20 -0
  164. package/steps/monitoring/backup-and-restore-steps.js +9 -3
  165. package/steps/monitoring/queries-and-updates-steps.js +20 -0
  166. package/steps/monitoring/system-monitoring-steps.js +40 -0
  167. package/steps/operations-statuses-component-steps.js +5 -10
  168. package/steps/rdf-resource-search-steps.js +55 -0
  169. package/steps/repository-selector-steps.js +3 -3
  170. package/steps/repository-steps.js +18 -12
  171. package/steps/resource/resource-steps.js +4 -0
  172. package/steps/rest-api-documentation-steps.js +15 -0
  173. package/steps/setup/autocomplete-steps.js +17 -6
  174. package/steps/setup/connectors-steps.js +19 -0
  175. package/steps/setup/jdbc-steps.js +18 -4
  176. package/steps/setup/namespace-steps.js +9 -6
  177. package/steps/setup/plugins-steps.js +11 -4
  178. package/steps/setup/rdf-rank-steps.js +22 -4
  179. package/steps/setup/settings-steps.js +100 -1
  180. package/steps/setup/sparql-templates-steps.js +19 -1
  181. package/steps/setup/user-and-access-steps.js +33 -3
  182. package/steps/system-information-steps.js +70 -0
  183. package/steps/ttyg/chat-panel-steps.js +1 -1
  184. package/steps/ttyg/ttyg-agent-settings-modal.steps.js +82 -23
  185. package/steps/ttyg/ttyg-view-steps.js +74 -8
  186. package/steps/visual-graph-steps.js +4 -0
  187. package/steps/widgets/active-repository-widget-steps.js +29 -0
  188. package/steps/widgets/license-widget-steps.js +9 -0
  189. package/steps/widgets/repository-errors-widget-steps.js +21 -0
  190. package/steps/widgets/saved-sparql-queries-widget-steps.js +9 -0
  191. package/steps/yasgui/yasr-steps.js +4 -0
  192. package/stubs/autocomplete/autocomplete-stubs.js +7 -0
  193. package/stubs/browser-stubs.js +21 -0
  194. package/stubs/environment-stubs.js +9 -1
  195. package/stubs/license-stubs.js +51 -0
  196. package/stubs/repositories/repositories-stubs.js +8 -0
  197. package/stubs/repositories-stub.js +6 -6
  198. package/stubs/saved-queries-stubs.js +5 -0
  199. package/stubs/security-stubs.js +4 -0
  200. package/stubs/ttyg/ttyg-stubs.js +19 -6
  201. package/support/commands.js +19 -0
  202. package/support/{index.js → e2e.js} +2 -1
  203. package/support/repository-commands.js +20 -4
  204. package/Dockerfile +0 -11
  205. package/integration/explore/similarity-index/similarity-index-create.spec.js +0 -333
  206. package/integration/explore/similarity-index/similarity-index.spec.js +0 -88
  207. package/integration/explore/similarity-index/similarity.spec.js +0 -628
  208. package/integration/home/cookie-policy.spec.js +0 -90
  209. package/integration/home/documentation-link.spec.js +0 -60
  210. package/integration/home/language-selector.spec.js +0 -19
  211. package/integration/home/rdf-resource-search.spec.js +0 -177
  212. package/integration/home/view-resource-autocomplete.spec.js +0 -52
  213. package/integration/home/workbench.home.spec.js +0 -30
  214. package/integration/monitor/monitor.queries.spec.js +0 -31
  215. package/integration/ttyg/edit-agent.spec.js +0 -99
  216. package/integration-flaky/setup/users-and-access/security-and-free-access.spec.js +0 -54
  217. package/{integration-flaky → e2e-flaky}/import/import-user-data-batch-operations.spec.js +0 -0
  218. package/{integration-flaky → e2e-flaky}/import/import.server.files.spec.js +0 -0
  219. package/{integration-flaky → e2e-flaky}/sparql-editor/actions/execute-update-query.spec.js +0 -0
  220. package/{integration-flaky → e2e-flaky}/sparql-editor/actions/share-query.spec.js +0 -0
  221. package/{integration-flaky → e2e-flaky}/sparql-editor/lucene-connector.spec.js +0 -0
  222. package/{integration-flaky → e2e-flaky}/sparql-editor/plugins/error-plugin.spec.js +0 -0
  223. package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-multi-region.spec.js +0 -0
  224. package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-nodes.spec.js +0 -0
  225. package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-properties.spec.js +0 -0
  226. package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration.spec.js +0 -0
  227. package/{integration → e2e-legacy}/cluster/cluster-legend.spec.js +0 -0
  228. package/{integration → e2e-legacy}/cluster/cluster-states.spec.js +0 -0
  229. package/{integration → e2e-legacy}/explore/visual-graph/visual-graph-node-labels.spec.js +0 -0
  230. package/{integration → e2e-legacy}/graphql/activate-deactivate-graphql-endpoint.spec.js +0 -0
  231. package/{integration → e2e-legacy}/graphql/delete-graphql-endpoint.spec.js +0 -0
  232. package/{integration → e2e-legacy}/graphql/export-graphql-endpoint-definition.spec.js +0 -0
  233. package/{integration → e2e-legacy}/graphql/set-default-graphql-endpoint.spec.js +0 -0
  234. package/{integration/help → e2e-legacy/help/system-information}/system-information.spec.js +0 -0
  235. package/{integration → e2e-legacy}/home/create-repository.spec.js +0 -0
  236. package/{integration → e2e-legacy}/import/import-server-files-batch-operations.spec.js +0 -0
  237. package/{integration → e2e-legacy}/import/import-server-files.spec.js +0 -0
  238. package/{integration → e2e-legacy}/import/import-user-data-settings-dialog.spec.js +0 -0
  239. package/{integration → e2e-legacy}/import/import-view.spec.js +0 -0
  240. package/{integration → e2e-legacy}/repository/attach-remote-location.spec.js +1 -1
  241. /package/{integration → e2e-legacy}/repository/ontop-repository.spec.js +0 -0
  242. /package/{integration → e2e-legacy}/repository/repository-commands.spec.js +0 -0
  243. /package/{integration → e2e-legacy}/setup/aclmanagement/delete-rule.spec.js +0 -0
  244. /package/{integration → e2e-legacy}/setup/aclmanagement/edit-rule.spec.js +0 -0
  245. /package/{integration → e2e-legacy}/setup/aclmanagement/render-rules.spec.js +0 -0
  246. /package/{integration → e2e-legacy}/setup/aclmanagement/reorder-rules.spec.js +0 -0
  247. /package/{integration → e2e-legacy}/setup/aclmanagement/revert-rules.spec.js +0 -0
  248. /package/{integration → e2e-legacy}/setup/aclmanagement/scopes.spec.js +0 -0
  249. /package/{integration → e2e-legacy}/setup/aclmanagement/update-rules.spec.js +0 -0
  250. /package/{integration → e2e-legacy}/setup/connectors-lucene.spec.js +0 -0
  251. /package/{integration → e2e-legacy}/setup/jdbc/jdbc-create.spec.js +0 -0
  252. /package/{integration → e2e-legacy}/setup/jdbc/jdbc.spec.js +0 -0
  253. /package/{integration → e2e-legacy}/sparql-editor/actions/execute-query.spec.js +0 -0
  254. /package/{integration → e2e-legacy}/sparql-editor/actions/expand-results-over-sameas.spec.js +0 -0
  255. /package/{integration → e2e-legacy}/sparql-editor/actions/include-inferred-statements.spec.js +0 -0
  256. /package/{integration → e2e-legacy}/sparql-editor/actions/save-query.spec.js +0 -0
  257. /package/{integration → e2e-legacy}/sparql-editor/actions/show-saved-queries.spec.js +0 -0
  258. /package/{integration → e2e-legacy}/sparql-editor/internationalization.spec.js +0 -0
  259. /package/{integration → e2e-legacy}/sparql-editor/saved-query/abort-query.spec.js +0 -0
  260. /package/{integration → e2e-legacy}/sparql-editor/saved-query/delete-query.spec.js +0 -0
  261. /package/{integration → e2e-legacy}/sparql-editor/sparql-editor.spec.js +0 -0
  262. /package/{integration → e2e-legacy}/sparql-editor/yasgui-tabs.spec.js +0 -0
  263. /package/{integration → e2e-legacy}/sparql-editor/yasr/download-as.spec.js +0 -0
  264. /package/{integration → e2e-legacy}/sparql-editor/yasr/pagination.spec.js +0 -0
  265. /package/{integration → e2e-legacy}/sparql-editor/yasr/table-plugin.spec.js +0 -0
  266. /package/{integration → e2e-legacy}/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +0 -0
  267. /package/{integration → e2e-legacy}/ttyg/chat-list.spec.js +0 -0
  268. /package/{integration → e2e-legacy}/ttyg/delete-agent.spec.js +0 -0
@@ -323,7 +323,6 @@ describe('Resource view', () => {
323
323
  });
324
324
 
325
325
  context('Triple resource', () => {
326
-
327
326
  it('should show triple resource', {
328
327
  retries: {
329
328
  runMode: 1,
@@ -336,6 +335,8 @@ describe('Resource view', () => {
336
335
  // Then I expect resource link to exist.
337
336
  ResourceSteps.getTripleResourceLink().should('contain.text', '<<<W6J1827> <hasAddress> <address>>>');
338
337
 
338
+ // And I expect to see data table
339
+ ResourceSteps.getDataTable().should('exist').and('be.visible');
339
340
  // When I click on the link.
340
341
  ResourceSteps.clickOnTripleResourceLink();
341
342
 
@@ -351,6 +352,8 @@ describe('Resource view', () => {
351
352
  // Then I expect target link to exist.
352
353
  ResourceSteps.getTargetLink().should('contain.text', '<<<http://example.com/resource/person/W6J1827> <http://example.com/ontology#hasAddress> <http://example.com/resource/person/W6J1827/address>>>');
353
354
 
355
+ // And I expect to see data table
356
+ ResourceSteps.getDataTable().should('exist').and('be.visible');
354
357
  // When I click on the link.
355
358
  ResourceSteps.clickOnTripleResourceLink();
356
359
 
@@ -367,6 +370,18 @@ describe('Resource view', () => {
367
370
  it('should download as JSON-LD and then restore defaults', () => {
368
371
  // Given I am in the Resource view
369
372
  ResourceSteps.visit(`uri=${SUBJECT_RESOURCE}&role=subject`);
373
+ cy.window().then((win) => {
374
+ expect(win.jsonld).to.exist;
375
+ cy.stub(win.jsonld, 'compact').resolves({
376
+ "@context": {
377
+ "dc11": "http://purl.org/dc/elements/1.1/",
378
+ "ex": "http://example.org/vocab#",
379
+ "ex:authored": {"@type": "@id"},
380
+ "ex:contains": {"@type": "@id"},
381
+ "foaf": "http://xmlns.com/foaf/0.1/"
382
+ }
383
+ });
384
+ });
370
385
  ResourceSteps.verifyActiveRoleTab('subject');
371
386
 
372
387
  // When I download as JSON-LD
@@ -0,0 +1,40 @@
1
+ import HomeSteps from "../../../steps/home-steps";
2
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
+ import {AclManagementSteps} from "../../../steps/setup/acl-management-steps";
4
+
5
+ function verifyStateWithSelectedRepository() {
6
+ AclManagementSteps.getPageHeading().should('be.visible');
7
+ AclManagementSteps.getAclTable().should('be.visible');
8
+ AclManagementSteps.getNoDataMessage().should('be.visible');
9
+ AclManagementSteps.getAddFirstRuleButton().should('be.visible');
10
+ AclManagementSteps.getAclTabs().should('be.visible').and('have.length', 4);
11
+ }
12
+
13
+ describe('ACL Management initial state with repositories', () => {
14
+ let repositoryId;
15
+
16
+ beforeEach(() => {
17
+ repositoryId = 'acl-management-' + Date.now();
18
+ cy.createRepository({id: repositoryId});
19
+ cy.presetRepository(repositoryId);
20
+ });
21
+
22
+ afterEach(() => {
23
+ cy.deleteRepository(repositoryId);
24
+ });
25
+
26
+ it('Should display the correct initial state when navigating via URL', () => {
27
+ // Given, I visit the ACL Management page via URL with a repository selected
28
+ AclManagementSteps.visit();
29
+ // Then,
30
+ verifyStateWithSelectedRepository();
31
+ });
32
+
33
+ it('Should display the correct initial state when navigating via the navigation menu', () => {
34
+ // Given, I visit the ACL Management page via the navigation menu with a repository selected
35
+ HomeSteps.visit();
36
+ MainMenuSteps.clickOnACLManagement();
37
+ // Then,
38
+ verifyStateWithSelectedRepository();
39
+ });
40
+ })
@@ -0,0 +1,21 @@
1
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
2
+ import HomeSteps from "../../../steps/home-steps";
3
+ import {ErrorSteps} from "../../../steps/error-steps";
4
+ import {AclManagementSteps} from "../../../steps/setup/acl-management-steps";
5
+
6
+ describe('ACL Management initial state without repositories', () => {
7
+ it('Should display the correct initial state when navigating via URL', () => {
8
+ // Given, I visit the ACL Management page via URL without repositories selected
9
+ AclManagementSteps.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 ACL Management page via the navigation menu without repositories selected
16
+ HomeSteps.visit();
17
+ MainMenuSteps.clickOnACLManagement();
18
+ // Then,
19
+ ErrorSteps.verifyNoConnectedRepoMessage();
20
+ });
21
+ });
@@ -2,6 +2,7 @@ import {AclManagementSteps} from "../../../steps/setup/acl-management-steps";
2
2
  import {ACL_VIEW} from "../../../steps/setup/acl-management-steps";
3
3
  import {ApplicationSteps} from "../../../steps/application-steps";
4
4
 
5
+
5
6
  describe('ACL Management: create rule', () => {
6
7
 
7
8
  let repositoryId;
@@ -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,10 +45,9 @@ 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)
@@ -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
+ })
@@ -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
+ })