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,7 +1,9 @@
1
+ import {BaseSteps} from "./base-steps.js";
2
+
1
3
  const VIEW_URL = '/graphs-visualizations';
2
4
  const VALID_RESOURCE = 'USRegion';
3
5
 
4
- export class VisualGraphSteps {
6
+ export class VisualGraphSteps extends BaseSteps {
5
7
 
6
8
  static visit() {
7
9
  cy.visit(VIEW_URL);
@@ -19,6 +21,10 @@ export class VisualGraphSteps {
19
21
  cy.visit('/graphs-visualizations?uri=http:%2F%2Fwww.w3.org%2FTR%2F2003%2FPR-owl-guide-20031209%2Fwine%23Dry');
20
22
  }
21
23
 
24
+ static getSavedGraphsArea() {
25
+ return this.getGraphConfigSearchPanel().getByTestId('saved-graphs-area');
26
+ }
27
+
22
28
  static openNodeLabelGraph() {
23
29
  cy.visit('/graphs-visualizations?uri=http:%2F%2Fexample.com%2Fnode1');
24
30
  // Wait for at least one predicate to be displayed, to ensure that the visual graph is open and ready for testing.
@@ -34,9 +40,9 @@ export class VisualGraphSteps {
34
40
  }
35
41
 
36
42
  static updateGraphConfiguration(namedGraph) {
37
- cy.get('[data-cy="save-or-update-graph"]').click()
38
- .get('[id="wb-graphviz-savegraph-name"]').type(namedGraph)
39
- .get('[id="wb-graphviz-savegraph-submit"]').should('be.visible').click();
43
+ cy.get('[data-cy="save-or-update-graph"]').click();
44
+ cy.get('[id="wb-graphviz-savegraph-name"]').type(namedGraph);
45
+ cy.get('[id="wb-graphviz-savegraph-submit"]').should('be.visible').click();
40
46
  cy.get('.toast').contains('Saved graph ' + namedGraph + ' was saved');
41
47
  }
42
48
 
@@ -81,6 +87,30 @@ export class VisualGraphSteps {
81
87
  return cy.get('.autocomplete-toast a');
82
88
  }
83
89
 
90
+ static getRdfResourceSearchInput() {
91
+ return cy.getByTestId('rdf-resource-input');
92
+ }
93
+
94
+ static searchForRdfResource(resource) {
95
+ this.getRdfResourceSearchInput().type(resource, {force: true});
96
+ }
97
+
98
+ static shareVisualGraphWithOtherUsers() {
99
+ this.getShareGraphButton().click();
100
+ }
101
+
102
+ static getShareGraphButton() {
103
+ return cy.getByTestId('share-graph-config');
104
+ }
105
+
106
+ static selectConfig(configName) {
107
+ this.getConfigByName(configName).click();
108
+ }
109
+
110
+ static getConfigByName(name) {
111
+ return cy.getByTestId(`graph-config-${name}`);
112
+ }
113
+
84
114
  static getGraphVisualizationNodes() {
85
115
  return this.getGraphVisualizationPane().find('.node-wrapper');
86
116
  }
@@ -142,6 +172,14 @@ export class VisualGraphSteps {
142
172
  return cy.get(`[id="${nodeId}"] circle`);
143
173
  }
144
174
 
175
+ static clickOnNode(nodeId) {
176
+ this.getCircleOfNodeByNodeId(nodeId).click();
177
+ }
178
+
179
+ static dblclickOnNode(nodeId) {
180
+ this.getCircleOfNodeByNodeId(nodeId).trigger('dblclick');
181
+ }
182
+
145
183
  static getLineBetweenNodesById(narrowId) {
146
184
  return cy.get(`[id="${narrowId}"] line`);
147
185
  }
@@ -151,13 +189,31 @@ export class VisualGraphSteps {
151
189
  }
152
190
 
153
191
  static getSidePanelCloseButton() {
154
- return cy.get('');
192
+ return this.getSidePanelContent().find('.close');
155
193
  }
156
194
 
157
195
  static getSidePanelContent() {
158
196
  return cy.get('.rdf-side-panel-content');
159
197
  }
160
198
 
199
+ static getPropertyByIndex(index) {
200
+ return this.getSidePanelContent().find('.rdf-list .datasource').eq(index);
201
+ }
202
+
203
+ static closeSidePanel() {
204
+ this.getSidePanelCloseButton().click();
205
+ }
206
+
207
+ // Note the index is 1-based
208
+ static openConfigTab(tabIndex) {
209
+ return this.getConfigTab(tabIndex).click();
210
+ }
211
+
212
+ // Note the index is 1-based
213
+ static getConfigTab(tabIndex) {
214
+ return cy.getByTestId(`graph-config-tab-${tabIndex}`);
215
+ }
216
+
161
217
  // Visual graph settings form field access
162
218
 
163
219
  static openPredicatesTab() {
@@ -184,7 +240,8 @@ export class VisualGraphSteps {
184
240
  }
185
241
 
186
242
  static getSaveSettingsButton() {
187
- return cy.get('.save-settings-btn').scrollIntoView().should('be.visible');
243
+ cy.get('.save-settings-btn').scrollIntoView();
244
+ return cy.get('.save-settings-btn').should('be.visible');
188
245
  }
189
246
 
190
247
  static saveSettings() {
@@ -192,7 +249,8 @@ export class VisualGraphSteps {
192
249
  }
193
250
 
194
251
  static getResetSettingsButton() {
195
- return cy.get('.reset-settings').scrollIntoView().should('be.visible');
252
+ cy.get('.reset-settings').scrollIntoView();
253
+ return cy.get('.reset-settings').should('be.visible');
196
254
  }
197
255
 
198
256
  static resetSettings() {
@@ -212,7 +270,8 @@ export class VisualGraphSteps {
212
270
  }
213
271
 
214
272
  static getPreferredTypesField() {
215
- return cy.get('.preferred-types input').scrollIntoView().should('be.visible');
273
+ cy.get('.preferred-types input').scrollIntoView();
274
+ return cy.get('.preferred-types input').should('be.visible');
216
275
  }
217
276
  static getShowPreferredTypesOnlyCheckbox() {
218
277
  return cy.get('.show-preferred-types-only').should('be.visible');
@@ -242,12 +301,32 @@ export class VisualGraphSteps {
242
301
  return cy.get('.create-graph-config').should('be.visible');
243
302
  }
244
303
 
304
+ static createCustomGraph() {
305
+ this.getCreateCustomGraphLink().click();
306
+ }
307
+
245
308
  static getGraphConfigName() {
246
309
  return cy.get('.graph-config-name').should('be.visible');
247
310
  }
248
311
 
249
312
  static typeGraphConfigName(name) {
250
- this.getGraphConfigName().type(name);
313
+ this.getGraphConfigName().type(name, {force: true});
314
+ }
315
+
316
+ static typeGraphConfigDescription(description) {
317
+ return this.getGraphConfigDescription().type(description, {force: true});
318
+ }
319
+
320
+ static getGraphConfigDescription() {
321
+ return cy.get('.graph-config-description').should('be.visible');
322
+ }
323
+
324
+ static typeGraphConfigHint(hint) {
325
+ return this.getGraphConfigHint().type(hint, {force: true});
326
+ }
327
+
328
+ static getGraphConfigHint() {
329
+ return cy.get('.graph-config-example').should('be.visible');
251
330
  }
252
331
 
253
332
  static getSaveConfigButton() {
@@ -320,6 +399,18 @@ export class VisualGraphSteps {
320
399
  .should('be.visible').click();
321
400
  }
322
401
 
402
+ static getTruncateLabelsCheckbox() {
403
+ return this.getByTestId('truncate-node-labels-checkbox');
404
+ }
405
+
406
+ static toggleTruncateLabelsCheckbox() {
407
+ return this.getTruncateLabelsCheckbox().click();
408
+ }
409
+
410
+ static getInvalidLinksMessage() {
411
+ return this.getByTestId('invalid-links-limit');
412
+ }
413
+
323
414
  static openVisualGraphHome() {
324
415
  cy.get('.toolbar-holder').should('be.visible')
325
416
  .find('.return-home-btn').should('be.visible').click();
@@ -406,11 +497,16 @@ export class VisualGraphSteps {
406
497
  }
407
498
 
408
499
  static selectStartNode(uri, index) {
409
- cy.get('.graph-config-wizard-body .view-res-input').type(uri)
500
+ cy.get('.graph-config-wizard-body .view-res-input').type(uri);
501
+ cy.get('.graph-config-wizard-body .view-res-input')
410
502
  .closest('.start-node-selector')
411
503
  .find('#auto-complete-results-wrapper .result-item').eq(index).click();
412
504
  }
413
505
 
506
+ static clickOnAutocompleteElement(elementText) {
507
+ cy.get('.result-item').contains(elementText).click();
508
+ }
509
+
414
510
  static getSelectedStartNodeUri() {
415
511
  return this.getStartNodeSelectorComponent().find('.selected-node code');
416
512
  }
@@ -0,0 +1,29 @@
1
+ export class ActiveRepositoryWidgetSteps {
2
+ static getWidget() {
3
+ return cy.get('.active-repo-widget');
4
+ }
5
+
6
+ static getWidgetName() {
7
+ return this.getWidget().find('#active-repo-label-home');
8
+ }
9
+
10
+ static getActiveRepository() {
11
+ return this.getWidget().find('.repo-info-home');
12
+ }
13
+
14
+ static getTotalStatements() {
15
+ return this.getWidget().find('.total-statements .data-value');
16
+ }
17
+
18
+ static getExplicitStatements() {
19
+ return this.getWidget().find('.explicit-statements .data-value');
20
+ }
21
+
22
+ static getInferredStatements() {
23
+ return this.getWidget().find('.inferred-statements .data-value');
24
+ }
25
+
26
+ static getImportLink() {
27
+ return this.getWidget().find('a.btn-link[href="import"]');
28
+ }
29
+ }
@@ -0,0 +1,9 @@
1
+ export class LicenseWidgetSteps {
2
+ static getWidget() {
3
+ return cy.get('.license-widget');
4
+ }
5
+
6
+ static getLicenseWidgetHeader() {
7
+ return LicenseWidgetSteps.getWidget().find('#license-label-home');
8
+ }
9
+ }
@@ -0,0 +1,21 @@
1
+ export class RepositoryErrorsWidgetSteps {
2
+ static getWidget() {
3
+ return cy.get('.repository-errors-container');
4
+ }
5
+
6
+ static getCreateRepositoryBtn() {
7
+ return RepositoryErrorsWidgetSteps.getWidget().find('.create-repository-btn');
8
+ }
9
+
10
+ static getShowRemoteLocationsBtn() {
11
+ return RepositoryErrorsWidgetSteps.getWidget().find('.show-remote-locations-btn');
12
+ }
13
+
14
+ static getInfoMessage() {
15
+ return RepositoryErrorsWidgetSteps.getWidget().find('.info-message');
16
+ }
17
+
18
+ static getRepositoryList() {
19
+ return RepositoryErrorsWidgetSteps.getWidget().find('.repos .repository');
20
+ }
21
+ }
@@ -0,0 +1,9 @@
1
+ export class SavedSparqlQueriesWidgetSteps {
2
+ static getWidget() {
3
+ return cy.get('.saved-sparql-queries-widget');
4
+ }
5
+
6
+ static getWidgetName() {
7
+ return this.getWidget().find('#saved-queries-label-home');
8
+ }
9
+ }
@@ -1,10 +1,10 @@
1
1
  export class YasguiLoader {
2
2
 
3
- static getLoader(index = 0) {
3
+ static getLoader() {
4
4
  return cy.get('loader-component');
5
5
  }
6
6
 
7
- static verifyMessage(message, index = 0) {
8
- YasguiLoader.getLoader(index).shadow().contains(message);
7
+ static verifyMessage(message) {
8
+ YasguiLoader.getLoader().contains(message);
9
9
  }
10
10
  }
@@ -172,7 +172,7 @@ export class YasguiSteps {
172
172
  }
173
173
 
174
174
  static getTooltipRoot() {
175
- return cy.get('div[data-tippy-root]');
175
+ return cy.get('.ontotext-yasgui-tooltip');
176
176
  }
177
177
  }
178
178
 
@@ -13,6 +13,10 @@ export class YasqeSteps {
13
13
  return YasqeSteps.getYasqe();
14
14
  }
15
15
 
16
+ static getCodeMirrorEl() {
17
+ return YasqeSteps.getEditor().find('.CodeMirror');
18
+ }
19
+
16
20
  static getCodeMirror() {
17
21
  return this.getEditor().find('.CodeMirror').then(($el) => {
18
22
  // @ts-ignore
@@ -31,8 +35,29 @@ export class YasqeSteps {
31
35
  return YasqeSteps.getYasqe().find('.yasqe_queryButton');
32
36
  }
33
37
 
38
+ /**
39
+ * Clicks on the execute query button and hides the tooltip, which is sometimes overlapping the button and prevents
40
+ * it from being clicked.
41
+ * @param force - whether to force the click and mouseleave events. This is needed when testing a guide, because the
42
+ * shepherd's overlay is overlapping the button and prevents it from being clicked. In other scenarios, it is better
43
+ * not to force the click, because we want to make sure that the button is actually clickable by the user.
44
+ */
45
+ static clickExecuteQueryButtonAndHideTooltip(force = false) {
46
+ this.getExecuteQueryButton().click({force});
47
+ this.getExecuteQueryButton().trigger('mouseleave', {force: true});
48
+ }
49
+
34
50
  static executeQuery() {
35
- this.getExecuteQueryButton().click();
51
+ this.clickExecuteQueryButtonAndHideTooltip();
52
+ YasrSteps.getResponseInfo()
53
+ .should('not.have.class', 'hidden')
54
+ .should('not.have.class', 'empty')
55
+ .should('be.visible');
56
+ }
57
+
58
+ // This step is needed when testing a guide. The shepherd's overlay is overlapping somehow the button.
59
+ static forceExecuteQuery() {
60
+ this.clickExecuteQueryButtonAndHideTooltip(true);
36
61
  YasrSteps.getResponseInfo()
37
62
  .should('not.have.class', 'hidden')
38
63
  .should('not.have.class', 'empty')
@@ -40,11 +65,11 @@ export class YasqeSteps {
40
65
  }
41
66
 
42
67
  static executeQueryWithoutWaiteResult() {
43
- this.getExecuteQueryButton().click();
68
+ this.clickExecuteQueryButtonAndHideTooltip();
44
69
  }
45
70
 
46
71
  static executeErrorQuery() {
47
- this.getExecuteQueryButton().click();
72
+ this.clickExecuteQueryButtonAndHideTooltip();
48
73
  // Wait a wile for the response information to be present.
49
74
  cy.get('.error-response-plugin').should('be.visible');
50
75
  }
@@ -91,7 +116,11 @@ export class YasqeSteps {
91
116
  return cy.waitUntil(() =>
92
117
  this.getEditor().find('.CodeMirror')
93
118
  .then((codeMirrorEl) => {
94
- return codeMirrorEl && codeMirrorEl[0].CodeMirror.getValue().indexOf(query) !== -1;
119
+ if (codeMirrorEl && codeMirrorEl[0].CodeMirror.getValue().indexOf(query) !== -1) {
120
+ return true;
121
+ } else {
122
+ cy.fail('Query in editor is not as expected. Expected query:\n' + query + '\nActual query:\n' + codeMirrorEl[0].CodeMirror.getValue());
123
+ }
95
124
  }));
96
125
  }
97
126
 
@@ -109,12 +138,14 @@ export class YasqeSteps {
109
138
  * @return {Cypress.Chainable<unknown>}
110
139
  */
111
140
  static getQuery(delay = 0) {
141
+ // eslint-disable-next-line cypress/no-unnecessary-waiting
112
142
  return cy.wait(delay).then(() => this.getCodeMirror()).then((cm) => {
113
143
  return cm.getValue();
114
144
  });
115
145
  }
116
146
 
117
147
  static getActiveTabQuery(delay = 0) {
148
+ // eslint-disable-next-line cypress/no-unnecessary-waiting
118
149
  return cy.wait(delay).then(() => this.getActiveTabCodeMirror()).then((cm) => {
119
150
  return cm.getValue();
120
151
  });
@@ -1,8 +1,14 @@
1
- export class YasrSteps {
1
+ import {BaseSteps} from "../base-steps.js";
2
+
3
+ export class YasrSteps extends BaseSteps {
2
4
  static getYasr() {
3
5
  return cy.get('.tabPanel.active .yasr');
4
6
  }
5
7
 
8
+ static waitUntilResultsIsVisible() {
9
+ return cy.waitUntil(() => this.getYasr().should('be.visible'));
10
+ }
11
+
6
12
  static getResultHeader() {
7
13
  return cy.get('.yasr_header');
8
14
  }
@@ -11,6 +17,10 @@ export class YasrSteps {
11
17
  return YasrSteps.getYasr().find('.yasr_response_chip');
12
18
  }
13
19
 
20
+ static getResponseInfoMessage() {
21
+ return YasrSteps.getResponseInfo().find('.response-info-message');
22
+ }
23
+
14
24
  static getErrorHeader() {
15
25
  return YasrSteps.getResultHeader().get('.errorHeader');
16
26
  }
@@ -59,6 +69,10 @@ export class YasrSteps {
59
69
  this.getResultCell(rowNumber, cellNumber).realHover();
60
70
  }
61
71
 
72
+ static clickOnResource(rowNumber, cellNumber) {
73
+ this.getResultCell(rowNumber, cellNumber).find('.uri-link').click({force: true});
74
+ }
75
+
62
76
  static getCopyResourceLink(rowNumber, cellNumber) {
63
77
  return this.getResultCell(rowNumber, cellNumber)
64
78
  .realHover()
@@ -99,10 +113,6 @@ export class YasrSteps {
99
113
  return YasrSteps.getYasr().find('.yasr-toolbar');
100
114
  }
101
115
 
102
- static getVisualButton() {
103
- return YasrSteps.getYasrToolbar().find('.explore-visual-graph-button');
104
- }
105
-
106
116
  static getNoDataElement() {
107
117
  return cy.get('.dataTables_empty');
108
118
  }
@@ -110,4 +120,24 @@ export class YasrSteps {
110
120
  static getNoResultsMessage() {
111
121
  return YasrSteps.getYasr().find('.alert-success');
112
122
  }
123
+
124
+ static getPivotTablePlugin() {
125
+ return YasrSteps.getYasr().find('.pivot-table-plugin');
126
+ }
127
+
128
+ static getGoogleChartPlugin() {
129
+ return YasrSteps.getYasr().find('.google-visualization-table');
130
+ }
131
+
132
+ static getExtendedTablePlugin() {
133
+ return YasrSteps.getYasr().find('.dataTables_wrapper');
134
+ }
135
+
136
+ static getFullscreenButton() {
137
+ return cy.get('.yasr-fullscreen-button');
138
+ }
139
+
140
+ static toggleFullscreen() {
141
+ YasrSteps.getFullscreenButton().click();
142
+ }
113
143
  }
@@ -4,4 +4,11 @@ export class AutocompleteStubs extends Stubs {
4
4
  static spyAutocompleteStatus() {
5
5
  cy.intercept('GET', '/rest/autocomplete/enabled').as('autocompleteStatus');
6
6
  }
7
+
8
+ static stubAutocompleteEnabled(enabled = true) {
9
+ cy.intercept('GET', '/rest/autocomplete/enabled', {
10
+ statusCode: 200,
11
+ body: enabled
12
+ }).as('autocomplete-status');
13
+ }
7
14
  }
@@ -0,0 +1,21 @@
1
+ export class BrowserStubs {
2
+ static WINDOW_OPEN_ALIAS = (isDefinition = false) => {
3
+ return isDefinition ? 'windowOpen' : '@windowOpen';
4
+ }
5
+
6
+ static NAVIGATE_TO_URL_ALIAS = (isDefinition) => {
7
+ return isDefinition ? 'navigateToUrl' : '@navigateToUrl';
8
+ }
9
+
10
+ static stubWindowOpen() {
11
+ cy.window().then((win) => {
12
+ cy.stub(win, 'open').as(BrowserStubs.WINDOW_OPEN_ALIAS(true))
13
+ })
14
+ }
15
+
16
+ static spyNavigateToUrl() {
17
+ cy.window().then((win) => {
18
+ cy.spy(win.singleSpa, 'navigateToUrl').as(BrowserStubs.NAVIGATE_TO_URL_ALIAS(true))
19
+ })
20
+ }
21
+ }
@@ -1,4 +1,8 @@
1
1
  export class EnvironmentStubs {
2
+ static PRODUCT_INFO_ALIAS = (isDefinition) => {
3
+ return isDefinition ? 'productInfo' : '@productInfo';
4
+ }
5
+
2
6
  static stubWbProdMode() {
3
7
  cy.window().then((win) => {
4
8
  win.wbDevMode = false;
@@ -11,6 +15,10 @@ export class EnvironmentStubs {
11
15
  });
12
16
  }
13
17
 
18
+ static spyProductInfo() {
19
+ cy.intercept('/rest/info/version?local=1').as('productInfo')
20
+ }
21
+
14
22
  static stubProductInfo(productVersion) {
15
23
  cy.intercept('GET', '/rest/info/version?local=1', {
16
24
  statusCode: 200,
@@ -21,7 +29,7 @@ export class EnvironmentStubs {
21
29
  "sesame": "4.3.13",
22
30
  "Workbench": "2.8.0-TR5"
23
31
  }
24
- }).as('productInfo');
32
+ }).as(EnvironmentStubs.PRODUCT_INFO_ALIAS(true));
25
33
 
26
34
  }
27
35
  }
@@ -0,0 +1,17 @@
1
+ import {Stubs} from './stubs.js';
2
+
3
+ export class GraphConfigStubs extends Stubs {
4
+ static stubGetEmptyGraphConfigs() {
5
+ cy.intercept('GET', '/rest/explore-graph/config', {
6
+ statusCode: 200,
7
+ body: [],
8
+ }).as('getEmptyGraphConfigs');
9
+ }
10
+
11
+ static stubGetGraphConfigs(fixture = '/graph/graph-configurations.json') {
12
+ GraphConfigStubs.stubQueryResponse(
13
+ '/rest/explore-graph/config',
14
+ fixture,
15
+ 'getGraphConfigs');
16
+ }
17
+ }
@@ -0,0 +1,103 @@
1
+ export class GuidesStubs {
2
+ static stubEnableAutocompleteGuide() {
3
+ GuidesStubs.stubWithFixture('../fixtures/guides/autocomplete/enable-autocomplete-guide.json');
4
+ }
5
+
6
+ static stubCreateRepositoryGuide(guidesArray) {
7
+ GuidesStubs.stubWithData(guidesArray);
8
+ }
9
+
10
+ static stubCreateAndConfigureAgentGuide() {
11
+ GuidesStubs.stubWithFixture('../fixtures/guides/ttyg/configure-agent/configure-ttyg-agent-guide.json');
12
+ }
13
+
14
+ static stubTTYGConversationGuide() {
15
+ GuidesStubs.stubWithFixture('../fixtures/guides/ttyg/conversation/ttyg-conversation-guide.json');
16
+ }
17
+
18
+ static stubTTYGEditAgentGuide() {
19
+ GuidesStubs.stubWithFixture('../fixtures/guides/ttyg/edit-ttyg-agent/edit-ttyg-agent-guide.json');
20
+ }
21
+
22
+ static stubClassHierarchyGuide() {
23
+ GuidesStubs.stubWithFixture('../fixtures/guides/class-hierarchy/class-hierarchy-guide.json');
24
+ }
25
+
26
+ static stubClassRelationsGuide() {
27
+ GuidesStubs.stubWithFixture('../fixtures/guides/class-relations/class-relations-guide.json');
28
+ }
29
+
30
+ static stubConnectorsGuide() {
31
+ GuidesStubs.stubWithFixture('../fixtures/guides/connectors/connectors-guide.json');
32
+ }
33
+
34
+ static stubLuceneConnectorsGuide() {
35
+ GuidesStubs.stubWithFixture('../fixtures/guides/connectors/lucene-connector-guide.json');
36
+ }
37
+
38
+ static stubCreateSimilarityIndexGuide() {
39
+ GuidesStubs.stubWithFixture('../fixtures/guides/create-similarity-index/create-similarity-index-guide.json');
40
+ }
41
+
42
+ static stubDownloadGuideResourceGuide() {
43
+ GuidesStubs.stubWithFixture('../fixtures/guides/download-guide-resource/download-guide-resource-guide.json');
44
+ }
45
+
46
+ static stubMainMenuGuide() {
47
+ GuidesStubs.stubWithFixture('../fixtures/guides/main-menu/main-menu-guide.json');
48
+ }
49
+
50
+ static stubExecuteSparqlQueryGuide() {
51
+ GuidesStubs.stubWithFixture('../fixtures/guides/execute-sparql-query/execute-sparql-query-guide.json');
52
+ }
53
+
54
+ static stubDownloadResource(resourcePath, resourceFile) {
55
+ cy.intercept('GET', `/rest/guides/download/${resourcePath}/${resourceFile}`, {
56
+ fixture: `guides/download-resource.ttl`,
57
+ }).as('resource-download');
58
+ }
59
+
60
+ static stubImportRDFFileGuide() {
61
+ GuidesStubs.stubWithFixture('../fixtures/guides/import-rdf-file/import-rdf-file-guide.json');
62
+ }
63
+
64
+ static stubConfirmDuplicatedRDFFileGuide() {
65
+ GuidesStubs.stubWithFixture('../fixtures/guides/import-rdf-file/confirm-duplicate-rdf-file-guide.json');
66
+ }
67
+
68
+ static stubRDFRankGuide() {
69
+ GuidesStubs.stubWithFixture('../fixtures/guides/rdf-rank/rdf-rank-guide.json');
70
+ }
71
+
72
+ static stubTableGraphExploreWithoutSubstepsGuide() {
73
+ GuidesStubs.stubWithFixture('../fixtures/guides/table-graph-explore/table-graph-explore-without-substeps-guide.json');
74
+ }
75
+
76
+ static stubTableGraphExploreGuide() {
77
+ GuidesStubs.stubWithFixture('../fixtures/guides/table-graph-explore/table-graph-explore-guide.json');
78
+ }
79
+ static stubWelcomGuide() {
80
+ GuidesStubs.stubWithFixture('../fixtures/guides/welcome/welcome-guide.json');
81
+ }
82
+
83
+
84
+ static stubVisualGraphGuide() {
85
+ GuidesStubs.stubWithFixture('../fixtures/guides/visual-graph/visual-graph-guide.json');
86
+ }
87
+
88
+ static stubVisualGraphConfigGuide() {
89
+ GuidesStubs.stubWithFixture('../fixtures/guides/visual-graph/visual-graph-config-guide.json');
90
+ }
91
+
92
+ static stubNavigationGuide() {
93
+ GuidesStubs.stubWithFixture('../fixtures/guides/navigation/navigation-guide.json');
94
+ }
95
+
96
+ static stubWithFixture(fixturePath) {
97
+ cy.intercept('/rest/guides', {fixture: fixturePath}).as('getGuides');
98
+ }
99
+
100
+ static stubWithData(data) {
101
+ cy.intercept('/rest/guides', {body: data}).as('getGuides');
102
+ }
103
+ }