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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/.editorconfig +17 -0
  2. package/.nycrc +10 -0
  3. package/cypress-flaky.config.js +20 -6
  4. package/cypress-legacy.config.js +47 -0
  5. package/cypress-security.config.js +36 -0
  6. package/cypress.config.js +45 -6
  7. package/{integration-flaky → e2e-flaky}/explore/visual.graph.spec.js +4 -1
  8. package/{integration-flaky → e2e-flaky}/import/import-server-files-operations.spec.js +2 -2
  9. package/{integration-flaky → e2e-flaky}/import/import-user-data-batch-operations.spec.js +3 -3
  10. package/e2e-flaky/import/import-user-data-url.spec.js +63 -0
  11. package/{integration-flaky → e2e-flaky}/setup/sparql-template-create.js +10 -18
  12. package/{integration-flaky → e2e-flaky}/sparql-editor/actions/execute-update-query.spec.js +2 -12
  13. package/{integration-flaky → e2e-flaky}/sparql-editor/actions/share-query.spec.js +1 -7
  14. package/{integration-flaky → e2e-flaky}/sparql-editor/yasr/table-plugin.spec.js +3 -7
  15. package/{integration → e2e-legacy}/cluster/cluster-states.spec.js +3 -3
  16. package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository-without-class-hierarchy.spec.js +42 -0
  17. package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository.spec.js +43 -0
  18. package/e2e-legacy/explore/class-hierarchy/class-hierarchy-without-selected-repository.spec.js +30 -0
  19. package/{integration/explore → e2e-legacy/explore/class-hierarchy}/class.hierarchy.spec.js +1 -1
  20. package/e2e-legacy/explore/class-relationships/class-relationships-repository-with-data.spec.js +42 -0
  21. package/e2e-legacy/explore/class-relationships/class-relationships-with-selected-repository.spec.js +39 -0
  22. package/e2e-legacy/explore/class-relationships/class-relationships-without-selected-repository.spec.js +21 -0
  23. package/{integration/explore/class.relationships.spec.js → e2e-legacy/explore/class-relationships/class-relationships.spec.js} +20 -50
  24. package/{integration/explore → e2e-legacy/explore/graphs-overview}/graphs.overview.spec.js +4 -4
  25. package/e2e-legacy/explore/graphs-overview/initial-state/graphs-overview-with-selected-repository.spec.js +44 -0
  26. package/e2e-legacy/explore/graphs-overview/initial-state/graphs-overview-without-selected-repository.spec.js +32 -0
  27. package/e2e-legacy/explore/similarity-index/similarity-index-with-repository.spec.js +38 -0
  28. package/e2e-legacy/explore/similarity-index/similarity-index-without-repository.spec.js +21 -0
  29. package/{integration → e2e-legacy}/explore/visual-graph/graphs-config.spec.js +5 -10
  30. package/e2e-legacy/explore/visual-graph/node-info-panel.spec.js +58 -0
  31. package/e2e-legacy/explore/visual-graph/visual-graph-links-limit.spec.js +142 -0
  32. package/{integration → e2e-legacy}/explore/visual-graph/visual-graph-node-labels.spec.js +14 -2
  33. package/e2e-legacy/explore/visual-graph/visual-graph-with-selected-repository.js +38 -0
  34. package/e2e-legacy/explore/visual-graph/visual-graph-without-selected-repository.js +21 -0
  35. package/{integration → e2e-legacy}/explore/visual-graph/visual.graph.spec.js +75 -96
  36. package/{integration → e2e-legacy}/graphql/create-graphql-endpoint.spec.js +0 -2
  37. package/{integration → e2e-legacy}/graphql/edit-graphql-enpoint.spec.js +1 -1
  38. package/{integration → e2e-legacy}/graphql/filter-graphql-endpoints-on-management-view.spec.js +1 -1
  39. package/{integration → e2e-legacy}/graphql/graphql-endpoint-management-view.spec.js +4 -4
  40. package/e2e-legacy/graphql/graphql-endpoint-management-with-endpoints.spec.js +43 -0
  41. package/e2e-legacy/graphql/graphql-endpoint-management-with-selected-repository.spec.js +39 -0
  42. package/e2e-legacy/graphql/graphql-endpoint-management-without-selected-repository.spec.js +21 -0
  43. package/e2e-legacy/graphql/graphql-playground-with-endpoints.spec.js +40 -0
  44. package/e2e-legacy/graphql/graphql-playground-with-selected-repository.spec.js +38 -0
  45. package/e2e-legacy/graphql/graphql-playground-without-selected-repository.spec.js +22 -0
  46. package/{integration → e2e-legacy}/graphql/graphql-playground.spec.js +1 -1
  47. package/e2e-legacy/graphql/graphql-theme.spec.js +73 -0
  48. package/{integration → e2e-legacy}/graphql/import-graphql-endpoint-definitions.spec.js +0 -6
  49. package/e2e-legacy/guides/autocomplete/enable-autocomplete-guide.spec.js +49 -0
  50. package/e2e-legacy/guides/class-hierarcy/class-hierarchy-guide.spec.js +89 -0
  51. package/e2e-legacy/guides/class-relations/class-relations-guide.spec.js +76 -0
  52. package/e2e-legacy/guides/connectors/connectors-guide.spec.js +163 -0
  53. package/e2e-legacy/guides/create-similarity-index/create-similarity-index-guide.spec.js +74 -0
  54. package/e2e-legacy/guides/download-guide-resource/download-guide-resource-guide.js +55 -0
  55. package/e2e-legacy/guides/execute-sparql-query/execute-sparql-query-guide.spec.js +92 -0
  56. package/e2e-legacy/guides/import-rdf-file/confirm-duplicate-rdf-file.spec.js +63 -0
  57. package/e2e-legacy/guides/import-rdf-file/import-rdf-file.spec.js +105 -0
  58. package/e2e-legacy/guides/main-menu/main-menu-guide.spec.js +302 -0
  59. package/e2e-legacy/guides/navigation/navigation-guide.spec.js +64 -0
  60. package/e2e-legacy/guides/rdf-rank/rdf-rank-guide.spec.js +42 -0
  61. package/e2e-legacy/guides/repositories/create-repository-guide.spec.js +69 -0
  62. package/e2e-legacy/guides/table-graph-explore/table-graph-explore-guide.spec.js +168 -0
  63. package/e2e-legacy/guides/ttyg/configure-agent/configure-agent-guide.spec.js +158 -0
  64. package/e2e-legacy/guides/ttyg/conversation/ttyg-conversation-guide.spec.js +92 -0
  65. package/e2e-legacy/guides/ttyg/edit-agent/edit-ttyg-agent-guide.spec.js +88 -0
  66. package/e2e-legacy/guides/visual-graph/visual-graph-guide.spec.js +372 -0
  67. package/e2e-legacy/guides/welcome/welcome-guide.spec.js +36 -0
  68. package/e2e-legacy/help/guides/guides-autostart.spec.js +126 -0
  69. package/e2e-legacy/help/guides/guides-confirm-cancel-dialog.js +83 -0
  70. package/e2e-legacy/help/guides/guides-with-repository.spec.js +32 -0
  71. package/e2e-legacy/help/guides/guides-without-repository.spec.js +20 -0
  72. package/e2e-legacy/help/guides/movies-interactive-guide.spec.js +71 -0
  73. package/{integration/guides/star-wars-interactive-guide.js → e2e-legacy/help/guides/star-wars-interactive-guide.spec.js} +3 -2
  74. package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-with-repository.spec.js +32 -0
  75. package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-without-repository.spec.js +20 -0
  76. package/e2e-legacy/help/system-information/system-information-with-repository.spec.js +32 -0
  77. package/e2e-legacy/help/system-information/system-information-without-repository.spec.js +20 -0
  78. package/e2e-legacy/home/cookie-policy/cookie-policy.spec.js +182 -0
  79. package/e2e-legacy/home/documentation-link.spec.js +41 -0
  80. package/{integration → e2e-legacy}/home/google-analytics.spec.js +4 -6
  81. package/e2e-legacy/home/home-page-with-selected-repository.spec.js +69 -0
  82. package/e2e-legacy/home/home-page-without-repositories.spec.js +87 -0
  83. package/e2e-legacy/home/home-page-without-selected-repository.spec.js +59 -0
  84. package/{integration → e2e-legacy}/home/language-change.spec.js +2 -2
  85. package/e2e-legacy/home/rdf-resource-search.spec.js +160 -0
  86. package/e2e-legacy/home/view-resource-autocomplete.spec.js +65 -0
  87. package/{integration → e2e-legacy}/import/import-server-files.spec.js +5 -3
  88. package/{integration → e2e-legacy}/import/import-user-data-file-upload.spec.js +19 -13
  89. package/{integration → e2e-legacy}/import/import-user-data-text-snippet.spec.js +0 -2
  90. package/{integration → e2e-legacy}/import/import-user-data-url.spec.js +0 -23
  91. package/{integration → e2e-legacy}/import/import-user-data.spec.js +11 -4
  92. package/e2e-legacy/import/initial-state/import-page-with-selected-repositor.js +51 -0
  93. package/e2e-legacy/import/initial-state/import-page-with-selected-repository-without-imported-files.js +45 -0
  94. package/e2e-legacy/import/initial-state/import-page-without-selected-repository.spec.js +28 -0
  95. package/e2e-legacy/license/license-with-repository.spec.js +113 -0
  96. package/e2e-legacy/license/license-without-repository.spec.js +103 -0
  97. package/{integration → e2e-legacy}/license/license.spec.js +4 -4
  98. package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-with-repository.spec.js +36 -0
  99. package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-without-repository.spec.js +25 -0
  100. package/{integration/monitor/monitor.backup-and-restore.spec.js → e2e-legacy/monitor/backup-and-restore/backup-and-restore.spec.js} +2 -2
  101. package/{integration → e2e-legacy}/monitor/global-operation-statuses-component.spec.js +12 -5
  102. package/e2e-legacy/monitor/query-and-updates/queries-and-updates-with-repository.spec.js +39 -0
  103. package/e2e-legacy/monitor/query-and-updates/queries-and-updates-without-repository.spec.js +21 -0
  104. package/{integration/monitor → e2e-legacy/monitor/system}/monitor.resources.spec.js +3 -2
  105. package/e2e-legacy/monitor/system/system-monitoring-with-repository.spec.js +32 -0
  106. package/e2e-legacy/monitor/system/system-monitoring-without-repository.spec.js +20 -0
  107. package/e2e-legacy/not-found/not-found.spec.js +23 -0
  108. package/{integration → e2e-legacy}/repository/ontop-repository.spec.js +1 -1
  109. package/{integration → e2e-legacy}/repository/repositories.spec.js +37 -45
  110. package/e2e-legacy/repository/url-with-repository-id-parameter.spec.js +181 -0
  111. package/{integration → e2e-legacy}/resource/resource.spec.js +50 -20
  112. package/e2e-legacy/setup/aclmanagement/acl-management-with-selected repository.spec.js +84 -0
  113. package/e2e-legacy/setup/aclmanagement/acl-management-without-repositories.spec.js +21 -0
  114. package/{integration → e2e-legacy}/setup/aclmanagement/create-rule.spec.js +4 -0
  115. package/e2e-legacy/setup/autocomplete/autocomplete-with-repository.spec.js +40 -0
  116. package/e2e-legacy/setup/autocomplete/autocomplete-without-repository.spec.js +27 -0
  117. package/{integration/setup → e2e-legacy/setup/autocomplete}/autocomplete.spec.js +6 -7
  118. package/e2e-legacy/setup/cluster/cluster-initial-state-with-cluster.spec.js +34 -0
  119. package/e2e-legacy/setup/cluster/cluster-initial-state-without-cluster.spec.js +25 -0
  120. package/e2e-legacy/setup/connectors/connectors-initial-state-with-selected-repository.spec.js +41 -0
  121. package/e2e-legacy/setup/connectors/connectors-initial-state-without-repositories.spec.js +21 -0
  122. package/{integration → e2e-legacy}/setup/connectors-lucene.spec.js +26 -10
  123. package/{integration → e2e-legacy}/setup/jdbc/jdbc-create.spec.js +4 -4
  124. package/e2e-legacy/setup/jdbc/jdbc-with-repository.spec.js +39 -0
  125. package/e2e-legacy/setup/jdbc/jdbc-without-repository.spec.js +27 -0
  126. package/e2e-legacy/setup/namespaces/namespaces-with-repository.spec.js +44 -0
  127. package/e2e-legacy/setup/namespaces/namespaces-without-repository.spec.js +27 -0
  128. package/{integration/setup → e2e-legacy/setup/namespaces}/namespaces.spec.js +6 -5
  129. package/e2e-legacy/setup/plugins/plugins-with-repository.spec.js +38 -0
  130. package/e2e-legacy/setup/plugins/plugins-without-repository.spec.js +28 -0
  131. package/{integration/setup → e2e-legacy/setup/plugins}/plugins.spec.js +3 -3
  132. package/e2e-legacy/setup/rdf-rank/rdf-rank-with-repository.spec.js +40 -0
  133. package/e2e-legacy/setup/rdf-rank/rdf-rank-without-repository.spec.js +30 -0
  134. package/{integration/setup → e2e-legacy/setup/rdf-rank}/rdf-rank.spec.js +3 -5
  135. package/e2e-legacy/setup/repositories/repositories-view-with-repositories.spec.js +40 -0
  136. package/e2e-legacy/setup/repositories/repositories-view-without-repositories.spec.js +28 -0
  137. package/e2e-legacy/setup/settings/my-settings-initial-state.spec.js +86 -0
  138. package/e2e-legacy/setup/settings/my-settings.spec.js +207 -0
  139. package/{integration/setup/sparql-template-create.js → e2e-legacy/setup/sparql-template/sparql-template-create.spec.js} +16 -8
  140. package/e2e-legacy/setup/sparql-template/sparql-template-with-repository.spec.js +39 -0
  141. package/e2e-legacy/setup/sparql-template/sparql-template-without-repository.spec.js +29 -0
  142. package/{integration/setup → e2e-legacy/setup/sparql-template}/sparql-templates.spec.js +4 -4
  143. package/{integration/setup → e2e-legacy/setup/users-and-access}/user-and-access.spec.js +184 -87
  144. package/e2e-legacy/setup/users-and-access/users-and-access-initial-state.spec.js +25 -0
  145. package/{integration → e2e-legacy}/sparql-editor/actions/expand-results-over-sameas.spec.js +12 -12
  146. package/{integration → e2e-legacy}/sparql-editor/actions/include-inferred-statements.spec.js +6 -6
  147. package/{integration → e2e-legacy}/sparql-editor/actions/inferred-sameas.spec.js +10 -8
  148. package/{integration → e2e-legacy}/sparql-editor/actions/show-saved-queries.spec.js +1 -6
  149. package/{integration → e2e-legacy}/sparql-editor/saved-query/abort-query.spec.js +1 -1
  150. package/{integration → e2e-legacy}/sparql-editor/saved-query/edit-query.spec.js +3 -3
  151. package/{integration → e2e-legacy}/sparql-editor/saved-query/readonly-query.spec.js +15 -24
  152. package/{integration → e2e-legacy}/sparql-editor/saved-query/share-query.spec.js +32 -1
  153. package/e2e-legacy/sparql-editor/sparql-page-with-selected-repository.spec.js +33 -0
  154. package/e2e-legacy/sparql-editor/sparql-page-without-selected-repository.spec.js +26 -0
  155. package/{integration → e2e-legacy}/sparql-editor/yasgui-tabs.spec.js +2 -12
  156. package/e2e-legacy/sparql-editor/yasqe-themes.spec.js +54 -0
  157. package/{integration → e2e-legacy}/sparql-editor/yasr/pagination.spec.js +5 -18
  158. package/{integration → e2e-legacy}/sparql-editor/yasr/table-plugin.spec.js +1 -6
  159. package/e2e-legacy/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +106 -0
  160. package/e2e-legacy/sparql-editor/yasr/yasr.spec.js +80 -0
  161. package/{integration → e2e-legacy}/ttyg/agent-list.spec.js +53 -2
  162. package/{integration → e2e-legacy}/ttyg/agent-select-menu.spec.js +25 -2
  163. package/{integration → e2e-legacy}/ttyg/chat-list.spec.js +3 -14
  164. package/{integration → e2e-legacy}/ttyg/chat-panel.spec.js +74 -6
  165. package/{integration → e2e-legacy}/ttyg/clone-agent.spec.js +24 -2
  166. package/{integration → e2e-legacy}/ttyg/create-agent.spec.js +37 -66
  167. package/{integration → e2e-legacy}/ttyg/create-chat.spec.js +6 -4
  168. package/{integration → e2e-legacy}/ttyg/delete-agent.spec.js +1 -2
  169. package/e2e-legacy/ttyg/edit-agent.spec.js +178 -0
  170. package/e2e-legacy/ttyg/ttyg-initial-state-with-configured-api-key.spec.js +46 -0
  171. package/e2e-legacy/ttyg/ttyg-initial-state-with-selected-repository.spec.js +45 -0
  172. package/e2e-legacy/ttyg/ttyg-initial-state-without-repositories.spec.js +21 -0
  173. package/{integration-flaky → e2e-legacy}/ttyg/ttyg-permission.spec.js +23 -17
  174. package/{integration → e2e-legacy}/ttyg/ttyg-view.spec.js +2 -2
  175. package/e2e-security/repository/url-with-repository-id-parameter.spec.js +57 -0
  176. package/e2e-security/setup/home/cookie-policy.spec.js +290 -0
  177. package/e2e-security/setup/users-and-access/create-user-permissions.spec.js +193 -0
  178. package/e2e-security/setup/users-and-access/graphql-user.spec.js +126 -0
  179. package/e2e-security/setup/users-and-access/repo-admin-role.spec.js +70 -0
  180. package/e2e-security/setup/users-and-access/turn-on-security-and-password-change.spec.js +99 -0
  181. package/e2e-security/setup/users-and-access/user-and-access.spec.js +87 -0
  182. package/e2e-security/setup/users-and-access/users-and-access-initial-state.spec.js +38 -0
  183. package/eslint.config.js +39 -0
  184. package/fixtures/graph/graph-configurations.json +59 -0
  185. package/fixtures/guides/autocomplete/enable-autocomplete-guide.json +12 -0
  186. package/fixtures/guides/class-hierarchy/class-hierarchy-guide.json +35 -0
  187. package/fixtures/guides/class-relations/class-relations-guide.json +33 -0
  188. package/fixtures/guides/confirm-cancel-dialog/confirm-cancel-dialog-guide.json +15 -0
  189. package/fixtures/guides/connectors/connectors-guide.json +66 -0
  190. package/fixtures/guides/connectors/lucene-connector-guide.json +120 -0
  191. package/fixtures/guides/create-repository/create-repository-guide.json +25 -0
  192. package/fixtures/guides/create-similarity-index/create-similarity-index-guide.json +36 -0
  193. package/fixtures/guides/download-guide-resource/download-guide-resource-guide.json +25 -0
  194. package/fixtures/guides/download-resource.ttl +629 -0
  195. package/fixtures/guides/execute-sparql-query/execute-sparql-query-guide.json +54 -0
  196. package/fixtures/guides/import-rdf-file/confirm-duplicate-rdf-file-guide.json +30 -0
  197. package/fixtures/guides/import-rdf-file/import-rdf-file-guide.json +21 -0
  198. package/fixtures/guides/main-menu/main-menu-guide.json +98 -0
  199. package/fixtures/guides/navigation/navigation-guide.json +60 -0
  200. package/fixtures/guides/rdf-rank/rdf-rank-guide.json +18 -0
  201. package/fixtures/guides/table-graph-explore/table-graph-explore-guide.json +51 -0
  202. package/fixtures/guides/table-graph-explore/table-graph-explore-without-substeps-guide.json +25 -0
  203. package/fixtures/guides/ttyg/configure-agent/configure-ttyg-agent-guide.json +74 -0
  204. package/fixtures/guides/ttyg/conversation/ttyg-conversation-guide.json +26 -0
  205. package/fixtures/guides/ttyg/edit-ttyg-agent/edit-ttyg-agent-guide.json +22 -0
  206. package/fixtures/guides/visual-graph/visual-graph-config-guide.json +39 -0
  207. package/fixtures/guides/visual-graph/visual-graph-guide.json +85 -0
  208. package/fixtures/guides/welcome/welcome-guide.json +18 -0
  209. package/fixtures/repositories/free-access.json +13 -0
  210. package/fixtures/similarity/get-ttyg-similarity-instances.json +10 -0
  211. package/fixtures/ttyg/agent/get-agent-defaults-assistant-api.json +44 -0
  212. package/fixtures/ttyg/agent/get-agent-defaults.json +9 -2
  213. package/fixtures/ttyg/agent/get-agent-list-with-incompatible-agents.json +79 -0
  214. package/fixtures/ttyg/agent/get-similarity-indexes-for-another-repo.json +8 -0
  215. package/fixtures/ttyg/agent/get-similarity-indexes.json +22 -0
  216. package/fixtures/ttyg/chats/ask-question-cancel.json +12 -0
  217. package/fixtures/ttyg/chats/ask-question.json +12 -2
  218. package/fixtures/ttyg/chats/cancel-question-response.json +1 -0
  219. package/fixtures/ttyg/chats/create/create-chat-response.json +10 -14
  220. package/fixtures/ttyg/chats/create/question-response-after-chat-creation.json +29 -0
  221. package/fixtures/ttyg/chats/explain-response-1.json +2 -48
  222. package/fixtures/ttyg/chats/explain-response-3.json +12 -0
  223. package/fixtures/ttyg/chats/get-chat.json +6 -1
  224. package/npm-shrinkwrap.json +11004 -3815
  225. package/package.json +58 -42
  226. package/plugins/index.js +10 -5
  227. package/steps/application-steps.js +8 -6
  228. package/steps/base-steps.js +29 -0
  229. package/steps/class-views-steps.js +35 -7
  230. package/steps/cluster/cluster-page-steps.js +12 -2
  231. package/steps/cookie-policy/cookie-consent-banner-steps.js +21 -0
  232. package/steps/cookie-policy/cookie-policy-modal.steps.js +56 -0
  233. package/steps/error-page-steps.js +9 -0
  234. package/steps/error-steps.js +15 -3
  235. package/steps/explore/class-relationships-steps.js +64 -0
  236. package/steps/explore/graphs-overview-steps.js +21 -1
  237. package/steps/explore/similarity-index-create-steps.js +5 -3
  238. package/steps/explore/similarity-indexes-steps.js +16 -2
  239. package/steps/graphql/graphql-endpoint-management-steps.js +2 -2
  240. package/steps/graphql/playground-editor-steps.js +46 -0
  241. package/steps/guides/guide-dialog-steps.js +81 -2
  242. package/steps/guides/guide-steps.js +54 -2
  243. package/steps/guides/movies-guide-steps.js +2 -1
  244. package/steps/header-steps.js +22 -0
  245. package/steps/home-steps.js +184 -77
  246. package/steps/import/import-resource-message-dialog.js +1 -1
  247. package/steps/import/import-steps.js +12 -16
  248. package/steps/import/import-user-data-steps.js +5 -1
  249. package/steps/language-selector-steps.js +2 -2
  250. package/steps/license-steps.js +91 -9
  251. package/steps/login-steps.js +31 -6
  252. package/steps/main-menu-steps.js +244 -19
  253. package/steps/modal-dialog-steps.js +32 -1
  254. package/steps/monitoring/backup-and-restore-steps.js +9 -3
  255. package/steps/monitoring/queries-and-updates-steps.js +20 -0
  256. package/steps/monitoring/system-monitoring-steps.js +40 -0
  257. package/steps/not-found/not-found-steps.js +23 -0
  258. package/steps/operations-statuses-component-steps.js +5 -10
  259. package/steps/rdf-resource-search-steps.js +55 -0
  260. package/steps/repository-selector-steps.js +3 -3
  261. package/steps/repository-steps.js +88 -18
  262. package/steps/resource/resource-steps.js +6 -10
  263. package/steps/rest-api-documentation-steps.js +15 -0
  264. package/steps/setup/acl-management-steps.js +18 -2
  265. package/steps/setup/autocomplete-steps.js +23 -8
  266. package/steps/setup/connectors-steps.js +32 -0
  267. package/steps/setup/jdbc-steps.js +18 -4
  268. package/steps/setup/namespace-steps.js +10 -7
  269. package/steps/setup/plugins-steps.js +12 -5
  270. package/steps/setup/rdf-rank-steps.js +23 -9
  271. package/steps/setup/settings-steps.js +101 -2
  272. package/steps/setup/sparql-templates-steps.js +19 -1
  273. package/steps/setup/user-and-access-steps.js +50 -16
  274. package/steps/shared-modal-dialog-steps.js +45 -0
  275. package/steps/sparql-editor-steps.js +21 -2
  276. package/steps/sparql-steps.js +13 -1
  277. package/steps/system-information-steps.js +70 -0
  278. package/steps/toaster-steps.js +18 -6
  279. package/steps/ttyg/chat-panel-steps.js +40 -2
  280. package/steps/ttyg/ttyg-agent-settings-modal.steps.js +136 -31
  281. package/steps/ttyg/ttyg-view-steps.js +80 -10
  282. package/steps/visual-graph-split-button-steps.js +45 -0
  283. package/steps/visual-graph-steps.js +106 -10
  284. package/steps/widgets/active-repository-widget-steps.js +29 -0
  285. package/steps/widgets/license-widget-steps.js +9 -0
  286. package/steps/widgets/repository-errors-widget-steps.js +21 -0
  287. package/steps/widgets/saved-sparql-queries-widget-steps.js +9 -0
  288. package/steps/yasgui/yasgui-loader.js +3 -3
  289. package/steps/yasgui/yasgui-steps.js +1 -1
  290. package/steps/yasgui/yasqe-steps.js +35 -4
  291. package/steps/yasgui/yasr-steps.js +35 -5
  292. package/stubs/autocomplete/autocomplete-stubs.js +7 -0
  293. package/stubs/browser-stubs.js +21 -0
  294. package/stubs/environment-stubs.js +9 -1
  295. package/stubs/graph-config-stubs.js +17 -0
  296. package/stubs/guides/guides-stubs.js +103 -0
  297. package/stubs/license-stubs.js +51 -0
  298. package/stubs/repositories/repositories-stubs.js +180 -75
  299. package/stubs/saved-queries-stubs.js +5 -0
  300. package/stubs/security-stubs.js +12 -0
  301. package/stubs/similarity-index-stubs.js +4 -0
  302. package/stubs/sparql-stubs.js +10 -0
  303. package/stubs/ttyg/ttyg-stubs.js +64 -15
  304. package/stubs/yasgui/query-stubs.js +5 -1
  305. package/support/commands.js +22 -1
  306. package/support/connector-commands.js +13 -0
  307. package/support/e2e-security.js +9 -0
  308. package/support/{index.js → e2e.js} +9 -3
  309. package/support/repository-commands.js +29 -4
  310. package/support/settings-commands.js +33 -1
  311. package/support/url-commands.js +13 -0
  312. package/support/user-commands.js +9 -4
  313. package/utils/html-util.js +24 -4
  314. package/Dockerfile +0 -11
  315. package/fixtures/locale-en.json +0 -3342
  316. package/integration/explore/similarity-index/similarity-index-create.spec.js +0 -333
  317. package/integration/explore/similarity-index/similarity-index.spec.js +0 -88
  318. package/integration/explore/similarity-index/similarity.spec.js +0 -628
  319. package/integration/guides/movies-interactive-guide.spec.js +0 -73
  320. package/integration/home/cookie-policy.spec.js +0 -90
  321. package/integration/home/documentation-link.spec.js +0 -60
  322. package/integration/home/language-selector.spec.js +0 -19
  323. package/integration/home/rdf-resource-search.spec.js +0 -177
  324. package/integration/home/view-resource-autocomplete.spec.js +0 -52
  325. package/integration/home/workbench.home.spec.js +0 -30
  326. package/integration/monitor/monitor.queries.spec.js +0 -31
  327. package/integration/setup/my-settings.spec.js +0 -289
  328. package/integration/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +0 -57
  329. package/integration/ttyg/edit-agent.spec.js +0 -99
  330. package/integration-flaky/setup/users-and-access/security-and-free-access.spec.js +0 -54
  331. package/stubs/repositories-stub.js +0 -73
  332. package/{integration-flaky → e2e-flaky}/import/import.server.files.spec.js +0 -0
  333. package/{integration-flaky → e2e-flaky}/sparql-editor/lucene-connector.spec.js +0 -0
  334. package/{integration-flaky → e2e-flaky}/sparql-editor/plugins/error-plugin.spec.js +0 -0
  335. package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-multi-region.spec.js +0 -0
  336. package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-nodes.spec.js +0 -0
  337. package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-properties.spec.js +0 -0
  338. package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration.spec.js +0 -0
  339. package/{integration → e2e-legacy}/cluster/cluster-legend.spec.js +0 -0
  340. package/{integration → e2e-legacy}/cluster/edit-cluster-nodes-modal.spec.js +0 -0
  341. package/{integration → e2e-legacy}/graphql/activate-deactivate-graphql-endpoint.spec.js +0 -0
  342. package/{integration → e2e-legacy}/graphql/delete-graphql-endpoint.spec.js +0 -0
  343. package/{integration → e2e-legacy}/graphql/export-graphql-endpoint-definition.spec.js +0 -0
  344. package/{integration → e2e-legacy}/graphql/set-default-graphql-endpoint.spec.js +0 -0
  345. package/{integration/help → e2e-legacy/help/system-information}/system-information.spec.js +0 -0
  346. package/{integration → e2e-legacy}/home/create-repository.spec.js +0 -0
  347. package/{integration → e2e-legacy}/import/import-server-files-batch-operations.spec.js +0 -0
  348. package/{integration → e2e-legacy}/import/import-user-data-settings-dialog.spec.js +0 -0
  349. package/{integration → e2e-legacy}/import/import-view.spec.js +0 -0
  350. package/{integration → e2e-legacy}/repository/attach-remote-location.spec.js +1 -1
  351. /package/{integration → e2e-legacy}/repository/repository-commands.spec.js +0 -0
  352. /package/{integration → e2e-legacy}/setup/aclmanagement/delete-rule.spec.js +0 -0
  353. /package/{integration → e2e-legacy}/setup/aclmanagement/edit-rule.spec.js +0 -0
  354. /package/{integration → e2e-legacy}/setup/aclmanagement/render-rules.spec.js +0 -0
  355. /package/{integration → e2e-legacy}/setup/aclmanagement/reorder-rules.spec.js +0 -0
  356. /package/{integration → e2e-legacy}/setup/aclmanagement/revert-rules.spec.js +0 -0
  357. /package/{integration → e2e-legacy}/setup/aclmanagement/scopes.spec.js +0 -0
  358. /package/{integration → e2e-legacy}/setup/aclmanagement/update-rules.spec.js +0 -0
  359. /package/{integration → e2e-legacy}/setup/jdbc/jdbc.spec.js +0 -0
  360. /package/{integration → e2e-legacy}/sparql-editor/actions/execute-query.spec.js +0 -0
  361. /package/{integration → e2e-legacy}/sparql-editor/actions/save-query.spec.js +0 -0
  362. /package/{integration → e2e-legacy}/sparql-editor/internationalization.spec.js +0 -0
  363. /package/{integration → e2e-legacy}/sparql-editor/saved-query/delete-query.spec.js +0 -0
  364. /package/{integration → e2e-legacy}/sparql-editor/sparql-editor.spec.js +0 -0
  365. /package/{integration → e2e-legacy}/sparql-editor/yasr/download-as.spec.js +0 -0
