graphdb-workbench-tests 3.4.0-TR2 → 3.4.0-TR4

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 (363) hide show
  1. package/Dockerfile +11 -0
  2. package/cypress-flaky.config.js +6 -20
  3. package/cypress.config.js +6 -45
  4. package/fixtures/locale-en.json +3342 -0
  5. package/fixtures/ttyg/agent/get-agent-defaults.json +2 -9
  6. package/fixtures/ttyg/chats/ask-question.json +2 -12
  7. package/fixtures/ttyg/chats/create/create-chat-response.json +14 -10
  8. package/fixtures/ttyg/chats/explain-response-1.json +48 -2
  9. package/fixtures/ttyg/chats/get-chat.json +1 -6
  10. package/{e2e-legacy → integration}/cluster/cluster-states.spec.js +3 -3
  11. package/{e2e-legacy/explore/class-hierarchy → integration/explore}/class.hierarchy.spec.js +1 -1
  12. package/{e2e-legacy/explore/class-relationships/class-relationships.spec.js → integration/explore/class.relationships.spec.js} +50 -20
  13. package/{e2e-legacy/explore/graphs-overview → integration/explore}/graphs.overview.spec.js +4 -4
  14. package/integration/explore/similarity-index/similarity-index-create.spec.js +333 -0
  15. package/integration/explore/similarity-index/similarity-index.spec.js +88 -0
  16. package/integration/explore/similarity-index/similarity.spec.js +628 -0
  17. package/{e2e-legacy → integration}/explore/visual-graph/graphs-config.spec.js +10 -5
  18. package/{e2e-legacy → integration}/explore/visual-graph/visual-graph-node-labels.spec.js +2 -14
  19. package/{e2e-legacy → integration}/explore/visual-graph/visual.graph.spec.js +96 -75
  20. package/{e2e-legacy → integration}/graphql/create-graphql-endpoint.spec.js +2 -0
  21. package/{e2e-legacy → integration}/graphql/edit-graphql-enpoint.spec.js +1 -1
  22. package/{e2e-legacy → integration}/graphql/filter-graphql-endpoints-on-management-view.spec.js +1 -1
  23. package/{e2e-legacy → integration}/graphql/graphql-endpoint-management-view.spec.js +4 -4
  24. package/{e2e-legacy → integration}/graphql/graphql-playground.spec.js +1 -1
  25. package/{e2e-legacy → integration}/graphql/import-graphql-endpoint-definitions.spec.js +6 -0
  26. package/integration/guides/movies-interactive-guide.spec.js +73 -0
  27. package/{e2e-legacy/help/guides/star-wars-interactive-guide.spec.js → integration/guides/star-wars-interactive-guide.js} +2 -3
  28. package/integration/home/cookie-policy.spec.js +90 -0
  29. package/integration/home/documentation-link.spec.js +60 -0
  30. package/{e2e-legacy → integration}/home/google-analytics.spec.js +6 -4
  31. package/{e2e-legacy → integration}/home/language-change.spec.js +2 -2
  32. package/integration/home/language-selector.spec.js +19 -0
  33. package/integration/home/rdf-resource-search.spec.js +177 -0
  34. package/integration/home/view-resource-autocomplete.spec.js +52 -0
  35. package/integration/home/workbench.home.spec.js +30 -0
  36. package/{e2e-legacy → integration}/import/import-server-files.spec.js +3 -5
  37. package/{e2e-legacy → integration}/import/import-user-data-file-upload.spec.js +13 -19
  38. package/{e2e-legacy → integration}/import/import-user-data-text-snippet.spec.js +2 -0
  39. package/{e2e-legacy → integration}/import/import-user-data-url.spec.js +23 -0
  40. package/{e2e-legacy → integration}/import/import-user-data.spec.js +4 -11
  41. package/{e2e-legacy → integration}/license/license.spec.js +4 -4
  42. package/{e2e-legacy → integration}/monitor/global-operation-statuses-component.spec.js +5 -12
  43. package/{e2e-legacy/monitor/backup-and-restore/backup-and-restore.spec.js → integration/monitor/monitor.backup-and-restore.spec.js} +2 -2
  44. package/integration/monitor/monitor.queries.spec.js +31 -0
  45. package/{e2e-legacy/monitor/system → integration/monitor}/monitor.resources.spec.js +2 -3
  46. package/{e2e-legacy → integration}/repository/ontop-repository.spec.js +1 -1
  47. package/{e2e-legacy → integration}/repository/repositories.spec.js +45 -37
  48. package/{e2e-legacy → integration}/resource/resource.spec.js +7 -17
  49. package/{e2e-legacy → integration}/setup/aclmanagement/create-rule.spec.js +0 -4
  50. package/{e2e-legacy/setup/autocomplete → integration/setup}/autocomplete.spec.js +7 -6
  51. package/{e2e-legacy → integration}/setup/connectors-lucene.spec.js +10 -26
  52. package/{e2e-legacy → integration}/setup/jdbc/jdbc-create.spec.js +4 -4
  53. package/integration/setup/my-settings.spec.js +289 -0
  54. package/{e2e-legacy/setup/namespaces → integration/setup}/namespaces.spec.js +5 -6
  55. package/{e2e-legacy/setup/plugins → integration/setup}/plugins.spec.js +3 -3
  56. package/{e2e-legacy/setup/rdf-rank → integration/setup}/rdf-rank.spec.js +5 -3
  57. package/{e2e-legacy/setup/sparql-template/sparql-template-create.spec.js → integration/setup/sparql-template-create.js} +8 -16
  58. package/{e2e-legacy/setup/sparql-template → integration/setup}/sparql-templates.spec.js +4 -4
  59. package/{e2e-legacy/setup/users-and-access → integration/setup}/user-and-access.spec.js +87 -184
  60. package/{e2e-legacy → integration}/sparql-editor/actions/expand-results-over-sameas.spec.js +12 -12
  61. package/{e2e-legacy → integration}/sparql-editor/actions/include-inferred-statements.spec.js +6 -6
  62. package/{e2e-legacy → integration}/sparql-editor/actions/inferred-sameas.spec.js +8 -10
  63. package/{e2e-legacy → integration}/sparql-editor/actions/show-saved-queries.spec.js +6 -1
  64. package/{e2e-legacy → integration}/sparql-editor/saved-query/abort-query.spec.js +1 -1
  65. package/{e2e-legacy → integration}/sparql-editor/saved-query/edit-query.spec.js +3 -3
  66. package/{e2e-legacy → integration}/sparql-editor/saved-query/readonly-query.spec.js +24 -15
  67. package/{e2e-legacy → integration}/sparql-editor/saved-query/share-query.spec.js +1 -32
  68. package/{e2e-legacy → integration}/sparql-editor/yasgui-tabs.spec.js +12 -2
  69. package/{e2e-legacy → integration}/sparql-editor/yasr/pagination.spec.js +18 -5
  70. package/{e2e-legacy → integration}/sparql-editor/yasr/table-plugin.spec.js +6 -1
  71. package/integration/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +57 -0
  72. package/{e2e-legacy → integration}/ttyg/agent-list.spec.js +2 -53
  73. package/{e2e-legacy → integration}/ttyg/agent-select-menu.spec.js +2 -25
  74. package/{e2e-legacy → integration}/ttyg/chat-list.spec.js +14 -3
  75. package/{e2e-legacy → integration}/ttyg/chat-panel.spec.js +6 -74
  76. package/{e2e-legacy → integration}/ttyg/clone-agent.spec.js +2 -24
  77. package/{e2e-legacy → integration}/ttyg/create-agent.spec.js +66 -37
  78. package/{e2e-legacy → integration}/ttyg/create-chat.spec.js +4 -6
  79. package/{e2e-legacy → integration}/ttyg/delete-agent.spec.js +2 -1
  80. package/integration/ttyg/edit-agent.spec.js +99 -0
  81. package/{e2e-legacy → integration}/ttyg/ttyg-view.spec.js +2 -2
  82. package/{e2e-flaky → integration-flaky}/explore/visual.graph.spec.js +1 -4
  83. package/{e2e-flaky → integration-flaky}/import/import-server-files-operations.spec.js +2 -2
  84. package/{e2e-flaky → integration-flaky}/import/import-user-data-batch-operations.spec.js +3 -3
  85. package/{e2e-flaky → integration-flaky}/setup/sparql-template-create.js +18 -10
  86. package/integration-flaky/setup/users-and-access/security-and-free-access.spec.js +54 -0
  87. package/{e2e-flaky → integration-flaky}/sparql-editor/actions/execute-update-query.spec.js +12 -2
  88. package/{e2e-flaky → integration-flaky}/sparql-editor/actions/share-query.spec.js +7 -1
  89. package/{e2e-flaky → integration-flaky}/sparql-editor/yasr/table-plugin.spec.js +7 -3
  90. package/{e2e-legacy → integration-flaky}/ttyg/ttyg-permission.spec.js +17 -23
  91. package/npm-shrinkwrap.json +3815 -11004
  92. package/package.json +42 -58
  93. package/plugins/index.js +5 -10
  94. package/steps/application-steps.js +6 -8
  95. package/steps/class-views-steps.js +7 -35
  96. package/steps/cluster/cluster-page-steps.js +2 -12
  97. package/steps/error-steps.js +3 -15
  98. package/steps/explore/graphs-overview-steps.js +1 -21
  99. package/steps/explore/similarity-index-create-steps.js +3 -5
  100. package/steps/explore/similarity-indexes-steps.js +2 -16
  101. package/steps/graphql/graphql-endpoint-management-steps.js +2 -2
  102. package/steps/guides/guide-dialog-steps.js +2 -81
  103. package/steps/guides/guide-steps.js +2 -54
  104. package/steps/home-steps.js +77 -184
  105. package/steps/import/import-resource-message-dialog.js +1 -1
  106. package/steps/import/import-steps.js +16 -12
  107. package/steps/import/import-user-data-steps.js +1 -5
  108. package/steps/language-selector-steps.js +2 -2
  109. package/steps/license-steps.js +9 -91
  110. package/steps/login-steps.js +6 -31
  111. package/steps/main-menu-steps.js +19 -244
  112. package/steps/modal-dialog-steps.js +1 -32
  113. package/steps/monitoring/backup-and-restore-steps.js +3 -9
  114. package/steps/operations-statuses-component-steps.js +10 -5
  115. package/steps/repository-selector-steps.js +3 -3
  116. package/steps/repository-steps.js +18 -64
  117. package/steps/resource/resource-steps.js +2 -6
  118. package/steps/setup/acl-management-steps.js +2 -6
  119. package/steps/setup/autocomplete-steps.js +8 -23
  120. package/steps/setup/jdbc-steps.js +4 -18
  121. package/steps/setup/namespace-steps.js +7 -10
  122. package/steps/setup/plugins-steps.js +5 -12
  123. package/steps/setup/rdf-rank-steps.js +9 -23
  124. package/steps/setup/settings-steps.js +2 -101
  125. package/steps/setup/sparql-templates-steps.js +1 -19
  126. package/steps/setup/user-and-access-steps.js +16 -50
  127. package/steps/sparql-editor-steps.js +2 -8
  128. package/steps/sparql-steps.js +1 -13
  129. package/steps/toaster-steps.js +6 -18
  130. package/steps/ttyg/chat-panel-steps.js +2 -40
  131. package/steps/ttyg/ttyg-agent-settings-modal.steps.js +31 -136
  132. package/steps/ttyg/ttyg-view-steps.js +10 -80
  133. package/steps/visual-graph-steps.js +10 -106
  134. package/steps/yasgui/yasgui-loader.js +3 -3
  135. package/steps/yasgui/yasgui-steps.js +1 -1
  136. package/steps/yasgui/yasqe-steps.js +4 -35
  137. package/steps/yasgui/yasr-steps.js +3 -73
  138. package/stubs/autocomplete/autocomplete-stubs.js +0 -7
  139. package/stubs/environment-stubs.js +1 -9
  140. package/stubs/license-stubs.js +0 -51
  141. package/stubs/repositories/repositories-stubs.js +75 -180
  142. package/stubs/repositories-stub.js +73 -0
  143. package/stubs/security-stubs.js +0 -12
  144. package/stubs/similarity-index-stubs.js +0 -4
  145. package/stubs/ttyg/ttyg-stubs.js +15 -64
  146. package/stubs/yasgui/query-stubs.js +1 -5
  147. package/support/commands.js +1 -22
  148. package/support/{e2e.js → index.js} +3 -9
  149. package/support/repository-commands.js +4 -29
  150. package/support/settings-commands.js +1 -33
  151. package/support/user-commands.js +4 -9
  152. package/utils/html-util.js +4 -24
  153. package/.editorconfig +0 -17
  154. package/.nycrc +0 -10
  155. package/cypress-legacy.config.js +0 -47
  156. package/cypress-security.config.js +0 -36
  157. package/e2e-flaky/import/import-user-data-url.spec.js +0 -63
  158. package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository-without-class-hierarchy.spec.js +0 -42
  159. package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository.spec.js +0 -43
  160. package/e2e-legacy/explore/class-hierarchy/class-hierarchy-without-selected-repository.spec.js +0 -30
  161. package/e2e-legacy/explore/class-relationships/class-relationships-repository-with-data.spec.js +0 -42
  162. package/e2e-legacy/explore/class-relationships/class-relationships-with-selected-repository.spec.js +0 -39
  163. package/e2e-legacy/explore/class-relationships/class-relationships-without-selected-repository.spec.js +0 -21
  164. package/e2e-legacy/explore/graphs-overview/initial-state/graphs-overview-with-selected-repository.spec.js +0 -44
  165. package/e2e-legacy/explore/graphs-overview/initial-state/graphs-overview-without-selected-repository.spec.js +0 -32
  166. package/e2e-legacy/explore/similarity-index/similarity-index-with-repository.spec.js +0 -38
  167. package/e2e-legacy/explore/similarity-index/similarity-index-without-repository.spec.js +0 -21
  168. package/e2e-legacy/explore/visual-graph/node-info-panel.spec.js +0 -58
  169. package/e2e-legacy/explore/visual-graph/visual-graph-links-limit.spec.js +0 -140
  170. package/e2e-legacy/explore/visual-graph/visual-graph-with-selected-repository.js +0 -38
  171. package/e2e-legacy/explore/visual-graph/visual-graph-without-selected-repository.js +0 -21
  172. package/e2e-legacy/graphql/graphql-endpoint-management-with-endpoints.spec.js +0 -43
  173. package/e2e-legacy/graphql/graphql-endpoint-management-with-selected-repository.spec.js +0 -39
  174. package/e2e-legacy/graphql/graphql-endpoint-management-without-selected-repository.spec.js +0 -21
  175. package/e2e-legacy/graphql/graphql-playground-with-endpoints.spec.js +0 -40
  176. package/e2e-legacy/graphql/graphql-playground-with-selected-repository.spec.js +0 -38
  177. package/e2e-legacy/graphql/graphql-playground-without-selected-repository.spec.js +0 -22
  178. package/e2e-legacy/graphql/graphql-theme.spec.js +0 -73
  179. package/e2e-legacy/guides/autocomplete/enable-autocomplete-guide.spec.js +0 -49
  180. package/e2e-legacy/guides/class-hierarcy/class-hierarchy-guide.spec.js +0 -89
  181. package/e2e-legacy/guides/class-relations/class-relations-guide.spec.js +0 -76
  182. package/e2e-legacy/guides/connectors/connectors-guide.spec.js +0 -163
  183. package/e2e-legacy/guides/create-similarity-index/create-similarity-index-guide.spec.js +0 -74
  184. package/e2e-legacy/guides/download-guide-resource/download-guide-resource-guide.js +0 -55
  185. package/e2e-legacy/guides/execute-sparql-query/execute-sparql-query-guide.spec.js +0 -92
  186. package/e2e-legacy/guides/import-rdf-file/confirm-duplicate-rdf-file.spec.js +0 -63
  187. package/e2e-legacy/guides/import-rdf-file/import-rdf-file.spec.js +0 -105
  188. package/e2e-legacy/guides/main-menu/main-menu-guide.spec.js +0 -302
  189. package/e2e-legacy/guides/navigation/navigation-guide.spec.js +0 -64
  190. package/e2e-legacy/guides/rdf-rank/rdf-rank-guide.spec.js +0 -42
  191. package/e2e-legacy/guides/repositories/create-repository-guide.spec.js +0 -69
  192. package/e2e-legacy/guides/table-graph-explore/table-graph-explore-guide.spec.js +0 -167
  193. package/e2e-legacy/guides/ttyg/configure-agent/configure-agent-guide.spec.js +0 -157
  194. package/e2e-legacy/guides/ttyg/conversation/ttyg-conversation-guide.spec.js +0 -92
  195. package/e2e-legacy/guides/ttyg/edit-agent/edit-ttyg-agent-guide.spec.js +0 -88
  196. package/e2e-legacy/guides/visual-graph/visual-graph-guide.spec.js +0 -372
  197. package/e2e-legacy/guides/welcome/welcome-guide.spec.js +0 -36
  198. package/e2e-legacy/help/guides/guides-autostart.spec.js +0 -126
  199. package/e2e-legacy/help/guides/guides-confirm-cancel-dialog.js +0 -83
  200. package/e2e-legacy/help/guides/guides-with-repository.spec.js +0 -32
  201. package/e2e-legacy/help/guides/guides-without-repository.spec.js +0 -20
  202. package/e2e-legacy/help/guides/movies-interactive-guide.spec.js +0 -71
  203. package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-with-repository.spec.js +0 -32
  204. package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-without-repository.spec.js +0 -20
  205. package/e2e-legacy/help/system-information/system-information-with-repository.spec.js +0 -32
  206. package/e2e-legacy/help/system-information/system-information-without-repository.spec.js +0 -20
  207. package/e2e-legacy/home/cookie-policy/cookie-policy.spec.js +0 -182
  208. package/e2e-legacy/home/documentation-link.spec.js +0 -41
  209. package/e2e-legacy/home/home-page-with-selected-repository.spec.js +0 -69
  210. package/e2e-legacy/home/home-page-without-repositories.spec.js +0 -87
  211. package/e2e-legacy/home/home-page-without-selected-repository.spec.js +0 -59
  212. package/e2e-legacy/home/rdf-resource-search.spec.js +0 -160
  213. package/e2e-legacy/home/view-resource-autocomplete.spec.js +0 -65
  214. package/e2e-legacy/import/initial-state/import-page-with-selected-repositor.js +0 -51
  215. package/e2e-legacy/import/initial-state/import-page-with-selected-repository-without-imported-files.js +0 -45
  216. package/e2e-legacy/import/initial-state/import-page-without-selected-repository.spec.js +0 -28
  217. package/e2e-legacy/license/license-with-repository.spec.js +0 -113
  218. package/e2e-legacy/license/license-without-repository.spec.js +0 -103
  219. package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-with-repository.spec.js +0 -36
  220. package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-without-repository.spec.js +0 -25
  221. package/e2e-legacy/monitor/query-and-updates/queries-and-updates-with-repository.spec.js +0 -39
  222. package/e2e-legacy/monitor/query-and-updates/queries-and-updates-without-repository.spec.js +0 -21
  223. package/e2e-legacy/monitor/system/system-monitoring-with-repository.spec.js +0 -32
  224. package/e2e-legacy/monitor/system/system-monitoring-without-repository.spec.js +0 -20
  225. package/e2e-legacy/not-found/not-found.spec.js +0 -23
  226. package/e2e-legacy/repository/url-with-repository-id-parameter.spec.js +0 -181
  227. package/e2e-legacy/setup/aclmanagement/acl-management-with-selected repository.spec.js +0 -40
  228. package/e2e-legacy/setup/aclmanagement/acl-management-without-repositories.spec.js +0 -21
  229. package/e2e-legacy/setup/autocomplete/autocomplete-with-repository.spec.js +0 -40
  230. package/e2e-legacy/setup/autocomplete/autocomplete-without-repository.spec.js +0 -27
  231. package/e2e-legacy/setup/cluster/cluster-initial-state-with-cluster.spec.js +0 -34
  232. package/e2e-legacy/setup/cluster/cluster-initial-state-without-cluster.spec.js +0 -25
  233. package/e2e-legacy/setup/connectors/connectors-initial-state-with-selected-repository.spec.js +0 -41
  234. package/e2e-legacy/setup/connectors/connectors-initial-state-without-repositories.spec.js +0 -21
  235. package/e2e-legacy/setup/jdbc/jdbc-with-repository.spec.js +0 -39
  236. package/e2e-legacy/setup/jdbc/jdbc-without-repository.spec.js +0 -27
  237. package/e2e-legacy/setup/namespaces/namespaces-with-repository.spec.js +0 -44
  238. package/e2e-legacy/setup/namespaces/namespaces-without-repository.spec.js +0 -27
  239. package/e2e-legacy/setup/plugins/plugins-with-repository.spec.js +0 -38
  240. package/e2e-legacy/setup/plugins/plugins-without-repository.spec.js +0 -28
  241. package/e2e-legacy/setup/rdf-rank/rdf-rank-with-repository.spec.js +0 -40
  242. package/e2e-legacy/setup/rdf-rank/rdf-rank-without-repository.spec.js +0 -30
  243. package/e2e-legacy/setup/repositories/repositories-view-with-repositories.spec.js +0 -40
  244. package/e2e-legacy/setup/repositories/repositories-view-without-repositories.spec.js +0 -28
  245. package/e2e-legacy/setup/settings/my-settings-initial-state.spec.js +0 -86
  246. package/e2e-legacy/setup/settings/my-settings.spec.js +0 -207
  247. package/e2e-legacy/setup/sparql-template/sparql-template-with-repository.spec.js +0 -39
  248. package/e2e-legacy/setup/sparql-template/sparql-template-without-repository.spec.js +0 -29
  249. package/e2e-legacy/setup/users-and-access/users-and-access-initial-state.spec.js +0 -25
  250. package/e2e-legacy/sparql-editor/sparql-page-with-selected-repository.spec.js +0 -33
  251. package/e2e-legacy/sparql-editor/sparql-page-without-selected-repository.spec.js +0 -26
  252. package/e2e-legacy/sparql-editor/yasqe-themes.spec.js +0 -54
  253. package/e2e-legacy/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +0 -106
  254. package/e2e-legacy/sparql-editor/yasr/yasr.spec.js +0 -80
  255. package/e2e-legacy/ttyg/edit-agent.spec.js +0 -178
  256. package/e2e-legacy/ttyg/ttyg-initial-state-with-configured-api-key.spec.js +0 -46
  257. package/e2e-legacy/ttyg/ttyg-initial-state-with-selected-repository.spec.js +0 -45
  258. package/e2e-legacy/ttyg/ttyg-initial-state-without-repositories.spec.js +0 -21
  259. package/e2e-security/repository/url-with-repository-id-parameter.spec.js +0 -57
  260. package/e2e-security/setup/home/cookie-policy.spec.js +0 -290
  261. package/e2e-security/setup/users-and-access/create-user-permissions.spec.js +0 -193
  262. package/e2e-security/setup/users-and-access/graphql-user.spec.js +0 -126
  263. package/e2e-security/setup/users-and-access/repo-admin-role.spec.js +0 -70
  264. package/e2e-security/setup/users-and-access/turn-on-security-and-password-change.spec.js +0 -99
  265. package/e2e-security/setup/users-and-access/user-and-access.spec.js +0 -87
  266. package/e2e-security/setup/users-and-access/users-and-access-initial-state.spec.js +0 -38
  267. package/eslint.config.js +0 -39
  268. package/fixtures/graph/graph-configurations.json +0 -59
  269. package/fixtures/guides/autocomplete/enable-autocomplete-guide.json +0 -12
  270. package/fixtures/guides/class-hierarchy/class-hierarchy-guide.json +0 -35
  271. package/fixtures/guides/class-relations/class-relations-guide.json +0 -33
  272. package/fixtures/guides/confirm-cancel-dialog/confirm-cancel-dialog-guide.json +0 -15
  273. package/fixtures/guides/connectors/connectors-guide.json +0 -66
  274. package/fixtures/guides/connectors/lucene-connector-guide.json +0 -120
  275. package/fixtures/guides/create-repository/create-repository-guide.json +0 -25
  276. package/fixtures/guides/create-similarity-index/create-similarity-index-guide.json +0 -36
  277. package/fixtures/guides/download-guide-resource/download-guide-resource-guide.json +0 -25
  278. package/fixtures/guides/download-resource.ttl +0 -629
  279. package/fixtures/guides/execute-sparql-query/execute-sparql-query-guide.json +0 -54
  280. package/fixtures/guides/import-rdf-file/confirm-duplicate-rdf-file-guide.json +0 -30
  281. package/fixtures/guides/import-rdf-file/import-rdf-file-guide.json +0 -21
  282. package/fixtures/guides/main-menu/main-menu-guide.json +0 -98
  283. package/fixtures/guides/navigation/navigation-guide.json +0 -60
  284. package/fixtures/guides/rdf-rank/rdf-rank-guide.json +0 -18
  285. package/fixtures/guides/table-graph-explore/table-graph-explore-guide.json +0 -51
  286. package/fixtures/guides/table-graph-explore/table-graph-explore-without-substeps-guide.json +0 -25
  287. package/fixtures/guides/ttyg/configure-agent/configure-ttyg-agent-guide.json +0 -74
  288. package/fixtures/guides/ttyg/conversation/ttyg-conversation-guide.json +0 -26
  289. package/fixtures/guides/ttyg/edit-ttyg-agent/edit-ttyg-agent-guide.json +0 -22
  290. package/fixtures/guides/visual-graph/visual-graph-config-guide.json +0 -39
  291. package/fixtures/guides/visual-graph/visual-graph-guide.json +0 -85
  292. package/fixtures/guides/welcome/welcome-guide.json +0 -18
  293. package/fixtures/repositories/free-access.json +0 -13
  294. package/fixtures/similarity/get-ttyg-similarity-instances.json +0 -10
  295. package/fixtures/ttyg/agent/get-agent-defaults-assistant-api.json +0 -44
  296. package/fixtures/ttyg/agent/get-agent-list-with-incompatible-agents.json +0 -79
  297. package/fixtures/ttyg/agent/get-similarity-indexes-for-another-repo.json +0 -8
  298. package/fixtures/ttyg/agent/get-similarity-indexes.json +0 -22
  299. package/fixtures/ttyg/chats/ask-question-cancel.json +0 -12
  300. package/fixtures/ttyg/chats/cancel-question-response.json +0 -1
  301. package/fixtures/ttyg/chats/create/question-response-after-chat-creation.json +0 -29
  302. package/fixtures/ttyg/chats/explain-response-3.json +0 -12
  303. package/steps/base-steps.js +0 -29
  304. package/steps/cookie-policy/cookie-consent-banner-steps.js +0 -21
  305. package/steps/cookie-policy/cookie-policy-modal.steps.js +0 -56
  306. package/steps/error-page-steps.js +0 -9
  307. package/steps/explore/class-relationships-steps.js +0 -64
  308. package/steps/graphql/playground-editor-steps.js +0 -46
  309. package/steps/header-steps.js +0 -22
  310. package/steps/monitoring/queries-and-updates-steps.js +0 -20
  311. package/steps/monitoring/system-monitoring-steps.js +0 -40
  312. package/steps/not-found/not-found-steps.js +0 -23
  313. package/steps/rdf-resource-search-steps.js +0 -55
  314. package/steps/rest-api-documentation-steps.js +0 -15
  315. package/steps/setup/connectors-steps.js +0 -32
  316. package/steps/shared-modal-dialog-steps.js +0 -45
  317. package/steps/system-information-steps.js +0 -70
  318. package/steps/widgets/active-repository-widget-steps.js +0 -29
  319. package/steps/widgets/license-widget-steps.js +0 -9
  320. package/steps/widgets/repository-errors-widget-steps.js +0 -21
  321. package/steps/widgets/saved-sparql-queries-widget-steps.js +0 -9
  322. package/stubs/browser-stubs.js +0 -21
  323. package/stubs/graph-config-stubs.js +0 -17
  324. package/stubs/guides/guides-stubs.js +0 -103
  325. package/stubs/saved-queries-stubs.js +0 -5
  326. package/stubs/sparql-stubs.js +0 -10
  327. package/support/connector-commands.js +0 -13
  328. package/support/e2e-security.js +0 -9
  329. package/support/url-commands.js +0 -13
  330. package/{e2e-legacy → integration}/cluster/cluster-configuration/cluster-configuration-multi-region.spec.js +0 -0
  331. package/{e2e-legacy → integration}/cluster/cluster-configuration/cluster-configuration-nodes.spec.js +0 -0
  332. package/{e2e-legacy → integration}/cluster/cluster-configuration/cluster-configuration-properties.spec.js +0 -0
  333. package/{e2e-legacy → integration}/cluster/cluster-configuration/cluster-configuration.spec.js +0 -0
  334. package/{e2e-legacy → integration}/cluster/cluster-legend.spec.js +0 -0
  335. package/{e2e-legacy → integration}/cluster/edit-cluster-nodes-modal.spec.js +0 -0
  336. package/{e2e-legacy → integration}/graphql/activate-deactivate-graphql-endpoint.spec.js +0 -0
  337. package/{e2e-legacy → integration}/graphql/delete-graphql-endpoint.spec.js +0 -0
  338. package/{e2e-legacy → integration}/graphql/export-graphql-endpoint-definition.spec.js +0 -0
  339. package/{e2e-legacy → integration}/graphql/set-default-graphql-endpoint.spec.js +0 -0
  340. package/{e2e-legacy/help/system-information → integration/help}/system-information.spec.js +0 -0
  341. package/{e2e-legacy → integration}/home/create-repository.spec.js +0 -0
  342. package/{e2e-legacy → integration}/import/import-server-files-batch-operations.spec.js +0 -0
  343. package/{e2e-legacy → integration}/import/import-user-data-settings-dialog.spec.js +0 -0
  344. package/{e2e-legacy → integration}/import/import-view.spec.js +0 -0
  345. package/{e2e-legacy → integration}/repository/attach-remote-location.spec.js +1 -1
  346. /package/{e2e-legacy → integration}/repository/repository-commands.spec.js +0 -0
  347. /package/{e2e-legacy → integration}/setup/aclmanagement/delete-rule.spec.js +0 -0
  348. /package/{e2e-legacy → integration}/setup/aclmanagement/edit-rule.spec.js +0 -0
  349. /package/{e2e-legacy → integration}/setup/aclmanagement/render-rules.spec.js +0 -0
  350. /package/{e2e-legacy → integration}/setup/aclmanagement/reorder-rules.spec.js +0 -0
  351. /package/{e2e-legacy → integration}/setup/aclmanagement/revert-rules.spec.js +0 -0
  352. /package/{e2e-legacy → integration}/setup/aclmanagement/scopes.spec.js +0 -0
  353. /package/{e2e-legacy → integration}/setup/aclmanagement/update-rules.spec.js +0 -0
  354. /package/{e2e-legacy → integration}/setup/jdbc/jdbc.spec.js +0 -0
  355. /package/{e2e-legacy → integration}/sparql-editor/actions/execute-query.spec.js +0 -0
  356. /package/{e2e-legacy → integration}/sparql-editor/actions/save-query.spec.js +0 -0
  357. /package/{e2e-legacy → integration}/sparql-editor/internationalization.spec.js +0 -0
  358. /package/{e2e-legacy → integration}/sparql-editor/saved-query/delete-query.spec.js +0 -0
  359. /package/{e2e-legacy → integration}/sparql-editor/sparql-editor.spec.js +0 -0
  360. /package/{e2e-legacy → integration}/sparql-editor/yasr/download-as.spec.js +0 -0
  361. /package/{e2e-flaky → integration-flaky}/import/import.server.files.spec.js +0 -0
  362. /package/{e2e-flaky → integration-flaky}/sparql-editor/lucene-connector.spec.js +0 -0
  363. /package/{e2e-flaky → integration-flaky}/sparql-editor/plugins/error-plugin.spec.js +0 -0
