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,25 +0,0 @@
1
- import {UserAndAccessSteps} from "../../../steps/setup/user-and-access-steps";
2
- import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
-
4
- function validateInitialState() {
5
- UserAndAccessSteps.getCreateNewUserButton().should('be.visible');
6
- UserAndAccessSteps.getToggleSecuritySwitch().should('be.visible');
7
- UserAndAccessSteps.getUsersTable().should('be.visible');
8
- }
9
-
10
- describe('Users and Access initial state', () => {
11
- it('Should display the correct initial state when navigating via URL', () => {
12
- // Given, I visit the Users and Access page via URL
13
- UserAndAccessSteps.visit();
14
- // Then,
15
- validateInitialState();
16
- });
17
-
18
- it('Should display the correct initial state when navigating via the navigation menu', () => {
19
- // Given, I visit the Users and Access page via the navigation menu
20
- UserAndAccessSteps.visit();
21
- MainMenuSteps.clickOnUsersAndAccess();
22
- // Then,
23
- validateInitialState();
24
- });
25
- })
@@ -1,33 +0,0 @@
1
- import SparqlSteps from "../../steps/sparql-steps";
2
- import HomeSteps from "../../steps/home-steps";
3
- import {MainMenuSteps} from "../../steps/main-menu-steps";
4
-
5
- describe('SPARQL page with selected repository', () => {
6
-
7
- let repositoryId;
8
-
9
- beforeEach(() => {
10
- repositoryId = 'sparql-page-' + Date.now();
11
- cy.createRepository({id: repositoryId});
12
- cy.presetRepository(repositoryId);
13
- });
14
-
15
- afterEach(() => {
16
- cy.deleteRepository(repositoryId);
17
- });
18
-
19
- it('Should render SPARQL page with editor via URL', () => {
20
- // Given, I visit the SPARQL page via URL, and I have a selected repository
21
- SparqlSteps.visit();
22
- // Then, I expect to see the editor
23
- SparqlSteps.getQueryArea().should('be.visible');
24
- });
25
-
26
- it('Should render SPARQL page with editor via navigation menu', () => {
27
- // Given I open the SPARQL page, via navigation through the home page, and I have a selected repository
28
- HomeSteps.visit();
29
- MainMenuSteps.clickOnSparqlMenu();
30
- // Then, I expect to see the editor
31
- SparqlSteps.getQueryArea().should('be.visible');
32
- });
33
- })
@@ -1,26 +0,0 @@
1
- import SparqlSteps from "../../steps/sparql-steps";
2
- import HomeSteps from "../../steps/home-steps";
3
- import {MainMenuSteps} from "../../steps/main-menu-steps";
4
- import {ErrorSteps} from "../../steps/error-steps";
5
-
6
- describe('SPARQL page without selected repository', () => {
7
- it('Should render SPARQL page without selected repository via URL', () => {
8
- // Given, I visit the SPARQL page via URL and I haven't selected a repository
9
- SparqlSteps.visit();
10
- // Then
11
- validateNoRepositoriesSparqlPage();
12
- });
13
-
14
- it('Should render SPARQL page without selected repository via navigation menu', () => {
15
- // Given, I visit the SPARQL page via navigation menu and I haven't selected a repository'
16
- HomeSteps.visit();
17
- MainMenuSteps.clickOnSparqlMenu();
18
- // Then
19
- validateNoRepositoriesSparqlPage();
20
- });
21
- });
22
-
23
- function validateNoRepositoriesSparqlPage() {
24
- SparqlSteps.getQueryArea().should('not.exist');
25
- ErrorSteps.verifyNoConnectedRepoMessage();
26
- }
@@ -1,54 +0,0 @@
1
- import {QueryStubs} from '../../stubs/yasgui/query-stubs.js';
2
- import SparqlSteps from '../../steps/sparql-steps.js';
3
- import {YasqeSteps} from '../../steps/yasgui/yasqe-steps.js';
4
-
5
- describe('YASQE Themes', () => {
6
-
7
- let repositoryId;
8
- const THEME_PERSISTENCE_KEY = 'ls.workbench-settings';
9
- beforeEach(() => {
10
- cy.removeLocalStorage(THEME_PERSISTENCE_KEY);
11
- repositoryId = 'yasqe-theme-' + Date.now();
12
- QueryStubs.stubQueryCountResponse();
13
- cy.createRepository({id: repositoryId});
14
- cy.presetRepository(repositoryId);
15
- cy.enableAutocomplete(repositoryId);
16
- });
17
-
18
- afterEach(() => {
19
- cy.deleteRepository(repositoryId);
20
- cy.removeLocalStorage(THEME_PERSISTENCE_KEY);
21
- });
22
-
23
- it('should apply the default theme if theme is not persisted in local store', () => {
24
- // GIVEN: No theme is persisted.
25
- cy.removeLocalStorage(THEME_PERSISTENCE_KEY);
26
- // WHEN: A page is visited with ontotext-yasgui-web-component rendered in it.
27
- SparqlSteps.visit();
28
- YasqeSteps.getYasqe().should('be.visible');
29
- // THEN the default theme should be applied.
30
- YasqeSteps.getCodeMirrorEl().should('have.class', 'cm-s-default');
31
- });
32
-
33
- it('should apply the default theme if the light theme is persisted in local store', () => {
34
- // GIVEN: light theme is persisted to local store
35
- cy.setLocalStorage(THEME_PERSISTENCE_KEY, JSON.stringify({"theme":"default-theme","mode":"light"}));
36
-
37
- // WHEN: A page is visited with ontotext-yasgui-web-component rendered in it.
38
- SparqlSteps.visit();
39
- YasqeSteps.getYasqe().should('be.visible');
40
- // THEN the default theme should be applied.
41
- YasqeSteps.getCodeMirrorEl().should('have.class', 'cm-s-default');
42
- });
43
-
44
- it('should apply the moxer theme if the dark theme is persisted in local store', () => {
45
- // GIVEN: dark theme is persisted to local store
46
- cy.setLocalStorage(THEME_PERSISTENCE_KEY, JSON.stringify({"theme":"default-theme","mode":"dark"}));
47
-
48
- // WHEN: A page is visited with ontotext-yasgui-web-component rendered in it.
49
- SparqlSteps.visit();
50
- YasqeSteps.getYasqe().should('be.visible');
51
- // THEN the moxer theme should be applied.
52
- YasqeSteps.getCodeMirrorEl().should('have.class', 'cm-s-moxer');
53
- });
54
- });
@@ -1,106 +0,0 @@
1
- import {SparqlEditorSteps} from '../../../../steps/sparql-editor-steps';
2
- import {YasqeSteps} from '../../../../steps/yasgui/yasqe-steps';
3
- import {YasrSteps} from '../../../../steps/yasgui/yasr-steps';
4
- import {QueryStubs} from '../../../../stubs/yasgui/query-stubs';
5
- import {GraphConfigStubs} from '../../../../stubs/graph-config-stubs.js';
6
- import {BrowserStubs} from '../../../../stubs/browser-stubs.js';
7
-
8
- describe('"Visualize" split button', () => {
9
- let repositoryId;
10
-
11
- beforeEach(() => {
12
- repositoryId = 'yasr-vizualize-split-button' + Date.now();
13
- QueryStubs.stubQueryCountResponse();
14
- cy.createRepository({id: repositoryId});
15
- cy.presetRepository(repositoryId);
16
- // Given I visit a page with 'ontotex-yasgu-web-component' in it.
17
- SparqlEditorSteps.visitSparqlEditorPage();
18
- });
19
-
20
- afterEach(() => {
21
- cy.deleteRepository(repositoryId);
22
- });
23
-
24
- it('should display "Visualize" split button when user execute a CONSTRUCT query', () => {
25
- // WHEN: I visit a page with 'ontotext-yasgui-web-component' on it, and execute select query.
26
- executeSelectQuery();
27
- // THEN: I expect the 'Visualize' button to not be visible.
28
- YasrSteps.getVisualizeMainButton().should('not.be.visible');
29
-
30
- // WHEN: I execute a CONSTRUCT query.
31
- executeConstructQuery();
32
- // THEN: I expect the 'Visualize' button to be visible.
33
- YasrSteps.getVisualizeMainButton().should('be.visible');
34
-
35
- // WHEN: I execute SELECT query again.
36
- executeSelectQuery();
37
- // THEN: I expect the 'Visualize' button to not be visible.
38
- YasrSteps.getVisualizeMainButton().should('not.be.visible');
39
- });
40
-
41
- it('should inform user that there no created graph configurations', () => {
42
- // GIVEN: There are no graph configurations.
43
- GraphConfigStubs.stubGetEmptyGraphConfigs();
44
- // AND: I visit a page with 'ontotext-yasgui-web-component' on it, and the 'Visualize' button is visible.
45
- executeConstructQuery();
46
-
47
- // WHEN: I open the dropdown.
48
- YasrSteps.toggleGraphConfigDropdown();
49
- // THEN: I expect to see message that informs that there are no graph configurations.
50
- YasrSteps.getNoConfigurationsMessage().should('contain.text', 'No advanced graph configuration.');
51
-
52
- // WHEN: I click on create link.
53
- BrowserStubs.stubWindowOpen();
54
- YasrSteps.clickCreateGraphConfigLink();
55
- // THEN: I expect to be navigated to graph configurations page.
56
- cy.get(BrowserStubs.WINDOW_OPEN_ALIAS()).should('have.been.calledWithMatch', 'graphs-visualizations', '_blank', 'noopener,noreferrer');
57
- });
58
-
59
- it('should open graphs-visualizations view when click on main button', () => {
60
- // GIVEN: I visit a page with 'ontotext-yasgui-web-component' on it, and the 'Visualize' button is visible.
61
- executeConstructQuery();
62
-
63
- // WHEN: I click on main button
64
- YasrSteps.clickOnVisualizeMainButton();
65
- // THEN: I expect to be navigated to graphs-visualizations view.
66
- cy.url().should('include', 'graphs-visualizations');
67
- cy.getQueryParam('query').should('include', 'PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX onto: <http://www.ontotext.com/>CONSTRUCT {?source rdf:type ?destination .} WHERE {?bag rdf:type ?source .?flight rdf:type ?destination}');
68
- cy.getQueryParam('config').should('not.exist');
69
- });
70
-
71
- it('should open graphs-visualizations view when select a graph configuration', () => {
72
- // GIVEN: I visit a page with 'ontotext-yasgui-web-component' on it, and the 'Visualize' button is visible.
73
- executeConstructQuery();
74
- GraphConfigStubs.stubGetGraphConfigs();
75
-
76
- // WHEN: I open the dropdown.
77
- YasrSteps.toggleGraphConfigDropdown();
78
- // THEN: I expect to see only 'search' graph configurations.
79
- YasrSteps.getGraphConfigs().should('have.length', 2);
80
-
81
- // WHEN: I select a graph configuration
82
- YasrSteps.selectGraphConfig();
83
- // THEN: I expect to be navigated to graphs-visualizations view.
84
- cy.url().should('include', 'graphs-visualizations');
85
- cy.getQueryParam('query').should('include', 'PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX onto: <http://www.ontotext.com/>CONSTRUCT {?source rdf:type ?destination .} WHERE {?bag rdf:type ?source .?flight rdf:type ?destination}');
86
- cy.getQueryParam('config').should('eq', 'de99fd5de7f94ef98f1875dff55fc1c9');
87
- });
88
- });
89
-
90
- const executeSelectQuery = () => {
91
- YasqeSteps.pasteQuery('select * where {?s ?p ?o.}');
92
- YasqeSteps.executeQuery();
93
- };
94
-
95
- const executeConstructQuery = () => {
96
- YasqeSteps.pasteQuery(
97
- 'PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>' +
98
- 'PREFIX onto: <http://www.ontotext.com/>' +
99
- 'CONSTRUCT {' +
100
- '?source rdf:type ?destination .' +
101
- '} WHERE {' +
102
- '?bag rdf:type ?source .' +
103
- '?flight rdf:type ?destination' +
104
- '}');
105
- YasqeSteps.executeQuery();
106
- };
@@ -1,80 +0,0 @@
1
- import {SparqlEditorSteps} from '../../../steps/sparql-editor-steps.js';
2
- import {YasrSteps} from '../../../steps/yasgui/yasr-steps.js';
3
- import {YasqeSteps} from '../../../steps/yasgui/yasqe-steps.js';
4
-
5
- describe('YASR', () => {
6
- let repositoryId;
7
- let secondRepositoryId;
8
-
9
- beforeEach(() => {
10
- repositoryId = 'yasr-' + Date.now();
11
- cy.createRepository({id: repositoryId});
12
- cy.presetRepository(repositoryId);
13
- });
14
-
15
- afterEach(() => {
16
- cy.deleteRepository(repositoryId);
17
- cy.deleteRepository(secondRepositoryId);
18
- });
19
-
20
- it('should load YASR in fullscreen with plugin config from URL', () => {
21
- // WHEN: I visit SPARQL Query & Update page with url parameters: embedded and pluginName
22
- SparqlEditorSteps.visitSparqlEditorPageAndWaitForEditor(getUrl(repositoryId, 'pivotTable', true));
23
- // THEN: YASR is in fullscreen mode because the workbench is embedded.
24
- YasrSteps.getYasr().should('have.class', 'yasr-fullscreen');
25
- // AND: I expect the raw response plugin to be visible
26
- YasrSteps.getPivotTablePlugin().should('be.visible');
27
-
28
- // WHEN: I press the ESC key.
29
- YasrSteps.typeEscapeKey();
30
- // THEN: I see YASR results in fullscreen mode because Escape is disabled in this mode.
31
- YasrSteps.getYasr().should('have.class', 'yasr-fullscreen');
32
-
33
- // WHEN: I visit SPARQL Query & Update page with without embedded url parameter.
34
- SparqlEditorSteps.visitSparqlEditorPageAndWaitForEditor(getUrl(repositoryId, 'googleChart'));
35
- // THEN: I expect yasr to be in non-fullscreen mode
36
- YasrSteps.getYasr().should('not.have.class', 'yasr-fullscreen');
37
- // AND: I expect Google Chart plugin to be visible
38
- YasrSteps.getGoogleChartPlugin().should('be.visible');
39
-
40
- // WHEN: I visit SPARQL Query & Update page with without embedded and pluginName url parameters.
41
- SparqlEditorSteps.visitSparqlEditorPageAndWaitForEditor(getUrl(repositoryId));
42
- // THEN: I expect yasr to be in non-fullscreen mode
43
- YasrSteps.getYasr().should('not.have.class', 'yasr-fullscreen');
44
- // AND: I expect Google Chart plugin to be visible, because it was the last used plugin.
45
- YasrSteps.getGoogleChartPlugin().should('be.visible');
46
-
47
- // WHEN: I visit SPARQL Query & Update page with without embedded and pluginName url parameters.
48
- // AND: There are no persisted yasr data.
49
- cy.clearLocalStorage('yagui__graphdb-workbench-sparql-editor');
50
- SparqlEditorSteps.visitSparqlEditorPageAndWaitForEditor(getUrl(repositoryId));
51
- // THEN: I expect yasr to be in non-fullscreen mode
52
- YasrSteps.getYasr().should('not.have.class', 'yasr-fullscreen');
53
- // AND: I expect the default plugin to be visible
54
- YasrSteps.getExtendedTablePlugin().should('be.visible');
55
- });
56
-
57
- it('should trigger YASR fullscreen mode', () => {
58
- // GIVEN: I open a page that contains "ontotext-yasgui-web-component".
59
- SparqlEditorSteps.visitSparqlEditorPage();
60
-
61
- // WHEN: I execute a query.
62
- YasqeSteps.executeQuery();
63
- // THEN: I should see YASR results in non-fullscreen mode.
64
- YasrSteps.getYasr().should('not.have.class', 'yasr-fullscreen');
65
-
66
- // WHEN: I toggle to fullscreen mode.
67
- YasrSteps.toggleFullscreen();
68
- // THEN: I should see YASR results in fullscreen mode.
69
- YasrSteps.getYasr().should('have.class', 'yasr-fullscreen');
70
-
71
- // WHEN: I press the ESC key.
72
- YasrSteps.typeEscapeKey();
73
- // THEN: I should see YASR results in non-fullscreen mode, because escape is enabled when workbench is not embedded.
74
- YasrSteps.getYasr().should('not.have.class', 'yasr-fullscreen');
75
- });
76
- });
77
-
78
- const getUrl = (repositoryId, pluginName, embedded = false) => {
79
- return `repositoryId=${repositoryId}${pluginName ? ('&pluginName=' + pluginName) : ''}${embedded ? '&embedded' : ''}&query=SELECT * { ?s ?p ?o }&execute=true`;
80
- }
@@ -1,178 +0,0 @@
1
- import {RepositoriesStubs} from "../../stubs/repositories/repositories-stubs";
2
- import {TTYGViewSteps} from "../../steps/ttyg/ttyg-view-steps";
3
- import {TTYGStubs} from "../../stubs/ttyg/ttyg-stubs";
4
- import {TtygAgentSettingsModalSteps} from "../../steps/ttyg/ttyg-agent-settings-modal.steps";
5
- import {ToasterSteps} from "../../steps/toaster-steps";
6
- import {AutocompleteStubs} from "../../stubs/autocomplete/autocomplete-stubs";
7
- import {ModalDialogSteps} from "../../steps/modal-dialog-steps";
8
-
9
- describe('TTYG edit an agent', () => {
10
- const repositoryId = 'starwars';
11
-
12
- beforeEach(() => {
13
- RepositoriesStubs.stubRepositories(0, '/repositories/get-ttyg-repositories.json');
14
- RepositoriesStubs.stubBaseEndpoints(repositoryId);
15
- RepositoriesStubs.stubRepositoryModel(repositoryId);
16
- cy.presetRepository(repositoryId);
17
- TTYGStubs.stubAgentDefaultsGet();
18
- });
19
-
20
- it(' should be able to edit an agent.', () => {
21
- TTYGStubs.stubChatsListGet();
22
- TTYGStubs.stubAgentListGet();
23
- TTYGStubs.stubChatGet();
24
- // Given I have opened the ttyg page
25
- TTYGViewSteps.visit();
26
- cy.wait('@get-chat-list');
27
- cy.wait('@get-agent-list');
28
- cy.wait('@get-chat');
29
- // When I select an agent that don't have activated additional extraction method
30
- TTYGViewSteps.openAgentSettingsModalForAgent(0);
31
-
32
- // Then I expect that the iri discovery checkbox is not checked
33
- TtygAgentSettingsModalSteps.getIriDiscoverySearchCheckbox().should('not.be.checked');
34
-
35
- // When I check the iri discovery checkbox
36
- TtygAgentSettingsModalSteps.checkIriDiscoverySearchCheckbox();
37
-
38
- // and save the agent.
39
- TTYGStubs.stubAgentEdit();
40
- TtygAgentSettingsModalSteps.saveAgent();
41
- cy.wait('@edit-agent').then((interception) => {
42
- expect(interception.request.body.additionalExtractionMethods[0].method).to.equal('iri_discovery_search');
43
- });
44
- // Then I expect the agent to be saved
45
- ToasterSteps.verifySuccess('The agent \'agent-1\' was saved successfully.');
46
- });
47
-
48
- it('should not be able to edit an agent if an extraction method is selected but the precondition has failed', () => {
49
- TTYGStubs.stubChatsListGet();
50
- TTYGStubs.stubAgentListGet();
51
- TTYGStubs.stubChatGet();
52
- RepositoriesStubs.stubFtsSearchDisabled(repositoryId);
53
- // GIVEN: I have opened the TTYG page
54
- TTYGViewSteps.visit();
55
- cy.wait('@get-chat-list');
56
- cy.wait('@get-agent-list');
57
- cy.wait('@get-chat');
58
- // WHEN: I try to edit an agent that has the FTS extraction method enabled, but FTS is disabled in the repository
59
- TTYGViewSteps.openAgentSettingsModalForAgent(0);
60
-
61
- // THEN: The Save Agent button should be disabled
62
- TtygAgentSettingsModalSteps.getSaveAgentButton().should('be.disabled');
63
- });
64
-
65
- it('should be able to edit Autocomplete extraction method option', () => {
66
- TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-autocomplete-query.json');
67
- // Given I have opened the ttyg page
68
- TTYGViewSteps.visit();
69
- cy.wait('@get-agent-list');
70
- // When I select an agent that don't have activated additional extraction method
71
- TTYGViewSteps.openAgentSettingsModalForAgent(0);
72
-
73
- // Then I expect that the autocomplete iri discovery checkbox is not checked
74
- TtygAgentSettingsModalSteps.getAutocompleteSearchCheckbox().should('not.be.checked');
75
-
76
- // When I check the autocomplete iri discovery checkbox
77
- TtygAgentSettingsModalSteps.checkAutocompleteSearchCheckbox();
78
-
79
- // Then I can set a value for the max results
80
- TtygAgentSettingsModalSteps.setAutocompleteMaxResults(2);
81
-
82
- // When I save the agent
83
- TTYGStubs.stubAgentEdit();
84
- TtygAgentSettingsModalSteps.saveAgent();
85
- cy.wait('@edit-agent').then((interception) => {
86
- const additionalMethod = interception.request.body.additionalExtractionMethods[0];
87
- expect(additionalMethod).to.not.be.undefined;
88
- expect(additionalMethod.method).to.equal('autocomplete_iri_discovery_search');
89
- expect(additionalMethod.limit).to.equal(2);
90
- });
91
- // Then I expect the agent to be saved
92
- ToasterSteps.verifySuccess('The agent \'Test autocomplete extraction agent\' was saved successfully.');
93
- TTYGViewSteps.editCurrentAgent();
94
- TtygAgentSettingsModalSteps.toggleAutocompleteSearchPanel();
95
-
96
- // When: I select a repository with disabled autocomplete
97
- AutocompleteStubs.stubAutocompleteEnabled(false);
98
- TtygAgentSettingsModalSteps.selectRepository('biomarkers');
99
- // Then: I expect to see a disabled message
100
- TtygAgentSettingsModalSteps.getAutocompleteDisabledMessage().should('be.visible');
101
-
102
- // When: I click on the link to enable autocomplete
103
- TtygAgentSettingsModalSteps.clickOnEnableFTSSearch();
104
- // Then: I expect a confirmation dialog displayed.
105
- ModalDialogSteps.getDialogBody().contains('If you proceed with enabling the autocomplete index, GraphDB will open in a new tab and switch to the biomarkers repository.');
106
-
107
- // When: I don't confirm the dialog
108
- ModalDialogSteps.cancelDialogWithBody('If you proceed with enabling the autocomplete index, GraphDB will open in a new tab and switch to the biomarkers repository.');
109
- // Then: I expect the dialog be disappeared and the disabled message still visible
110
- TtygAgentSettingsModalSteps.getAutocompleteDisabledMessage().should('be.visible');
111
- });
112
-
113
- it('should allow copy of External integration configuration', () => {
114
- TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-autocomplete-query.json');
115
- TTYGStubs.getExternalUrl();
116
- // Given I have opened the ttyg page
117
- TTYGViewSteps.visit();
118
- cy.wait('@get-agent-list');
119
- // When I select an agent
120
- TTYGViewSteps.openAgentSettingsModalForAgent(0);
121
-
122
- // Then I should see the External integration configuration button
123
- TtygAgentSettingsModalSteps.getExtIntegrationConfigBtn().should('be.visible');
124
- // When I click the button
125
- TtygAgentSettingsModalSteps.openExtIntegrationConfig();
126
- cy.wait('@external-url');
127
- // The url dialog should open
128
- TtygAgentSettingsModalSteps.getExternalIntegrationModal().should('be.visible');
129
- // The dialog should have all the fields
130
- TtygAgentSettingsModalSteps.getAgentUrlField().invoke('val')
131
- .then((val) => {
132
- expect(val).to.equal('asst_G8EtHyT8kAGeDmCa3Nh6y74v');
133
- });
134
-
135
- TtygAgentSettingsModalSteps.getMethodUrlField().invoke('val')
136
- .then((val) => {
137
- expect(val).to.equal('http://user-pc:7200/rest/llm/tool/ttyg/asst_G8EtHyT8kAGeDmCa3Nh6y74v');
138
- });
139
-
140
- TtygAgentSettingsModalSteps.getDifyUrlField().invoke('val')
141
- .then((val) => {
142
- expect(val).to.equal('http://user-pc:7200/rest/llm/ttyg/asst_G8EtHyT8kAGeDmCa3Nh6y74v/dify');
143
- });
144
- });
145
-
146
- it('should show Context size if not openai-assistants API', () => {
147
- // Open TTYG page and select first agent
148
- TTYGViewSteps.visit();
149
- TTYGStubs.stubForApiType('default');
150
- cy.wait('@get-agent-list');
151
- TTYGViewSteps.openAgentSettingsModalForAgent(0);
152
-
153
- // Then I should see the Context size field
154
- TtygAgentSettingsModalSteps.getContextSizeField().should('be.visible');
155
- // When I clear the value
156
- TtygAgentSettingsModalSteps.clearContextSize();
157
- // And click another field
158
- TtygAgentSettingsModalSteps.clickLLMModelField();
159
- // Then the error for required should appear
160
- TtygAgentSettingsModalSteps.getContextSizeError().should('be.visible');
161
- // When I type a value
162
- TtygAgentSettingsModalSteps.enterContextSize('120000');
163
- // Then the error disappears
164
- TtygAgentSettingsModalSteps.getContextSizeError().should('not.exist');
165
- // I should be allowed to reset the value of the Context size
166
- TtygAgentSettingsModalSteps.resetContextSizeValue();
167
- });
168
-
169
- it('should NOT show Context size if openai-assistants API', () => {
170
- // Open TTYG page and select first agent
171
- TTYGViewSteps.visit();
172
- TTYGStubs.stubForApiType('assistants');
173
- cy.wait('@get-agent-list');
174
- TTYGViewSteps.openAgentSettingsModalForAgent(0);
175
- // Then I should see the Context size field
176
- TtygAgentSettingsModalSteps.getContextSizeField().should('not.exist');
177
- });
178
- });
@@ -1,46 +0,0 @@
1
- import {TTYGViewSteps} from "../../steps/ttyg/ttyg-view-steps";
2
- import {MainMenuSteps} from "../../steps/main-menu-steps";
3
- import HomeSteps from "../../steps/home-steps";
4
- import {TTYGStubs} from "../../stubs/ttyg/ttyg-stubs";
5
-
6
- function verifyStateWithApiKey() {
7
- TTYGViewSteps.getChatListComponent().should('be.visible');
8
- TTYGViewSteps.getChatPanel().should('be.visible');
9
- TTYGViewSteps.getAgentsMenu().should('be.visible');
10
- TTYGViewSteps.getEditCurrentAgentButton().should('be.visible');
11
- TTYGViewSteps.getHelpButton().should('be.visible');
12
- TTYGViewSteps.getCreateAgentButton().should('be.visible');
13
- TTYGViewSteps.getToggleAgentsSidebarButton().should('be.visible');
14
- }
15
-
16
- describe('TTYG initial state with API key', () => {
17
- let repositoryId;
18
-
19
- beforeEach(() => {
20
- repositoryId = 'ttyg-api-key-init-' + Date.now();
21
- cy.createRepository({id: repositoryId});
22
- cy.presetRepository(repositoryId);
23
- TTYGStubs.stubAgentListGet();
24
- TTYGStubs.stubChatsListGet();
25
- TTYGStubs.stubChatGet();
26
- });
27
-
28
- afterEach(() => {
29
- cy.deleteRepository(repositoryId);
30
- });
31
-
32
- it('Should display the correct initial state when navigating via URL', () => {
33
- // Given, I visit the TTYG page via URL
34
- TTYGViewSteps.visit();
35
- // Then,
36
- verifyStateWithApiKey();
37
- });
38
-
39
- it('Should display the correct initial state when navigating via the navigation menu', () => {
40
- // Given, I visit the TTYG page via the navigation menu
41
- HomeSteps.visit();
42
- MainMenuSteps.clickOnTTYG();
43
- // Then,
44
- verifyStateWithApiKey();
45
- });
46
- });
@@ -1,45 +0,0 @@
1
- import {TTYGViewSteps} from "../../steps/ttyg/ttyg-view-steps";
2
- import {MainMenuSteps} from "../../steps/main-menu-steps";
3
- import HomeSteps from "../../steps/home-steps";
4
-
5
- function verifyStateWithSelectedRepository() {
6
- TTYGViewSteps.getNoAgentsView().should('be.visible');
7
- TTYGViewSteps.getCreateFirstAgentButton().should('be.visible');
8
- TTYGViewSteps.getTtygInfoMessage().should('be.visible');
9
- TTYGViewSteps.getTtygagentMessage().should('be.visible');
10
- TTYGViewSteps.getApiKeyMessage().should('be.visible');
11
- TTYGViewSteps.getMissingApiKeyToastMessage()
12
- .should('be.visible')
13
- .and('contain', 'Set the config property \'graphdb.llm.api-key\' to your LLM API key');
14
- }
15
-
16
- // TODO: skipped until BE releases an updated version with the new API key.
17
- // https://graphwise.atlassian.net/browse/GDB-12738
18
- describe.skip('TTYG initial state with selected repository', () => {
19
- let repositoryId;
20
-
21
- beforeEach(() => {
22
- repositoryId = 'ttyg-init-' + Date.now();
23
- cy.createRepository({id: repositoryId});
24
- cy.presetRepository(repositoryId);
25
- });
26
-
27
- afterEach(() => {
28
- cy.deleteRepository(repositoryId);
29
- });
30
-
31
- it('Should display the correct initial state when navigating via URL', () => {
32
- // Given, I visit the TTYG page via URL with a repository selected
33
- TTYGViewSteps.visit();
34
- // Then,
35
- verifyStateWithSelectedRepository();
36
- });
37
-
38
- it('Should display the correct initial state when navigating via the navigation menu', () => {
39
- // Given, I visit the TTYG page via the navigation menu with a repository selected
40
- HomeSteps.visit();
41
- MainMenuSteps.clickOnTTYG();
42
- // Then,
43
- verifyStateWithSelectedRepository();
44
- });
45
- });
@@ -1,21 +0,0 @@
1
- import {MainMenuSteps} from "../../steps/main-menu-steps";
2
- import HomeSteps from "../../steps/home-steps";
3
- import {TTYGViewSteps} from "../../steps/ttyg/ttyg-view-steps";
4
- import {ErrorSteps} from "../../steps/error-steps";
5
-
6
- describe('TTYG initial state without selected repository', () => {
7
- it('Should display the correct initial state when navigating via URL', () => {
8
- // Given, I visit the TTYG page via URL without a repository selected
9
- TTYGViewSteps.visit();
10
- // Then,
11
- ErrorSteps.verifyNoConnectedRepoMessage();
12
- });
13
-
14
- it('Should display the correct initial state when navigating via the navigation menu', () => {
15
- // Given, I visit the TTYG page via the navigation menu without a repository selected
16
- HomeSteps.visit();
17
- MainMenuSteps.clickOnTTYG();
18
- // Then,
19
- ErrorSteps.verifyNoConnectedRepoMessage();
20
- });
21
- });