@@ -1,4 +1,5 @@
1
- import {RdfRankSteps} from "../../steps/setup/rdf-rank-steps";
1
+ import {RdfRankSteps} from "../../../steps/setup/rdf-rank-steps";
2
+ import {ToasterSteps} from "../../../steps/toaster-steps";
2
3
 
3
4
  describe('RDF Rank view', () => {
4
5
 
@@ -98,10 +99,7 @@ describe('RDF Rank view', () => {
98
99
  RdfRankSteps.getIncludedPredicatesFilter()
99
100
  .find('.tag-list .tag-item')
100
101
  .should('have.length', 0);
101
- RdfRankSteps.getToast()
102
- .find('.toast-error')
103
- .should('be.visible')
104
- .and('contain', 'is not a valid IRI');
102
+ ToasterSteps.verifyError('is not a valid IRI')
105
103
 
106
104
  // Enter valid one and rebuild
107
105
  RdfRankSteps.getIncludedPredicatesFilter()
@@ -0,0 +1,40 @@
1
+ import {RepositorySteps} from "../../../steps/repository-steps";
2
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
+ import HomeSteps from "../../../steps/home-steps";
4
+
5
+ function verifyInitialRepositoriesState() {
6
+ RepositorySteps.getRepositoriesList().should('be.visible');
7
+ RepositorySteps.getLocalGraphDBTable()
8
+ .should('be.visible')
9
+ .and('have.length', 1)
10
+ .and('contain', 'repository-');
11
+ }
12
+
13
+ describe('Repositories view initial state', () => {
14
+ let repositoryId;
15
+
16
+ beforeEach(() => {
17
+ repositoryId = 'repository-' + 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 Repositories page via URL
28
+ RepositorySteps.visit();
29
+ // Then,
30
+ verifyInitialRepositoriesState();
31
+ });
32
+
33
+ it('should display the correct initial state when navigating via the navigation menu', () => {
34
+ // Given, I visit the Repositories page via the navigation menu
35
+ HomeSteps.visit();
36
+ MainMenuSteps.clickOnRepositories();
37
+ // Then,
38
+ verifyInitialRepositoriesState();
39
+ })
40
+ })
@@ -0,0 +1,28 @@
1
+ import {RepositorySteps} from "../../../steps/repository-steps";
2
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
+ import HomeSteps from "../../../steps/home-steps";
4
+
5
+ function verifyInitialRepositoriesState() {
6
+ RepositorySteps.getRepositoriesList().should('not.exist');
7
+ RepositorySteps.getLocalGraphDBTable()
8
+ .should('be.visible')
9
+ .and('have.length', 1)
10
+ .and('contain', 'There are no repositories in the current location');
11
+ }
12
+
13
+ describe('Repositories view initial state', () => {
14
+ it('should display the correct initial state when navigating via URL', () => {
15
+ // Given, I visit the Repositories page via URL
16
+ RepositorySteps.visit();
17
+ // Then,
18
+ verifyInitialRepositoriesState();
19
+ });
20
+
21
+ it('should display the correct initial state when navigating via the navigation menu', () => {
22
+ // Given, I visit the Repositories page via the navigation menu
23
+ HomeSteps.visit();
24
+ MainMenuSteps.clickOnRepositories();
25
+ // Then,
26
+ verifyInitialRepositoriesState();
27
+ })
28
+ })
@@ -0,0 +1,86 @@
1
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
2
+ import HomeSteps from "../../../steps/home-steps";
3
+ import {SettingsSteps} from "../../../steps/setup/settings-steps";
4
+
5
+ function verifyInitialState(repositoryId) {
6
+ // Password change field is for admin.
7
+ // explicitly state that the fields must be of type password
8
+ SettingsSteps.getPasswordField().should('be.visible')
9
+ .and('have.value', '')
10
+ .and('have.attr', 'placeholder', 'New password');
11
+ SettingsSteps.getConfirmPasswordField().should('be.visible')
12
+ .and('have.value', '')
13
+ .and('have.attr', 'placeholder', 'Confirm password');
14
+
15
+ // SPARQL settings are as follows:
16
+ // -Expand over sameAs is on
17
+ // -Inference is on
18
+ // -Count total results is checked
19
+ // -Ignore saved queries is not checked
20
+ SettingsSteps.getSparqlEditorPanel().should('be.visible');
21
+ SettingsSteps.getSameAsToggle().should('be.checked');
22
+ SettingsSteps.getSameAsLabel().should('be.visible')
23
+ .and('contain', 'Expand results over owl:SameAs is')
24
+ .find('.tag').should('be.visible')
25
+ .and('contain', 'ON');
26
+ SettingsSteps.getInferenceToggle().should('be.checked');
27
+ SettingsSteps.getInferenceLabel().should('be.visible')
28
+ .and('contain', 'Inference is')
29
+ .find('.tag').should('be.visible')
30
+ .and('contain', 'ON');
31
+ SettingsSteps.getCountCheckbox().should('be.checked');
32
+ SettingsSteps.getIgnoreSharedCheckbox().should('not.be.checked');
33
+
34
+ // User role
35
+ // - User role is administrator (both cannot be changed)
36
+ SettingsSteps.getUserRoleRadioButton()
37
+ .should('be.checked')
38
+ .and('be.disabled')
39
+ .and('have.value', 'admin');
40
+ SettingsSteps.getRepoManagerRadioButton()
41
+ .should('not.be.checked')
42
+ .and('be.disabled');
43
+ SettingsSteps.getAdminRadioButton()
44
+ .should('not.be.checked')
45
+ .and('be.disabled');
46
+
47
+ // Repository rights
48
+ // - Admin has read and write access to all repositories."
49
+ SettingsSteps.getUserRepositoryTable().should('be.visible');
50
+ SettingsSteps.getReadRightsCheckbox(repositoryId)
51
+ .should('be.visible')
52
+ .and('be.checked')
53
+ .and('be.disabled');
54
+ SettingsSteps.getWriteRightsCheckbox(repositoryId)
55
+ .should('be.visible')
56
+ .and('be.checked')
57
+ .and('be.disabled');
58
+ }
59
+
60
+ describe('My Settings initial state', () => {
61
+ let repositoryId;
62
+ beforeEach(() => {
63
+ repositoryId = 'my-settings-' + Date.now();
64
+ cy.createRepository({id: repositoryId});
65
+ cy.presetRepository(repositoryId);
66
+ });
67
+
68
+ afterEach(() => {
69
+ cy.deleteRepository(repositoryId);
70
+ });
71
+
72
+ it('Should display the correct initial state when navigating via URL', () => {
73
+ // Given, I visit the My Settings page via URL
74
+ SettingsSteps.visit();
75
+ // Then,
76
+ verifyInitialState(repositoryId);
77
+ });
78
+
79
+ it('Should display the correct initial state when navigating via the navigation bar', () => {
80
+ // Given, I visit the My Settings page via the navigation menu
81
+ HomeSteps.visit();
82
+ MainMenuSteps.clickOnMySettings();
83
+ // Then,
84
+ verifyInitialState(repositoryId);
85
+ });
86
+ });
@@ -0,0 +1,207 @@
1
+ import {SparqlEditorSteps} from '../../../steps/sparql-editor-steps';
2
+ import {YasqeSteps} from '../../../steps/yasgui/yasqe-steps';
3
+ import {SecurityStubs} from '../../../stubs/security-stubs';
4
+ import {VisualGraphSteps} from '../../../steps/visual-graph-steps';
5
+ import {ToasterSteps} from '../../../steps/toaster-steps';
6
+
7
+ describe('My Settings', () => {
8
+
9
+ let repositoryId;
10
+ const testResultCountQuery = 'select * where { \n' +
11
+ '\t?s ?p ?o .\n' +
12
+ '} limit 1001';
13
+ const FILE_TO_IMPORT = 'wine.rdf';
14
+
15
+ beforeEach(() => {
16
+ repositoryId = 'my-settings-' + Date.now();
17
+ cy.createRepository({id: repositoryId});
18
+ cy.presetRepository(repositoryId);
19
+ cy.importServerFile(repositoryId, FILE_TO_IMPORT);
20
+ cy.setDefaultUserData();
21
+ visitSettingsView();
22
+ });
23
+
24
+ afterEach(() => {
25
+ cy.deleteRepository(repositoryId);
26
+ });
27
+
28
+ it('should change settings for admin and verify changes are reflected in SPARQL editor', () => {
29
+ SecurityStubs.resetGetAdminUserStub();
30
+ cy.get('.sparql-editor-settings').should('be.visible');
31
+
32
+ //turn off inference, sameAs and count total results
33
+ clickLabelBtn('#sameas-on')
34
+ .then(() => {
35
+ cy.get('#sameas-on')
36
+ .find('.switch:checkbox')
37
+ .should('not.be.visible');
38
+ });
39
+
40
+ clickLabelBtn('#inference-on')
41
+ .then(() => {
42
+ cy.get('#inference-on')
43
+ .find('.switch:checkbox')
44
+ .should('not.be.visible');
45
+ });
46
+
47
+ cy.get('#defaultCount:checkbox').uncheck();
48
+ cy.get('#defaultCount:checkbox').should('not.be.checked');
49
+
50
+ // Note that saving settings takes time.
51
+ // Make sure that visiting SPARQL view
52
+ // will happen after successful save
53
+ getSaveButton().click()
54
+ .then(() => {
55
+ verifyUserSettingsUpdated();
56
+ //Go to SPARQL editor and verify changes are persisted for the admin user
57
+ SparqlEditorSteps.visitSparqlEditorPage();
58
+
59
+ //verify disabled default inference, sameAs and total results count
60
+ YasqeSteps.getIncludeInferredStatementsButton().should('have.class', 'icon-inferred-off');
61
+ YasqeSteps.getExpandResultsOverSameAsButton().should('have.class', 'icon-same-as-off');
62
+
63
+ //clear default query and paste a new one that will generate more than 1000 results
64
+ YasqeSteps.clearEditor();
65
+ YasqeSteps.pasteQuery(testResultCountQuery);
66
+
67
+ YasqeSteps.executeQuery();
68
+
69
+ //return to My Settings to revert the changes
70
+ visitSettingsView();
71
+ // Wait for loader to disappear
72
+ cy.get('.ot-loader-new-content').should('not.be.visible');
73
+
74
+ turnOnLabelBtn('#sameas-on');
75
+ turnOnLabelBtn('#inference-on');
76
+ cy.get('#defaultCount:checkbox').check();
77
+ cy.get('#defaultCount:checkbox').should('be.visible').and('be.checked');
78
+ });
79
+ });
80
+
81
+ it('Should test the "Show schema ON/OFF by default in visual graph" setting in My Settings', () => {
82
+ //Verify that schema statements are ON in My settings
83
+ cy.get('#schema-on').find('.switch:checkbox').should('be.checked');
84
+ cy.enableAutocomplete(repositoryId);
85
+ //Verify that schema statements ON is reflected in Visual graph
86
+ VisualGraphSteps.openDryWineUri();
87
+ cy.get('.visual-graph-settings-btn').scrollIntoView();
88
+ cy.get('.visual-graph-settings-btn').click();
89
+ cy.get('.rdf-info-side-panel .filter-sidepanel').should('be.visible');
90
+ cy.get('.include-schema-statements').should('be.visible').and('be.checked');
91
+ saveGraphSettings()
92
+ .then(() => cy.get('.predicate').should('contain', 'type'));
93
+
94
+ //Set schema statements OFF in my settings
95
+ visitSettingsView();
96
+
97
+ clickLabelBtn('#schema-on').then(() => {
98
+ cy.get('#schema-on')
99
+ .find('.switch:checkbox')
100
+ .should('not.be.visible');
101
+ });
102
+
103
+ getSaveButton()
104
+ .click()
105
+ .then(() => {
106
+ verifyUserSettingsUpdated();
107
+ });
108
+
109
+ //Verify that schema statements OFF is reflected in Visual graph
110
+ VisualGraphSteps.openDryWineUri();
111
+
112
+ cy.get('.visual-graph-settings-btn').click();
113
+ cy.get('.rdf-info-side-panel .filter-sidepanel').should('be.visible');
114
+ cy.get('.include-schema-statements').scrollIntoView();
115
+ cy.get('.include-schema-statements').should('be.visible').click();
116
+ cy.get('.include-schema-statements').then(($el) => {
117
+ cy.wrap($el).trigger('mouseleave', {force: true});
118
+ cy.get('.include-schema-statements').scrollIntoView();
119
+ cy.get('.include-schema-statements').should('be.visible').and('not.be.checked');
120
+ saveGraphSettings()
121
+ .then(() => cy.get('.predicate').should('not.exist'));
122
+ });
123
+ //return to My Settings to revert the changes
124
+ visitSettingsView();
125
+ // Wait for loader to disappear
126
+ cy.get('.ot-loader-new-content').should('not.be.visible');
127
+ clickLabelBtn('#schema-on')
128
+ .then(() => {
129
+ cy.waitUntil(() => {
130
+ cy.get('#schema-on')
131
+ .find('input[type="checkbox"]')
132
+ .scrollIntoView();
133
+ return cy.get('#schema-on')
134
+ .find('input[type="checkbox"]').then(input => input && input.attr('checked'));
135
+ }
136
+ );
137
+ });
138
+ });
139
+
140
+ it('Saving administrator credentials with checked unset password should show modal window to warn user about' +
141
+ ' unsetting the password', () => {
142
+ // User role is administrator
143
+ cy.get('#noPassword:checkbox').check();
144
+ cy.get('#noPassword:checkbox').should('be.checked');
145
+ getSaveButton().click()
146
+ .then(() => {
147
+ cy.get('.modal-dialog').find('.lead').contains('If you unset the password and then enable security,' +
148
+ ' this administrator will not be able to log into GraphDB through the workbench.');
149
+ });
150
+ });
151
+
152
+ it('sameAs button should be disabled if inference is turned off', () => {
153
+ clickLabelBtn('#inference-on')
154
+ .then(() => {
155
+ cy.get('#inference-on')
156
+ .find('.switch:checkbox')
157
+ .should('not.be.visible');
158
+ });
159
+
160
+ cy.get('#sameas-on')
161
+ .find('.switch:checkbox')
162
+ .should('not.be.visible');
163
+ });
164
+
165
+ function getSaveButton() {
166
+ cy.get('#wb-user-submit').scrollIntoView();
167
+ return cy.get('#wb-user-submit').should('be.visible');
168
+ }
169
+
170
+ function verifyUserSettingsUpdated() {
171
+ cy.waitUntil(() => ToasterSteps.verifySuccess('The user admin was updated'));
172
+ }
173
+
174
+ function saveGraphSettings() {
175
+ cy.get('.save-settings-btn').scrollIntoView();
176
+ return cy.get('.save-settings-btn').should('be.visible').click();
177
+ }
178
+
179
+ function visitSettingsView() {
180
+ cy.visit('/settings', {
181
+ onBeforeLoad: (win) => {
182
+ win.localStorage.setItem('ls.repository-id', repositoryId);
183
+ }
184
+ });
185
+ cy.window()
186
+ .then(() => cy.url().should('eq', `${Cypress.config('baseUrl')}/settings`));
187
+ // Everything should be related to admin user.
188
+ cy.get('.login-credentials').should('be.visible');
189
+ cy.get('#wb-user-username').should('be.visible')
190
+ .and('have.value', 'admin')
191
+ .and('have.attr', 'readonly', 'readonly');
192
+ }
193
+
194
+ function clickLabelBtn(btnId) {
195
+ cy.get(btnId).find('.switch.mr-0').scrollIntoView();
196
+ return cy.get(btnId).find('.switch.mr-0').should('be.visible').click();
197
+ }
198
+
199
+ function turnOnLabelBtn(btnId) {
200
+ cy.get(btnId).find('input[type="checkbox"]').check({force: true});
201
+
202
+ cy.waitUntil(() => {
203
+ cy.get(btnId).find('input[type="checkbox"]').scrollIntoView();
204
+ return cy.get(btnId).find('input[type="checkbox"]').then(input => input && input.attr('checked'));
205
+ });
206
+ }
207
+ });
@@ -1,10 +1,10 @@
1
- import {SparqlCreateUpdateSteps} from "../../steps/setup/sparql-create-update-steps";
2
- import {YasqeSteps} from "../../steps/yasgui/yasqe-steps";
3
- import {ModalDialogSteps} from "../../steps/modal-dialog-steps";
4
- import {MainMenuSteps} from "../../steps/main-menu-steps";
5
- import {RepositorySelectorSteps} from "../../steps/repository-selector-steps";
6
- import {SparqlTemplatesSteps} from "../../steps/setup/sparql-templates-steps";
7
- import {ImportUserDataSteps} from "../../steps/import/import-user-data-steps";
1
+ import {SparqlCreateUpdateSteps} from "../../../steps/setup/sparql-create-update-steps";
2
+ import {YasqeSteps} from "../../../steps/yasgui/yasqe-steps";
3
+ import {ModalDialogSteps} from "../../../steps/modal-dialog-steps";
4
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
5
+ import {RepositorySelectorSteps} from "../../../steps/repository-selector-steps";
6
+ import {SparqlTemplatesSteps} from "../../../steps/setup/sparql-templates-steps";
7
+ import {ImportUserDataSteps} from "../../../steps/import/import-user-data-steps";
8
8
 
9
9
  describe('SPARQL create template', () => {
10
10
 
@@ -17,15 +17,16 @@ describe('SPARQL create template', () => {
17
17
  cy.presetRepository(repositoryId);
18
18
  secondRepositoryId = 'sparql-templates-second-repo' + Date.now();
19
19
  cy.createRepository({id: secondRepositoryId});
20
- SparqlCreateUpdateSteps.visit();
21
20
  });
22
21
 
23
22
  afterEach(() => {
23
+ cy.unsetRepository();
24
24
  cy.deleteRepository(repositoryId);
25
25
  cy.deleteRepository(secondRepositoryId);
26
26
  });
27
27
 
28
28
  it('should has error message described that template id is required', () => {
29
+ SparqlCreateUpdateSteps.visit();
29
30
  // When I visit 'Sparql create template' view,
30
31
  // and click on "Save" button without to fill template id.
31
32
  SparqlCreateUpdateSteps.clickOnSaveButton();
@@ -35,6 +36,7 @@ describe('SPARQL create template', () => {
35
36
  });
36
37
 
37
38
  it('should has error message described that template id is invalid', () => {
39
+ SparqlCreateUpdateSteps.visit();
38
40
  // When I visit 'Sparql create template' view,
39
41
  // and fill an invalid template id,
40
42
  const invalidTemplateName = 'invalid-template-id';
@@ -47,6 +49,7 @@ describe('SPARQL create template', () => {
47
49
  });
48
50
 
49
51
  it('should has error message described that query mode is invalid', () => {
52
+ SparqlCreateUpdateSteps.visit();
50
53
  // When I visit 'Sparql create template' view,
51
54
  // and fill valid template id.
52
55
  SparqlCreateUpdateSteps.typeTemplateId('http://test');
@@ -62,6 +65,7 @@ describe('SPARQL create template', () => {
62
65
  });
63
66
 
64
67
  it('should navigate to other view if there are no changes', () => {
68
+ SparqlCreateUpdateSteps.visit();
65
69
  // When I visit 'Sparql create template' view,
66
70
  // and navigate to other view.
67
71
  ImportUserDataSteps.visitUserImport(repositoryId);
@@ -71,6 +75,7 @@ describe('SPARQL create template', () => {
71
75
  });
72
76
 
73
77
  it('should confirm me before navigate when template id is changed', () => {
78
+ SparqlCreateUpdateSteps.visit();
74
79
  // When I visit 'Sparql create template' view,
75
80
  // and set template id.
76
81
  SparqlCreateUpdateSteps.typeTemplateId('http://test');
@@ -104,6 +109,7 @@ describe('SPARQL create template', () => {
104
109
  });
105
110
 
106
111
  it('should not change the view if I am creating a new sparql template and change the repository', () => {
112
+ SparqlCreateUpdateSteps.visit();
107
113
  // When I visit 'Sparql create template' view,
108
114
  // make some changes.
109
115
  SparqlCreateUpdateSteps.typeTemplateId('http://test');
@@ -116,6 +122,7 @@ describe('SPARQL create template', () => {
116
122
  });
117
123
 
118
124
  it('Should redirect to templates catalog view when repository is changed', () => {
125
+ SparqlCreateUpdateSteps.visit();
119
126
  // When I visit 'Sparql create template' view
120
127
  // When I change the repository.
121
128
  RepositorySelectorSteps.selectRepository(secondRepositoryId);
@@ -125,6 +132,7 @@ describe('SPARQL create template', () => {
125
132
  });
126
133
 
127
134
  it('should ask for confirmation when try to save sparql template with already existing template id', () => {
135
+ SparqlCreateUpdateSteps.visit();
128
136
  // When I visit 'Sparql create template' view,
129
137
  // create a SPARQL template
130
138
  const templateName = 'http://' + Date.now();
@@ -0,0 +1,39 @@
1
+ import HomeSteps from "../../../steps/home-steps";
2
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
+ import {SparqlTemplatesSteps} from "../../../steps/setup/sparql-templates-steps";
4
+
5
+ describe('Sparql templates with selected repository', () => {
6
+ let repositoryId;
7
+
8
+ beforeEach(() => {
9
+ repositoryId = 'sparql-template-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 Sparql templates page via URL with a repository selected
20
+ SparqlTemplatesSteps.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 Sparql templates page via the navigation menu with a repository selected
27
+ HomeSteps.visit();
28
+ MainMenuSteps.clickOnSparqlTemplates();
29
+ // Then,
30
+ verifyInitialStateWithSelectedRepository();
31
+ });
32
+
33
+ const verifyInitialStateWithSelectedRepository = () => {
34
+ SparqlTemplatesSteps.getSparqlTemplatesPage().should('exist');
35
+ SparqlTemplatesSteps.getSparqlTemplatesContent().should('be.visible');
36
+ SparqlTemplatesSteps.getSparqlTemplatesCreateLink().should('be.visible');
37
+ SparqlTemplatesSteps.getNoSparqlTemplatesMessage().should('be.visible');
38
+ };
39
+ })
@@ -0,0 +1,29 @@
1
+ import {ErrorSteps} from "../../../steps/error-steps";
2
+ import HomeSteps from "../../../steps/home-steps";
3
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
4
+ import {SparqlTemplatesSteps} from "../../../steps/setup/sparql-templates-steps";
5
+
6
+ describe('Sparql templates without selected repository', () => {
7
+ it('Should display the correct initial state when navigating via URL', () => {
8
+ // Given, I visit the Sparql templates page via URL without a repository selected
9
+ SparqlTemplatesSteps.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 Sparql templates page via the navigation menu without a repository selected
16
+ HomeSteps.visit();
17
+ MainMenuSteps.clickOnSparqlTemplates();
18
+ // Then,
19
+ verifyInitialStateWithoutSelectedRepository()
20
+ });
21
+
22
+ const verifyInitialStateWithoutSelectedRepository = () => {
23
+ ErrorSteps.verifyNoConnectedRepoMessage();
24
+ SparqlTemplatesSteps.getSparqlTemplatesPage().should('exist');
25
+ SparqlTemplatesSteps.getSparqlTemplatesContent().should('not.exist');
26
+ SparqlTemplatesSteps.getSparqlTemplatesCreateLink().should('not.exist');
27
+ SparqlTemplatesSteps.getNoSparqlTemplatesMessage().should('not.exist');
28
+ };
29
+ })
@@ -1,7 +1,7 @@
1
- import {SparqlTemplatesSteps} from "../../steps/setup/sparql-templates-steps";
2
- import {SparqlCreateUpdateSteps} from "../../steps/setup/sparql-create-update-steps";
3
- import {ModalDialogSteps} from "../../steps/modal-dialog-steps";
4
- import {ToasterSteps} from "../../steps/toaster-steps";
1
+ import {SparqlTemplatesSteps} from "../../../steps/setup/sparql-templates-steps";
2
+ import {SparqlCreateUpdateSteps} from "../../../steps/setup/sparql-create-update-steps";
3
+ import {ModalDialogSteps} from "../../../steps/modal-dialog-steps";
4
+ import {ToasterSteps} from "../../../steps/toaster-steps";
5
5
 
6
6
  describe('SPARQL Templates', () => {
7
7