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,20 +0,0 @@
1
- import HomeSteps from "../../../steps/home-steps";
2
- import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
- import {GuideSteps} from "../../../steps/guides/guide-steps";
4
-
5
- describe('Interactive guides without selected repository', () => {
6
- it('Should display the correct initial state when navigating via URL', () => {
7
- // Given, I visit the Interactive guides page via URL without a repository selected
8
- GuideSteps.visit();
9
- // Then,
10
- GuideSteps.verifyInitialState();
11
- });
12
-
13
- it('Should display the correct initial state when navigating via the navigation menu', () => {
14
- // Given, I visit the Interactive guides page via the navigation menu without a repository selected
15
- HomeSteps.visit();
16
- MainMenuSteps.clickOnInteractiveGuides();
17
- // Then,
18
- GuideSteps.verifyInitialState();
19
- });
20
- })
@@ -1,71 +0,0 @@
1
- import {GuideSteps} from "../../../steps/guides/guide-steps";
2
- import {MoviesGuideSteps} from "../../../steps/guides/movies-guide-steps";
3
-
4
- const MOVIES_FILE_FOR_IMPORT = 'movies.ttl';
5
-
6
- describe('Describes "Movies" interactive guide', () => {
7
-
8
- let repositoryId;
9
-
10
- beforeEach(() => {
11
- cy.intercept('/rest/guides', {fixture: '/guides/guides.json'}).as('getGuides');
12
- repositoryId = 'movies';
13
- cy.viewport(1880, 1000);
14
- GuideSteps.visit();
15
- cy.wait(['@getGuides']);
16
- });
17
-
18
- afterEach(() => {
19
- cy.deleteUploadedFile(repositoryId, MOVIES_FILE_FOR_IMPORT);
20
- cy.deleteRepository(repositoryId);
21
- });
22
-
23
- it('Tests movies interactive guide using "Next" button to the end', () => {
24
- const stepAssertions = [
25
- {assert: MoviesGuideSteps.assertExploreClassHierarchyStep1},
26
- {assert: MoviesGuideSteps.assertExploreClassHierarchyStep2},
27
- {assert: MoviesGuideSteps.assertExploreClassHierarchyStep3},
28
- {assert: MoviesGuideSteps.assertExploreClassHierarchyStep4},
29
- {assert: MoviesGuideSteps.assertExploreClassHierarchyStep5},
30
- {assert: MoviesGuideSteps.assertExploreClassHierarchyStep6},
31
- {assert: MoviesGuideSteps.assertExploreClassHierarchyStep7},
32
- {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep1},
33
- {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep2},
34
- {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep3},
35
- {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep4},
36
- {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep5},
37
- // Forces the click because results are to many and dialog is not visible into the test.
38
- {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep6, forceButtonClick: true},
39
- {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep7, forceButtonClick: true},
40
- {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep8},
41
- {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep1},
42
- {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep2},
43
- {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep3},
44
- {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep4},
45
- {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep5},
46
- {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep6},
47
- {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep7},
48
- {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep8, forceButtonClick: true},
49
- {assert: MoviesGuideSteps.assertExploreRDFStep1, forceButtonClick: true},
50
- {assert: MoviesGuideSteps.assertExploreRDFStep2},
51
- {assert: MoviesGuideSteps.assertExploreRDFStep3},
52
- {assert: MoviesGuideSteps.assertExploreRDFStep4},
53
- {assert: MoviesGuideSteps.assertExploreRDFStep5},
54
- {assert: MoviesGuideSteps.assertExploreRDFStep6},
55
- {assert: MoviesGuideSteps.assertExploreRDFStep7},
56
- {assert: MoviesGuideSteps.assertExploreRDFStep8},
57
- {assert: MoviesGuideSteps.assertExploreRDFStep9},
58
- {assert: MoviesGuideSteps.assertExploreRDFStep10},
59
- {assert: MoviesGuideSteps.assertSparqlQueryStep1},
60
- {assert: MoviesGuideSteps.assertSparqlQueryStep2},
61
- {assert: MoviesGuideSteps.assertSparqlQueryStep3},
62
- {assert: MoviesGuideSteps.assertSparqlQueryStep4},
63
- {assert: MoviesGuideSteps.assertSparqlQueryStep5},
64
- {assert: MoviesGuideSteps.assertSparqlQueryStep6},
65
- {assert: MoviesGuideSteps.assertSparqlQueryStep7}
66
- ];
67
-
68
- const guideName = '3 The Movies database guide';
69
- GuideSteps.runGuideTest(guideName, repositoryId, MOVIES_FILE_FOR_IMPORT, stepAssertions);
70
- });
71
- });
@@ -1,32 +0,0 @@
1
- import HomeSteps from "../../../steps/home-steps";
2
- import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
- import {RestApiDocumentationSteps} from "../../../steps/rest-api-documentation-steps";
4
-
5
- describe('REST API Documentation with selected repository', () => {
6
- let repositoryId;
7
-
8
- beforeEach(() => {
9
- repositoryId = 'rest-api-documentation-init-' + Date.now();
10
- cy.createRepository({id: repositoryId});
11
- cy.presetRepository(repositoryId);
12
- });
13
-
14
- afterEach(() => {
15
- cy.deleteRepository(repositoryId);
16
- });
17
-
18
- it('Should display the correct initial state when navigating via URL', () => {
19
- // Given, I visit the REST API Documentation page via URL with a repository selected
20
- RestApiDocumentationSteps.visit();
21
- // Then,
22
- RestApiDocumentationSteps.verifyInitialState();
23
- });
24
-
25
- it('Should display the correct initial state when navigating via the navigation bar', () => {
26
- // Given, I visit the REST API Documentation page via the navigation menu with a repository selected
27
- HomeSteps.visit();
28
- MainMenuSteps.clickOnRestApiDocumentation();
29
- // Then,
30
- RestApiDocumentationSteps.verifyInitialState();
31
- });
32
- })
@@ -1,20 +0,0 @@
1
- import HomeSteps from "../../../steps/home-steps";
2
- import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
- import {RestApiDocumentationSteps} from "../../../steps/rest-api-documentation-steps";
4
-
5
- describe('REST API Documentation without selected repository', () => {
6
- it('Should display the correct initial state when navigating via URL', () => {
7
- // Given, I visit the REST API Documentation page via URL without a repository selected
8
- RestApiDocumentationSteps.visit();
9
- // Then,
10
- RestApiDocumentationSteps.verifyInitialState();
11
- });
12
-
13
- it('Should display the correct initial state when navigating via the navigation menu', () => {
14
- // Given, I visit the REST API Documentation page via the navigation menu without a repository selected
15
- HomeSteps.visit();
16
- MainMenuSteps.clickOnRestApiDocumentation();
17
- // Then,
18
- RestApiDocumentationSteps.verifyInitialState();
19
- });
20
- })
@@ -1,32 +0,0 @@
1
- import HomeSteps from "../../../steps/home-steps";
2
- import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
- import {SystemInformationSteps} from "../../../steps/system-information-steps";
4
-
5
- describe('System information with selected repository', () => {
6
- let repositoryId;
7
-
8
- beforeEach(() => {
9
- repositoryId = 'system-information-init-' + Date.now();
10
- cy.createRepository({id: repositoryId});
11
- cy.presetRepository(repositoryId);
12
- });
13
-
14
- afterEach(() => {
15
- cy.deleteRepository(repositoryId);
16
- });
17
-
18
- it('Should display the correct initial state when navigating via URL', () => {
19
- // Given, I visit the System information page via URL with a repository selected
20
- SystemInformationSteps.visit();
21
- // Then,
22
- SystemInformationSteps.verifyInitialState();
23
- });
24
-
25
- it('Should display the correct initial state when navigating via the navigation bar', () => {
26
- // Given, I visit the System information page via the navigation menu with a repository selected
27
- HomeSteps.visit();
28
- MainMenuSteps.clickOnSystemInformation();
29
- // Then,
30
- SystemInformationSteps.verifyInitialState();
31
- });
32
- })
@@ -1,20 +0,0 @@
1
- import HomeSteps from "../../../steps/home-steps";
2
- import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
- import {SystemInformationSteps} from "../../../steps/system-information-steps";
4
-
5
- describe('System information without selected repository', () => {
6
- it('Should display the correct initial state when navigating via URL', () => {
7
- // Given, I visit the System information page via URL without a repository selected
8
- SystemInformationSteps.visit();
9
- // Then,
10
- SystemInformationSteps.verifyInitialState();
11
- });
12
-
13
- it('Should display the correct initial state when navigating via the navigation menu', () => {
14
- // Given, I visit the System information page via the navigation menu without a repository selected
15
- HomeSteps.visit();
16
- MainMenuSteps.clickOnSystemInformation();
17
- // Then,
18
- SystemInformationSteps.verifyInitialState();
19
- });
20
- })
@@ -1,182 +0,0 @@
1
- import HomeSteps from '../../../steps/home-steps';
2
- import {SecurityStubs} from '../../../stubs/security-stubs';
3
- import {SettingsSteps} from '../../../steps/setup/settings-steps';
4
- import {LicenseStubs} from '../../../stubs/license-stubs';
5
- import {CookiePolicyModalSteps} from '../../../steps/cookie-policy/cookie-policy-modal.steps';
6
- import {MainMenuSteps} from '../../../steps/main-menu-steps.js';
7
- import {CookieConsentBannerSteps} from '../../../steps/cookie-policy/cookie-consent-banner-steps.js';
8
-
9
- Cypress.env('set_default_user_data', false);
10
-
11
- describe('Cookie policy', () => {
12
- beforeEach(() => {
13
- cy.setCookieConsent(undefined);
14
- cy.viewport(1280, 1000);
15
- LicenseStubs.stubFreeLicense();
16
- });
17
-
18
- afterEach(() => {
19
- cy.setCookieConsent(undefined);
20
- });
21
-
22
- it('should have default state when security is OFF', () => {
23
- // Given GDB security is OFF
24
- // When I open home page
25
- HomeSteps.visitInProdMode();
26
- // Then I expect to see cookie consent banner
27
- CookieConsentBannerSteps.getCookieConsentBanner().should('be.visible');
28
- // When I click on the cookie policy link in the banner
29
- CookieConsentBannerSteps.clickCookiePolicyLink();
30
- // Then I see the cookie policy
31
- CookiePolicyModalSteps.getDialogComponent().and('be.visible');
32
- CookiePolicyModalSteps.getBody().should('be.visible');
33
- // And I expect to see that analytic and third party cookies are allowed
34
- CookiePolicyModalSteps.validateCookiePolicyDialog(true, true);
35
- // When I close the cookie policy modal
36
- CookiePolicyModalSteps.closeDialog();
37
- // Then I expect the cookie policy modal to be closed
38
- CookiePolicyModalSteps.getDialogComponent().should('not.exist');
39
- // When I open my settings page
40
- SettingsSteps.visitInProdMode();
41
- // Then I expect to see cookie policy button in My settings widget
42
- SettingsSteps.getCookiePolicyButton().and('be.visible');
43
- // When I click on the cookie policy button in My settings widget
44
- SettingsSteps.clickCookiePolicyLink();
45
- // Then I see the cookie policy
46
- CookiePolicyModalSteps.getDialogComponent().and('be.visible');
47
- CookiePolicyModalSteps.getBody().should('be.visible');
48
- // And I expect to see that analytic and third party cookies are allowed
49
- CookiePolicyModalSteps.validateCookiePolicyDialog(true, true);
50
- // When I close the cookie policy modal
51
- CookiePolicyModalSteps.closeDialog();
52
- // Then I expect the cookie policy modal to be closed
53
- CookiePolicyModalSteps.getDialogComponent().should('not.exist');
54
- });
55
-
56
- it('should give consent for default cookie policy when security is OFF', () => {
57
- // Given GDB security is OFF
58
- // When I open home page
59
- HomeSteps.visitInProdMode();
60
- // Then I expect to see cookie consent banner
61
- CookieConsentBannerSteps.getCookieConsentBanner().should('be.visible');
62
- // When I click OK in the cookie consent banner
63
- SecurityStubs.spyOnUserUpdate('admin');
64
- CookieConsentBannerSteps.giveCookieConsent();
65
- // Then I expect to save cookie consent in user settings
66
- validateUserUpdateWithCookieConsent();
67
- // And I expect the banner to be hidden
68
- CookieConsentBannerSteps.getCookieConsentBanner().should('not.exist');
69
- // And I expect GA tracking script to be added to the head
70
- validateGATracking();
71
- // When I open another page
72
- MainMenuSteps.clickOnMenuImport();
73
- cy.url().should('include', '/import');
74
- // Then I expect the banner to be hidden
75
- CookieConsentBannerSteps.getCookieConsentBanner().should('not.exist');
76
- // When I reload the page
77
- cy.reload();
78
- // Then I expect the banner to be hidden
79
- CookieConsentBannerSteps.getCookieConsentBanner().should('not.exist');
80
- });
81
-
82
- it('should update cookie policy and give consent when security is OFF', () => {
83
- // Given GDB security is OFF
84
- // When I open home page
85
- HomeSteps.visitInProdMode();
86
- // Then I expect to see cookie consent banner
87
- CookieConsentBannerSteps.getCookieConsentBanner().should('be.visible');
88
- // When I click on the cookie policy link in the banner
89
- CookieConsentBannerSteps.clickCookiePolicyLink();
90
- // Then I see the cookie policy
91
- CookiePolicyModalSteps.getDialogComponent().should('be.visible');
92
- CookiePolicyModalSteps.validateCookiePolicyDialog(true, true);
93
- // When I toggle off the analytics cookie checkbox
94
- CookiePolicyModalSteps.toggleStatisticCookies();
95
- // And I close the dialog
96
- CookiePolicyModalSteps.closeDialog();
97
- CookiePolicyModalSteps.getDialog().should('not.exist');
98
- // When I reopen the cookie policy dialog using the button in the banner
99
- CookieConsentBannerSteps.clickCookiePolicyLink();
100
- // And I expect to see that analytic cookies are not allowed and third party cookies are allowed
101
- CookiePolicyModalSteps.validateCookiePolicyDialog(false, true);
102
- // When I close the cookie policy dialog
103
- CookiePolicyModalSteps.closeDialog();
104
- // And I open my settings page
105
- MainMenuSteps.clickOnMySettings();
106
- // Then I expect to see cookie policy button in My settings widget
107
- SettingsSteps.getCookiePolicyButton().and('be.visible');
108
- // When I click on the cookie policy button in My settings widget
109
- SettingsSteps.clickCookiePolicyLink();
110
- // Then I see the cookie policy
111
- CookiePolicyModalSteps.getDialogComponent().should('be.visible');
112
- // And I expect to see that analytic cookies are not allowed and third party cookies are allowed
113
- CookiePolicyModalSteps.validateCookiePolicyDialog(false, true);
114
- // When I toggle off the third party cookies checkbox
115
- CookiePolicyModalSteps.toggleThirdPartyCookies();
116
- // And I close the cookie policy dialog
117
- CookiePolicyModalSteps.closeDialog();
118
- // When I reopen the cookie policy dialog using the button in my settings widget
119
- SettingsSteps.clickCookiePolicyLink();
120
- // And I expect to see that analytic cookies are not allowed and third party cookies are not allowed
121
- CookiePolicyModalSteps.validateCookiePolicyDialog(false, false);
122
- CookiePolicyModalSteps.closeDialog();
123
- // When I reload the page
124
- cy.reload();
125
- // And I reopen the cookie policy dialog using the button in my settings widget
126
- SettingsSteps.clickCookiePolicyLink();
127
- // And I expect to see that analytic cookies are not allowed and third party cookies are not allowed
128
- CookiePolicyModalSteps.validateCookiePolicyDialog(false, false);
129
- // When I close the cookie policy dialog
130
- CookiePolicyModalSteps.closeDialog();
131
- // And I click OK in the cookie consent banner
132
- CookieConsentBannerSteps.giveCookieConsent();
133
- // Then I expect the banner to be hidden
134
- CookieConsentBannerSteps.getCookieConsentBanner().should('not.exist');
135
- // When I reload the page
136
- cy.reload();
137
- // Then I expect the banner to be hidden
138
- CookieConsentBannerSteps.getCookieConsentBanner().should('not.exist');
139
- });
140
- });
141
-
142
- function validateUserUpdateWithCookieConsent() {
143
- cy.wait('@updateUser').then((xhr) => {
144
- expect(xhr.request.body.appSettings).to.include({
145
- DEFAULT_INFERENCE: true,
146
- DEFAULT_VIS_GRAPH_SCHEMA: true,
147
- DEFAULT_SAMEAS: true,
148
- IGNORE_SHARED_QUERIES: false,
149
- EXECUTE_COUNT: true
150
- });
151
-
152
- // Assert COOKIE_CONSENT properties, excluding updatedAt
153
- expect(xhr.request.body.appSettings.COOKIE_CONSENT).to.include({
154
- policyAccepted: true
155
- });
156
-
157
- // Assert that updatedAt is present, is a number, and is a reasonable timestamp
158
- const updatedAt = xhr.request.body.appSettings.COOKIE_CONSENT.updatedAt;
159
- expect(updatedAt).to.exist;
160
- expect(updatedAt).to.be.a('number');
161
-
162
- // Check that updatedAt is within 1 hour of the current time
163
- const oneHourInMilliseconds = 60 * 60 * 1000;
164
- const now = Date.now();
165
- expect(updatedAt).to.be.within(now - oneHourInMilliseconds, now + oneHourInMilliseconds);
166
- });
167
- }
168
-
169
- function validateGATracking() {
170
- // Check if the GA tracking script is set correctly in the head
171
- cy.document()
172
- .get('head script')
173
- .should("have.attr", "src")
174
- .should('include', 'https://www.googletagmanager.com/gtm.js?id=GTM-WBP6C6Z4');
175
-
176
- // Check if the installation ID cookie is set correctly
177
- cy.getCookie('_wb').then((cookie) => {
178
- expect(cookie).to.exist;
179
- // Check the cookie structure: WB1.<installationId>.<timestamp>
180
- expect(cookie.value).to.match(/^WB1\.[a-zA-Z0-9\-]+\.\d+$/);
181
- });
182
- }
@@ -1,41 +0,0 @@
1
- import HomeSteps from '../../steps/home-steps';
2
- import {EnvironmentStubs} from "../../stubs/environment-stubs";
3
- import {MainMenuSteps} from "../../steps/main-menu-steps";
4
-
5
- describe('Documentation links resolver', () => {
6
-
7
- beforeEach(() => {
8
- cy.viewport(1280, 1000);
9
- EnvironmentStubs.spyProductInfo();
10
- });
11
-
12
- it('Should link to master version when in dev mode', () => {
13
- HomeSteps.visitInDevMode();
14
- MainMenuSteps.clickOnMenuHelp();
15
- // Assert that links point to the master version
16
- MainMenuSteps.getSubMenuButtonByName('Documentation').should('have.attr', 'href').and('include', 'https://graphdb.ontotext.com/documentation/master/index.html');
17
- MainMenuSteps.getSubMenuButtonByName('Tutorials').should('have.attr', 'href').and('include', 'https://graphdb.ontotext.com/documentation/master/tutorials.html');
18
- MainMenuSteps.getSubMenuButtonByName('Support').should('have.attr', 'href').and('include', 'https://graphdb.ontotext.com/documentation/master/support.html');
19
- });
20
-
21
- it('Should link to master version when in prod mode and unofficial version', () => {
22
- EnvironmentStubs.stubProductInfo('10.8-TR1-test');
23
- HomeSteps.visitInProdMode();
24
- MainMenuSteps.clickOnMenuHelp();
25
- // Assert that links point to the master version
26
- MainMenuSteps.getSubMenuButtonByName('Documentation').should('have.attr', 'href').and('include', 'https://graphdb.ontotext.com/documentation/master/index.html');
27
- MainMenuSteps.getSubMenuButtonByName('Tutorials').should('have.attr', 'href').and('include', 'https://graphdb.ontotext.com/documentation/master/tutorials.html');
28
- MainMenuSteps.getSubMenuButtonByName('Support').should('have.attr', 'href').and('include', 'https://graphdb.ontotext.com/documentation/master/support.html');
29
- });
30
-
31
- it('Should link to GDB version when in prod mode and official version', () => {
32
- EnvironmentStubs.stubProductInfo('10.8');
33
- HomeSteps.visitInProdMode();
34
- MainMenuSteps.clickOnMenuHelp();
35
- // Assert that links point to the specific GDB version
36
- MainMenuSteps.getSubMenuButtonByName('Documentation').should('have.attr', 'href').and('include', 'https://graphdb.ontotext.com/documentation/10.8/index.html');
37
- MainMenuSteps.getSubMenuButtonByName('Tutorials').should('have.attr', 'href').and('include', 'https://graphdb.ontotext.com/documentation/10.8/tutorials.html');
38
- MainMenuSteps.getSubMenuButtonByName('Support').should('have.attr', 'href').and('include', 'https://graphdb.ontotext.com/documentation/10.8/support.html');
39
- });
40
- });
41
-
@@ -1,69 +0,0 @@
1
- import HomeSteps from '../../steps/home-steps';
2
- import {LicenseWidgetSteps} from "../../steps/widgets/license-widget-steps";
3
- import {ActiveRepositoryWidgetSteps} from "../../steps/widgets/active-repository-widget-steps";
4
- import {RepositoriesStubs} from "../../stubs/repositories/repositories-stubs";
5
- import {SavedSparqlQueriesWidgetSteps} from "../../steps/widgets/saved-sparql-queries-widget-steps";
6
- import {SavedQueriesStubs} from "../../stubs/saved-queries-stubs";
7
- import {LicenseStubs} from "../../stubs/license-stubs";
8
-
9
- describe('Home page: with selected repository', () => {
10
-
11
- let repositoryId;
12
-
13
- beforeEach(() => {
14
- cy.viewport(1280, 1000);
15
- repositoryId = 'home-page-' + Date.now();
16
- cy.createRepository({id: repositoryId});
17
- cy.presetRepository(repositoryId);
18
- RepositoriesStubs.spyGetRepositories();
19
- SavedQueriesStubs.spyGetSavedQueries();
20
- LicenseStubs.spyGetLicense();
21
- HomeSteps.visitAndWaitLoader();
22
- cy.wait('@getRepositories');
23
- });
24
-
25
- afterEach(() => {
26
- cy.deleteRepository(repositoryId);
27
- });
28
-
29
- it('should render page header with tools', () => {
30
- // RDF search box should not be visible when there is no selected repository
31
- HomeSteps.getRDFSearchButton().should('not.be.visible');
32
- // Repository selector menu should be visible and empty
33
- HomeSteps.getRepositorySelector().should('be.visible');
34
- HomeSteps.getSelectedRepository().should('contain', repositoryId);
35
- // Language selector menu should be visible and default to English
36
- HomeSteps.getLanguageSelector().should('be.visible');
37
- HomeSteps.getSelectedLanguage().should('contain', 'en');
38
- });
39
-
40
- it('should render active repository widget', () => {
41
- HomeSteps.getActiveRepositoryWidget().should('be.visible');
42
- ActiveRepositoryWidgetSteps.getWidget().should('be.visible');
43
- ActiveRepositoryWidgetSteps.getActiveRepository().should('contain', repositoryId);
44
- ActiveRepositoryWidgetSteps.getWidgetName().should('contain', 'Active repository');
45
- ActiveRepositoryWidgetSteps.getTotalStatements().should('contain', 70);
46
- ActiveRepositoryWidgetSteps.getInferredStatements().should('contain', 70);
47
- ActiveRepositoryWidgetSteps.getExplicitStatements().should('contain', 0);
48
- });
49
-
50
- it('should not render repository errors widget', () => {
51
- HomeSteps.getRepositoryErrorsWidget().should('be.hidden');
52
- });
53
-
54
- it('should render saved SPARQL queries widget', () => {
55
- cy.wait('@getSavedQueries');
56
- HomeSteps.getSavedSparqlQueriesWidget().should('be.visible');
57
- SavedSparqlQueriesWidgetSteps.getWidgetName().should('contain', 'Saved SPARQL queries');
58
- });
59
-
60
- it('should render license widget', () => {
61
- cy.wait('@get-license');
62
- HomeSteps.getLicenseWidget().should('be.visible');
63
- LicenseWidgetSteps.getLicenseWidgetHeader().should('contain', 'License');
64
- });
65
-
66
- it('should render page footer', () => {
67
- HomeSteps.getPageFooter().should('be.visible');
68
- });
69
- });
@@ -1,87 +0,0 @@
1
- import HomeSteps from '../../steps/home-steps';
2
- import {RepositoryErrorsWidgetSteps} from "../../steps/widgets/repository-errors-widget-steps";
3
- import {LicenseWidgetSteps} from "../../steps/widgets/license-widget-steps";
4
- import {RepositoriesStubs} from "../../stubs/repositories/repositories-stubs";
5
- import {LicenseStubs} from "../../stubs/license-stubs";
6
-
7
- describe('Home page: without repositories', () => {
8
-
9
- beforeEach(() => {
10
- cy.viewport(1280, 1000);
11
- RepositoriesStubs.spyGetRepositories();
12
- LicenseStubs.spyGetLicense();
13
- HomeSteps.visitAndWaitLoader();
14
- cy.wait('@getRepositories');
15
- });
16
-
17
- it('should render navigation menu', () => {
18
- HomeSteps.getNavigationMenu().should('be.visible');
19
- });
20
-
21
- it('should render page header with tools', () => {
22
- // RDF search box should not be visible when there is no selected repository
23
- HomeSteps.getRDFSearchButton().should('not.be.visible');
24
- // Repository selector menu should be visible and empty
25
- HomeSteps.getRepositorySelector().should('be.visible');
26
- HomeSteps.getSelectedRepository().should('contain', 'No accessible repositories');
27
- // Language selector menu should be visible and default to English
28
- HomeSteps.getLanguageSelector().should('be.visible');
29
- HomeSteps.getSelectedLanguage().should('contain', 'en');
30
- });
31
-
32
- it('should render repository errors widget', () => {
33
- HomeSteps.getRepositoryErrorsWidget().should('be.visible');
34
- RepositoryErrorsWidgetSteps.getInfoMessage().should('contain', 'Some functionalities are not available because you are not connected to any repository.');
35
- RepositoryErrorsWidgetSteps.getCreateRepositoryBtn().should('be.visible');
36
- RepositoryErrorsWidgetSteps.getShowRemoteLocationsBtn().should('be.visible');
37
- });
38
-
39
- it('should render license widget', () => {
40
- HomeSteps.getLicenseWidget().should('be.visible');
41
- LicenseWidgetSteps.getLicenseWidgetHeader().should('contain', 'License');
42
- });
43
-
44
- it('should not render active repository widget', () => {
45
- HomeSteps.getActiveRepositoryWidget().should('be.hidden');
46
- });
47
-
48
- it('should not render saved SPARQL queries widget', () => {
49
- HomeSteps.getSavedSparqlQueriesWidget().should('be.hidden');
50
- });
51
-
52
- it('should render license widget', () => {
53
- cy.wait('@get-license');
54
- HomeSteps.getLicenseWidget().should('be.visible');
55
- LicenseWidgetSteps.getLicenseWidgetHeader().should('contain', 'License');
56
- });
57
-
58
- it('should render page footer', () => {
59
- HomeSteps.getPageFooter().should('be.visible');
60
- });
61
-
62
- it('should render the tutorial panel', () => {
63
- // When I open the home page
64
- // Then the tutorial panel should be visible by default
65
- HomeSteps.getTutorialPanel().should('be.visible');
66
- // And the tutorial panel should contain the following text:
67
- HomeSteps.verifyTutorialText(0, 'Welcome to GraphDB');
68
- HomeSteps.verifyTutorialText(1, 'Create a repository');
69
- HomeSteps.verifyTutorialText(2, 'Load a sample dataset');
70
- HomeSteps.verifyTutorialText(3, 'Run a SPARQL query');
71
- HomeSteps.verifyTutorialText(4, 'REST API');
72
- });
73
-
74
- it('should be able to toggle the tutorial panel', () => {
75
- // Given I open the home page
76
- // And I see the tutorial panel
77
- HomeSteps.getTutorialPanel().should('be.visible');
78
- // When I decline the tutorial
79
- HomeSteps.hideTutorial();
80
- // Then the tutorial panel should be closed
81
- HomeSteps.getTutorialPanel().should('be.not.exist');
82
- // When I open the tutorial panel
83
- HomeSteps.showTutorialPanel();
84
- // Then the tutorial panel should be visible
85
- HomeSteps.getTutorialPanel().should('be.visible');
86
- });
87
- });
@@ -1,59 +0,0 @@
1
- import HomeSteps from '../../steps/home-steps';
2
- import {RepositoryErrorsWidgetSteps} from "../../steps/widgets/repository-errors-widget-steps";
3
- import {RepositoriesStubs} from "../../stubs/repositories/repositories-stubs";
4
- import {LicenseStubs} from "../../stubs/license-stubs";
5
- import {SavedQueriesStubs} from "../../stubs/saved-queries-stubs";
6
-
7
- describe('Home page: without selected repository', () => {
8
-
9
- let repositoryId;
10
-
11
- beforeEach(() => {
12
- repositoryId = 'home-page-' + Date.now();
13
- cy.createRepository({id: repositoryId});
14
- cy.viewport(1280, 1000);
15
- RepositoriesStubs.spyGetRepositories();
16
- RepositoriesStubs.spyGetActiveLocations();
17
- LicenseStubs.spyGetLicense();
18
- SavedQueriesStubs.spyGetSavedQueries();
19
- HomeSteps.visitAndWaitLoader();
20
- cy.wait('@getRepositories');
21
- cy.wait('@getActiveLocations');
22
- });
23
-
24
- afterEach(() => {
25
- cy.deleteRepository(repositoryId);
26
- });
27
-
28
- it('should render repository errors widget', () => {
29
- HomeSteps.getRepositoryErrorsWidget().should('be.visible');
30
- RepositoryErrorsWidgetSteps.getInfoMessage().should('contain', 'Some functionalities are not available because you are not connected to any repository.');
31
- RepositoryErrorsWidgetSteps.getCreateRepositoryBtn().should('be.visible');
32
- RepositoryErrorsWidgetSteps.getShowRemoteLocationsBtn().should('be.visible');
33
- });
34
-
35
- // This test is unreliable with the current implementation of the license widget.
36
- it.skip('should not render active repository widget', () => {
37
- HomeSteps.getActiveRepositoryWidget().should('be.hidden');
38
- });
39
-
40
- it('should not render saved SPARQL queries widget', () => {
41
- cy.wait('@getSavedQueries');
42
- HomeSteps.getSavedSparqlQueriesWidget().should('be.hidden');
43
- });
44
-
45
- it('should render repository errors widget', () => {
46
- RepositoryErrorsWidgetSteps.getRepositoryList().should('contain', repositoryId);
47
- });
48
-
49
- it('should render page header with tools', () => {
50
- // RDF search box should not be visible when there is no selected repository
51
- HomeSteps.getRDFSearchButton().should('not.be.visible');
52
- // Repository selector menu should be visible and empty
53
- HomeSteps.getRepositorySelector().should('be.visible');
54
- HomeSteps.getSelectedRepository().should('contain', 'Choose repository');
55
- // Language selector menu should be visible and default to English
56
- HomeSteps.getLanguageSelector().should('be.visible');
57
- HomeSteps.getSelectedLanguage().should('contain', 'en');
58
- });
59
- });