@@ -1,163 +0,0 @@
1
- import {GuideSteps} from '../../../steps/guides/guide-steps.js';
2
- import {GuideDialogSteps} from '../../../steps/guides/guide-dialog-steps.js';
3
- import {GuidesStubs} from '../../../stubs/guides/guides-stubs.js';
4
- import {ConnectorsSteps} from '../../../steps/setup/connectors-steps.js';
5
-
6
- describe('Connectors guide', () => {
7
- let repositoryId;
8
-
9
- beforeEach(() => {
10
- repositoryId = 'connectors-guide-' + Date.now();
11
- cy.createRepository({id: repositoryId});
12
- cy.presetRepository(repositoryId);
13
- });
14
-
15
- afterEach(() => {
16
- cy.deleteRepository(repositoryId);
17
- });
18
-
19
- describe('General connectors guide steps', () => {
20
- const instanceName = 'LuceneConnector';
21
- beforeEach(() => {
22
- GuidesStubs.stubConnectorsGuide();
23
- cy.createConnector(repositoryId, 'lucene', instanceName);
24
-
25
- GuideSteps.visit();
26
- GuideSteps.verifyGuidesListExists();
27
- cy.wait('@getGuides');
28
- GuideSteps.runFirstGuide();
29
- });
30
- it('Should test connectors steps', () => {
31
- GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
32
- GuideDialogSteps.assertDialogWithContentIsVisible('GraphDB Connectors let you integrate external components and services with your repository data. They extend what your applications can do and stay automatically in sync with repository updates.');
33
- GuideDialogSteps.clickOnNextButton();
34
-
35
- GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
36
- GuideDialogSteps.assertDialogWithContentIsVisible('Specific GraphDB Connectors provide different connection possibilities.');
37
- GuideDialogSteps.clickOnNextButton();
38
-
39
- GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
40
- GuideDialogSteps.assertDialogWithContentIsVisible('Each section represents a single connector instance. For every instance, you can use the buttons on the right to copy, repair, or delete it.');
41
- GuideDialogSteps.clickOnNextButton();
42
-
43
- GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
44
- GuideDialogSteps.assertDialogWithContentIsVisible('To view the configuration of a connector, click on its name. This will expand the connector details.');
45
- ConnectorsSteps.expandConnector('Lucene', instanceName);
46
-
47
- GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
48
- GuideDialogSteps.assertDialogWithContentIsVisible('The creation parameters for luc:createConnector define how a connector instance is created. They are provided in a JSON object with parameter names as keys. Some parameters are required, others optional, and values can be simple types, lists, or objects');
49
- GuideDialogSteps.clickOnNextButton();
50
-
51
- GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
52
- GuideDialogSteps.assertDialogWithContentIsVisible('A parameter can define how an instance is created. Its value may be a simple type, a list, or an object, and it can be required or optional.');
53
- GuideDialogSteps.clickOnNextButton();
54
-
55
- GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
56
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on View SPARQL Query to view the connector creation query.');
57
- ConnectorsSteps.viewSPARQLQuery('Lucene', instanceName);
58
-
59
- GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
60
- GuideDialogSteps.assertDialogWithContentIsVisible('The dialog displays the SPARQL query used to create the connector. You can copy it to execute manually or integrate it into automation scripts.');
61
- GuideDialogSteps.clickOnNextButton();
62
-
63
- GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
64
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on close button to close the dialog');
65
- ConnectorsSteps.closeSPARQLQueryDialog();
66
-
67
- GuideDialogSteps.assertDialogWithTitleIsVisible('End of guide');
68
- GuideDialogSteps.assertDialogWithContentIsVisible('This guide has ended.');
69
- });
70
- });
71
-
72
- describe('Lucene connector guide steps', () => {
73
- const instanceName = 'NamedIndividuals';
74
- beforeEach(() => {
75
- GuidesStubs.stubLuceneConnectorsGuide();
76
- cy.createConnector(repositoryId, 'lucene', instanceName);
77
-
78
- GuideSteps.visit();
79
- GuideSteps.verifyGuidesListExists();
80
- cy.wait('@getGuides');
81
- GuideSteps.runFirstGuide();
82
- });
83
- it('Should test Lucene connector steps', () => {
84
- GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
85
- GuideDialogSteps.assertDialogWithContentIsVisible('The Lucene Connector in GraphDB enables extremely fast keyword and faceted (aggregation) searches. Unlike traditional setups where indexing is handled externally, this connector stays automatically synchronized with your repository data, ensuring accurate and up-to-date search results at all times.');
86
- GuideDialogSteps.clickOnNextButton();
87
-
88
- GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
89
- GuideDialogSteps.assertDialogWithContentIsVisible('This is the Lucene connector named NamedIndividuals. You can copy, restart, or delete it using the icons on the right.');
90
- GuideDialogSteps.clickOnNextButton();
91
-
92
- GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
93
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on NamedIndividuals to view its configuration.');
94
- ConnectorsSteps.expandConnector('Lucene', instanceName);
95
-
96
- GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
97
- GuideDialogSteps.assertDialogWithContentIsVisible('The fields define exactly what parts of each entity will be synchronized as well as the specific details on the connector side. The field is the smallest synchronization unit, and it maps a property chain from GraphDB to a field in Lucene. The fields are specified as a list of field objects. At least one field object is required.');
98
- GuideDialogSteps.clickOnNextButton();
99
-
100
- GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
101
- GuideDialogSteps.assertDialogWithContentIsVisible('The Field name defines the mapping on the connector side and is specified as a string. It is also used at query time to reference the field.');
102
- GuideDialogSteps.clickOnNextButton();
103
-
104
- GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
105
- GuideDialogSteps.assertDialogWithContentIsVisible('The Property chain defines the mapping on the GraphDB side. A property chain is a sequence of triples where the entity IRI is the subject of the first triple, its object is the subject of the next triple, and so on. A single-element property chain corresponds to a direct property. Property chains are specified as a list of IRIs, with at least one required.');
106
- GuideDialogSteps.clickOnNextButton();
107
-
108
- GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
109
- GuideDialogSteps.assertDialogWithContentIsVisible('The Indexed option determines whether the field is searchable with Lucene queries. By default, indexing is enabled.');
110
- GuideDialogSteps.clickOnNextButton();
111
-
112
- GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
113
- GuideDialogSteps.assertDialogWithContentIsVisible('The Stored option determines whether the field’s values are stored in Lucene. By default, fields are stored (true).');
114
- GuideDialogSteps.clickOnNextButton();
115
-
116
- GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
117
- GuideDialogSteps.assertDialogWithContentIsVisible('The Analyzed option determines whether literal fields are processed by the analyzer when indexed. IRIs are never analyzed. By default, fields are analyzed (true).');
118
- GuideDialogSteps.clickOnNextButton();
119
-
120
- GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
121
- GuideDialogSteps.assertDialogWithContentIsVisible('The Multivalued option specifies whether multiple values for RDF properties are synchronized to Lucene. True by default; if false, only a single value is synchronized.');
122
- GuideDialogSteps.clickOnNextButton();
123
-
124
- GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
125
- GuideDialogSteps.assertDialogWithContentIsVisible('The Facet option specifies whether the field is available for faceted searches in Lucene. Managed by the facet option (boolean, true by default).');
126
- GuideDialogSteps.clickOnNextButton();
127
-
128
- GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
129
- GuideDialogSteps.assertDialogWithContentIsVisible('This lucene connector configuration contains multiple field mappings. They determine which values are searchable, filterable, or retrievable during query execution.');
130
- GuideDialogSteps.clickOnNextButton();
131
-
132
- GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
133
- GuideDialogSteps.assertDialogWithContentIsVisible('For more information please visit GraphDB documentation');
134
- GuideDialogSteps.getContentLink()
135
- .should('have.attr', 'href')
136
- .and('include', 'my-custom-link.html');
137
- GuideDialogSteps.clickOnNextButton();
138
-
139
- GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
140
- GuideDialogSteps.assertDialogWithContentIsVisible('The Languages option defines which RDF literal languages are mapped to the connector. You can provide a list of language ranges to include specific languages, or an empty range to include literals without a language tag.');
141
- GuideDialogSteps.clickOnNextButton();
142
-
143
- GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
144
- GuideDialogSteps.assertDialogWithContentIsVisible('The Types option specifies RDF types of entities to synchronize, given as a list of IRIs (at least one required).Special values: $any: sync entities with at least one RDF type.$untyped: sync entities even if they have no RDF type.');
145
- GuideDialogSteps.clickOnNextButton();
146
-
147
- GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
148
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on View SPARQL Query to view the Lucene connector creation query.');
149
- ConnectorsSteps.viewSPARQLQuery('Lucene', instanceName);
150
-
151
- GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
152
- GuideDialogSteps.assertDialogWithContentIsVisible('The dialog displays the SPARQL query used to create the Lucene connector. You can copy it to execute manually or integrate it into automation scripts.');
153
- GuideDialogSteps.clickOnNextButton();
154
-
155
- GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
156
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on close button to close the dialog');
157
- ConnectorsSteps.closeSPARQLQueryDialog();
158
-
159
- GuideDialogSteps.assertDialogWithTitleIsVisible('End of guide');
160
- GuideDialogSteps.assertDialogWithContentIsVisible('This guide has ended.');
161
- });
162
- });
163
- });
@@ -1,74 +0,0 @@
1
- import {GuideSteps} from '../../../steps/guides/guide-steps.js';
2
- import {GuideDialogSteps} from '../../../steps/guides/guide-dialog-steps.js';
3
- import {MainMenuSteps} from '../../../steps/main-menu-steps.js';
4
- import {GuidesStubs} from '../../../stubs/guides/guides-stubs.js';
5
- import {SimilarityIndexCreateSteps} from '../../../steps/explore/similarity-index-create-steps.js';
6
- import {SimilarityIndexesSteps} from '../../../steps/explore/similarity-indexes-steps.js';
7
-
8
- describe('Create similarity index guide steps', () => {
9
- const FILE_TO_IMPORT = 'wine.rdf'
10
- let repositoryId;
11
-
12
- beforeEach(() => {
13
- repositoryId = 'create-similarity-index-guide-' + Date.now();
14
- GuidesStubs.stubCreateSimilarityIndexGuide();
15
- cy.createRepository({id: repositoryId});
16
- cy.importServerFile(repositoryId, FILE_TO_IMPORT);
17
- cy.presetRepository(repositoryId);
18
-
19
- GuideSteps.visit();
20
- GuideSteps.verifyGuidesListExists();
21
- cy.wait('@getGuides');
22
- GuideSteps.runFirstGuide()
23
- });
24
-
25
- afterEach(() => {
26
- cy.deleteRepository(repositoryId);
27
- });
28
-
29
- it('Should create similarity index', () => {
30
- GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 1/8');
31
- GuideDialogSteps.assertDialogWithContentIsVisible('The following steps show how to create a Similarity index for your dataset.');
32
- GuideDialogSteps.clickOnNextButton();
33
-
34
- GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 2/8');
35
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Explore menu.');
36
- MainMenuSteps.clickOnExplore();
37
-
38
- GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 3/8');
39
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Similarity menu.');
40
- MainMenuSteps.clickOnSubmenuSimilarity();
41
-
42
- GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 4/8');
43
- GuideDialogSteps.assertDialogWithContentIsVisible('Click the link to start creating a new Similarity index');
44
- SimilarityIndexesSteps.clickCreateButton();
45
-
46
- GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 5/8');
47
- GuideDialogSteps.assertDialogWithContentIsVisible('Type a name for the index. You will refer to it later.');
48
- SimilarityIndexCreateSteps.typeSimilarityIndexName('new-similarity-index');
49
- GuideDialogSteps.clickOnNextButton();
50
-
51
- GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 6/8');
52
- GuideDialogSteps.assertDialogWithContentIsVisible('Click the button to create the Similarity index.')
53
- SimilarityIndexCreateSteps.create();
54
-
55
- GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 8/8');
56
- GuideDialogSteps.assertDialogWithContentIsVisible('Wait for index to be created')
57
- GuideDialogSteps.clickOnNextButton();
58
-
59
- GuideDialogSteps.assertDialogWithTitleIsVisible('Select by index name');
60
- GuideDialogSteps.assertDialogWithContentIsVisible('In the Existing Indexes table, you can now see the new-similarity-index which is the similarity index we created with the previous query.')
61
- GuideDialogSteps.clickOnNextButton();
62
-
63
- GuideDialogSteps.assertDialogWithTitleIsVisible('Select by row index 0 (first row)');
64
- GuideDialogSteps.assertDialogWithContentIsVisible('In the Existing Indexes table, you can now see the created index.')
65
- GuideDialogSteps.clickOnNextButton();
66
-
67
- GuideDialogSteps.assertDialogWithTitleIsVisible('Select default index 0 (first row)');
68
- GuideDialogSteps.assertDialogWithContentIsVisible('In the Existing Indexes table, you can now see the created index.')
69
- GuideDialogSteps.clickOnNextButton();
70
-
71
- GuideDialogSteps.clickOnCloseButton();
72
- GuideDialogSteps.assertDialogIsClosed();
73
- });
74
- });
@@ -1,55 +0,0 @@
1
- import {GuideSteps} from '../../../steps/guides/guide-steps.js';
2
- import {GuideDialogSteps} from '../../../steps/guides/guide-dialog-steps.js';
3
- import {GuidesStubs} from '../../../stubs/guides/guides-stubs.js';
4
-
5
- describe('Download guide resource guide steps', () => {
6
- let repositoryId;
7
- const resourcePath = 'file-path';
8
- const resourceFile = 'file.ttl';
9
- const guideRepositoryId = 'test-repo';
10
-
11
- beforeEach(() => {
12
- repositoryId = 'download-guide-resource-guide-' + Date.now();
13
- GuidesStubs.stubDownloadGuideResourceGuide();
14
- cy.createRepository({id: repositoryId});
15
- cy.presetRepository(repositoryId);
16
-
17
- GuidesStubs.stubDownloadResource(resourcePath, resourceFile);
18
-
19
- GuideSteps.visit();
20
- GuideSteps.verifyGuidesListExists();
21
- cy.wait('@getGuides');
22
- GuideSteps.runFirstGuide();
23
- });
24
-
25
- afterEach(() => {
26
- cy.deleteRepository(repositoryId);
27
- });
28
-
29
- it('Should guide through download guide resource', () => {
30
- GuideDialogSteps.assertDialogWithTitleIsVisible('Download guide resources');
31
- GuideDialogSteps.assertDialogWithContentIsVisible('This guide requires a file to be downloaded.');
32
- GuideDialogSteps.assertDialogWithContentIsVisible(`Please download ${resourceFile}.`);
33
- GuideSteps.downloadResource();
34
-
35
- cy.wait('@resource-download').then((interception) => {
36
- expect(interception.response.statusCode).to.eq(200);
37
- cy.readFile(`cypress/downloads/${resourceFile}`);
38
- });
39
-
40
- GuideDialogSteps.clickOnNextButton();
41
-
42
- GuideDialogSteps.assertDialogWithTitleIsVisible('Download guide resource - with repositoryId');
43
- GuideDialogSteps.assertDialogWithContentIsVisible('This guide requires a file to be downloaded.');
44
- GuideDialogSteps.assertDialogWithContentIsVisible(`Please download ${resourceFile}.`);
45
- GuideSteps.downloadResource(guideRepositoryId);
46
-
47
- cy.wait('@resource-download').then((interception) => {
48
- expect(interception.response.statusCode).to.eq(200);
49
- cy.readFile(`cypress/downloads/${resourceFile}`);
50
- });
51
-
52
- GuideDialogSteps.clickOnCloseButton();
53
- GuideDialogSteps.assertDialogIsClosed();
54
- });
55
- });
@@ -1,92 +0,0 @@
1
- import {GuideSteps} from '../../../steps/guides/guide-steps.js';
2
- import {GuideDialogSteps} from '../../../steps/guides/guide-dialog-steps.js';
3
- import {MainMenuSteps} from '../../../steps/main-menu-steps.js';
4
- import {GuidesStubs} from '../../../stubs/guides/guides-stubs.js';
5
- import SparqlSteps from '../../../steps/sparql-steps.js';
6
- import {YasqeSteps} from '../../../steps/yasgui/yasqe-steps.js';
7
- import {YasrSteps} from '../../../steps/yasgui/yasr-steps.js';
8
-
9
- describe('Execute SPARQL query guide steps', () => {
10
- let repositoryId;
11
- const FILE_TO_IMPORT = 'swapi-dataset.ttl';
12
-
13
- beforeEach(() => {
14
- repositoryId = 'execute-sparql-query-guide-' + Date.now();
15
- GuidesStubs.stubExecuteSparqlQueryGuide();
16
- cy.createRepository({id: repositoryId});
17
- cy.presetRepository(repositoryId);
18
- cy.importServerFile(repositoryId, FILE_TO_IMPORT);
19
-
20
- GuideSteps.visit();
21
- GuideSteps.verifyGuidesListExists();
22
- cy.wait('@getGuides');
23
- GuideSteps.runFirstGuide();
24
- });
25
-
26
- afterEach(() => {
27
- cy.deleteRepository(repositoryId);
28
- });
29
-
30
- it('Should execute SPARQL query', () => {
31
- GuideDialogSteps.assertDialogWithTitleIsVisible('Execute SPARQL query — 1/5');
32
- GuideDialogSteps.assertDialogWithContentIsVisible('The following steps show how to use the SPARQL Query & Update view to execute queries.');
33
- GuideDialogSteps.clickOnNextButton();
34
-
35
- GuideDialogSteps.assertDialogWithTitleIsVisible('Execute SPARQL query — 2/5');
36
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the SPARQL menu.');
37
- MainMenuSteps.clickOnSparqlMenu();
38
-
39
- GuideDialogSteps.assertDialogWithTitleIsVisible('Execute SPARQL query — 3/5');
40
- GuideDialogSteps.assertDialogWithContentIsVisible('Enter the following SPARQL query: ');
41
- GuideDialogSteps.assertDialogWithContentIsVisible('Extra content for query.');
42
- GuideDialogSteps.copyQueryToEditor();
43
- YasqeSteps.verifyQueryTyped("PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n select * where { \n\t?s rdfs:label ?o .\n} limit 3 ")
44
- GuideDialogSteps.clickOnNextButton();
45
-
46
- GuideDialogSteps.assertDialogWithTitleIsVisible('Execute SPARQL query — 4/5');
47
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Run button.');
48
- YasqeSteps.forceExecuteQuery();
49
-
50
- GuideDialogSteps.assertDialogWithTitleIsVisible('Execute SPARQL query — 5/5');
51
- GuideDialogSteps.assertDialogWithContentIsVisible('The table shows the results from executing the query.');
52
- GuideDialogSteps.assertDialogWithContentIsVisible('Extra content for result.');
53
- GuideDialogSteps.clickOnNextButton();
54
-
55
- GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL Query & Update');
56
- GuideDialogSteps.assertDialogWithContentIsVisible('Some extra explain content');
57
- GuideDialogSteps.clickOnNextButton();
58
-
59
- GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL Query & Update');
60
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the rdf:type IRI to explore it.');
61
- YasrSteps.clickOnResource(0, 1);
62
- cy.url().should('include', '/resource?uri=https:%2F%2Fswapi.co%2Fresource%2Fplanet%2F25');
63
- YasrSteps.getResults().should('have.length', 10);
64
-
65
- GuideDialogSteps.assertDialogWithTitleIsVisible('Execute SPARQL query — 1/5');
66
- GuideDialogSteps.assertDialogWithContentIsVisible('The following steps show how to use the SPARQL Query & Update view to execute queries.');
67
- GuideDialogSteps.clickOnNextButton();
68
-
69
- GuideDialogSteps.assertDialogWithTitleIsVisible('Execute SPARQL query — 2/5');
70
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the SPARQL menu.');
71
- MainMenuSteps.clickOnSparqlMenu();
72
-
73
- GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL Query & Update — 3/5');
74
- GuideDialogSteps.assertDialogWithContentIsVisible('Enter the following SPARQL query:');
75
- GuideDialogSteps.assertDialogWithContentIsVisible('The query constructs a graph of films and their characters from the Star Wars API.');
76
- GuideDialogSteps.copyQueryToEditor();
77
- YasqeSteps.verifyQueryTyped("PREFIX voc: <https://swapi.co/vocabulary/>\nPREFIX swapi: <https://swapi.co/resource/>\n\nCONSTRUCT {\n?film swapi:hasCharacter ?person .\n}\nWHERE {\n?film a voc:Film ;\nvoc:character ?person .\n}")
78
- GuideDialogSteps.clickOnNextButton();
79
-
80
- GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL Query & Update — 4/5');
81
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Run button.');
82
- YasqeSteps.forceExecuteQuery();
83
-
84
- GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL Query & Update — 5/5');
85
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Visual button.');
86
- SparqlSteps.visualizeConstructQuery();
87
- cy.url().should('include', '/graphs-visualizations');
88
-
89
- GuideDialogSteps.clickOnCloseButton();
90
- GuideDialogSteps.assertDialogIsClosed();
91
- });
92
- });
@@ -1,63 +0,0 @@
1
- import {GuidesStubs} from "../../../stubs/guides/guides-stubs.js";
2
- import {GuideSteps} from "../../../steps/guides/guide-steps.js";
3
- import {GuideDialogSteps} from "../../../steps/guides/guide-dialog-steps.js";
4
- import ImportSteps from "../../../steps/import/import-steps.js";
5
- import {ImportUserDataSteps} from "../../../steps/import/import-user-data-steps.js";
6
- import {ImportSettingsDialogSteps} from "../../../steps/import/import-settings-dialog-steps.js";
7
- import {MainMenuSteps} from "../../../steps/main-menu-steps.js";
8
- import {FileOverwriteDialogSteps} from "../../../steps/import/file-overwrite-dialog-steps.js";
9
-
10
- describe('Confirm duplicate RDF file', () => {
11
- const GUIDE_RESOURCE_FILE = 'starwars.ttl';
12
- let repositoryId;
13
-
14
- beforeEach(() => {
15
- repositoryId = 'confirm-duplicate-rdf-file-guide-step-' + Date.now();
16
- GuidesStubs.stubConfirmDuplicatedRDFFileGuide();
17
- cy.createRepository({id: repositoryId});
18
- cy.presetRepository(repositoryId);
19
-
20
- GuideSteps.visit();
21
- GuideSteps.verifyGuidesListExists();
22
- cy.wait('@getGuides');
23
- GuideSteps.runFirstGuide()
24
- });
25
-
26
- afterEach(() => {
27
- cy.deleteRepository(repositoryId);
28
- });
29
-
30
- it('Should display an additional step that prompts the user to override the already imported file', () => {
31
- // GIVEN: I have already uploaded an RDF file with the same name as the guide's rdf file.
32
- ImportSteps.selectFile(`fixtures/guides/${GUIDE_RESOURCE_FILE}`);
33
- GuideDialogSteps.assertDialogWithTitleIsVisible('Import file');
34
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Import button.');
35
- ImportSettingsDialogSteps.import();
36
- ImportUserDataSteps.checkImportedResource(0, GUIDE_RESOURCE_FILE);
37
-
38
- // WHEN: I run a guide that includes the Import RDF File step.
39
- GuideDialogSteps.assertDialogWithTitleIsVisible('Import file — 1/6');
40
- GuideDialogSteps.assertDialogWithContentIsVisible('The following steps show how to use the Import view to import data from a file.');
41
- GuideDialogSteps.clickOnNextButton();
42
-
43
- GuideDialogSteps.assertDialogWithTitleIsVisible('Import file — 2/6');
44
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Import menu.');
45
- MainMenuSteps.clickOnMenuImport();
46
-
47
- GuideDialogSteps.assertDialogWithTitleIsVisible('Import file — 3/6');
48
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Upload RDF files button and choose a file with the name starwars.ttl.');
49
- ImportSteps.selectFile(`fixtures/guides/${GUIDE_RESOURCE_FILE}`);
50
-
51
- // THEN: I should see an additional step that prompts me to override the already imported file.
52
- GuideDialogSteps.assertDialogWithTitleIsVisible('Import file — 4/6');
53
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Yes button to override the existing file.');
54
-
55
- // WHEN: The user confirms the override.
56
- FileOverwriteDialogSteps.overwrite();
57
-
58
- // THEN: The guide should continue with the import step.
59
- GuideDialogSteps.assertDialogWithTitleIsVisible('Import file — 5/6');
60
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Import button.');
61
- GuideDialogSteps.clickOnNextButton();
62
- });
63
- });
@@ -1,105 +0,0 @@
1
- import {GuidesStubs} from "../../../stubs/guides/guides-stubs.js";
2
- import {GuideSteps} from "../../../steps/guides/guide-steps.js";
3
- import {GuideDialogSteps} from "../../../steps/guides/guide-dialog-steps.js";
4
- import ImportSteps from "../../../steps/import/import-steps.js";
5
- import {ToasterSteps} from "../../../steps/toaster-steps.js";
6
- import {MainMenuSteps} from "../../../steps/main-menu-steps.js";
7
- import {ImportSettingsDialogSteps} from "../../../steps/import/import-settings-dialog-steps.js";
8
-
9
- describe('Import RDF file', () => {
10
- const GUIDE_RESOURCE_FILE = 'starwars.ttl';
11
- const WRONG_GUIDE_RESOURCE_FILE = 'movies.ttl';
12
- let repositoryId;
13
-
14
- beforeEach(() => {
15
- repositoryId = 'import-rdf-file-guide-step-' + Date.now();
16
- GuidesStubs.stubImportRDFFileGuide();
17
- cy.createRepository({id: repositoryId});
18
- cy.presetRepository(repositoryId);
19
-
20
- GuideSteps.visit();
21
- GuideSteps.verifyGuidesListExists();
22
- cy.wait('@getGuides');
23
- GuideSteps.runFirstGuide()
24
- });
25
-
26
- afterEach(() => {
27
- cy.deleteRepository(repositoryId);
28
- });
29
-
30
- it('Should import an RDF file (User interaction)', () => {
31
- // GIVEN: I start a guide that includes the Import RDF File step.
32
- GuideDialogSteps.assertDialogWithTitleIsVisible('Import file — 1/6');
33
- GuideDialogSteps.assertDialogWithContentIsVisible('The following steps show how to use the Import view to import data from a file.');
34
- GuideDialogSteps.clickOnNextButton();
35
-
36
- GuideDialogSteps.assertDialogWithTitleIsVisible('Import file — 2/6');
37
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Import menu.');
38
- MainMenuSteps.clickOnMenuImport();
39
-
40
- GuideDialogSteps.assertDialogWithTitleIsVisible('Import file — 3/6');
41
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Upload RDF files button and choose a file with the name starwars.ttl.');
42
-
43
- // WHEN: I try to upload a wrong RDF file.
44
- ImportSteps.selectFile(`fixtures/guides/${WRONG_GUIDE_RESOURCE_FILE}`);
45
-
46
- // THEN: An error message should be displayed.
47
- ToasterSteps.verifyError(`The uploaded file does not match the expected resource. Please upload ${GUIDE_RESOURCE_FILE}.`)
48
- // AND: The guide should still be on the same step.
49
- GuideDialogSteps.assertDialogWithTitleIsVisible('Import file');
50
- GuideDialogSteps.assertDialogWithContentIsVisible(`Click on the Upload RDF files button and choose a file with the name ${GUIDE_RESOURCE_FILE}.`);
51
-
52
- // WHEN: I upload the correct RDF file.
53
- ImportSteps.selectFile(`fixtures/guides/${GUIDE_RESOURCE_FILE}`);
54
-
55
- // THEN: I expect the guide to continue.
56
- GuideDialogSteps.assertDialogWithTitleIsVisible('Import file — 5/6');
57
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Import button.');
58
- ImportSettingsDialogSteps.import();
59
-
60
- GuideDialogSteps.assertDialogWithTitleIsVisible('Import file — 6/6');
61
- GuideDialogSteps.assertDialogWithContentIsVisible('Wait until import finished.');
62
- GuideDialogSteps.clickOnNextButton();
63
-
64
- GuideDialogSteps.assertDialogWithTitleIsVisible('End of guide');
65
- GuideDialogSteps.assertDialogWithContentIsVisible('This guide has ended.');
66
- });
67
-
68
- it('Should import an RDF file (Next flow)', () => {
69
- // GIVEN: I start a guide that includes the Import RDF File step.
70
- GuideDialogSteps.assertDialogWithTitleIsVisible('Import file — 1/6');
71
- GuideDialogSteps.assertDialogWithContentIsVisible('The following steps show how to use the Import view to import data from a file.');
72
- GuideDialogSteps.clickOnNextButton();
73
-
74
- GuideDialogSteps.assertDialogWithTitleIsVisible('Import file — 2/6');
75
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Import menu.');
76
- GuideDialogSteps.clickOnNextButton();
77
-
78
- GuideDialogSteps.assertDialogWithTitleIsVisible('Import file — 3/6');
79
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Upload RDF files button and choose a file with the name starwars.ttl.');
80
-
81
- // WHEN: I try to continue with the guide without selecting an RDF file.
82
- GuideDialogSteps.clickOnNextButton();
83
-
84
- // THEN: An error message should be displayed.
85
- ToasterSteps.verifyError(`Upload the file ${GUIDE_RESOURCE_FILE} first`);
86
- // AND: The guide should still be on the same step.
87
- GuideDialogSteps.assertDialogWithTitleIsVisible('Import file');
88
- GuideDialogSteps.assertDialogWithContentIsVisible(`Click on the Upload RDF files button and choose a file with the name ${GUIDE_RESOURCE_FILE}.`);
89
-
90
- // WHEN: I upload the correct RDF file.
91
- ImportSteps.selectFile(`fixtures/guides/${GUIDE_RESOURCE_FILE}`);
92
-
93
- // THEN: I expect the guide to continue.
94
- GuideDialogSteps.assertDialogWithTitleIsVisible('Import file — 5/6');
95
- GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Import button.');
96
- GuideDialogSteps.clickOnNextButton();
97
-
98
- GuideDialogSteps.assertDialogWithTitleIsVisible('Import file — 6/6');
99
- GuideDialogSteps.assertDialogWithContentIsVisible('Wait until import finished.');
100
- GuideDialogSteps.clickOnNextButton();
101
-
102
- GuideDialogSteps.assertDialogWithTitleIsVisible('End of guide');
103
- GuideDialogSteps.assertDialogWithContentIsVisible('This guide has ended.');
104
- });
105
- });