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.
- package/Dockerfile +11 -0
- package/cypress-flaky.config.js +6 -20
- package/cypress.config.js +6 -45
- package/fixtures/locale-en.json +3342 -0
- package/fixtures/ttyg/agent/get-agent-defaults.json +2 -9
- package/fixtures/ttyg/chats/ask-question.json +2 -12
- package/fixtures/ttyg/chats/create/create-chat-response.json +14 -10
- package/fixtures/ttyg/chats/explain-response-1.json +48 -2
- package/fixtures/ttyg/chats/get-chat.json +1 -6
- package/{e2e-legacy → integration}/cluster/cluster-states.spec.js +3 -3
- package/{e2e-legacy/explore/class-hierarchy → integration/explore}/class.hierarchy.spec.js +1 -1
- package/{e2e-legacy/explore/class-relationships/class-relationships.spec.js → integration/explore/class.relationships.spec.js} +50 -20
- package/{e2e-legacy/explore/graphs-overview → integration/explore}/graphs.overview.spec.js +4 -4
- package/integration/explore/similarity-index/similarity-index-create.spec.js +333 -0
- package/integration/explore/similarity-index/similarity-index.spec.js +88 -0
- package/integration/explore/similarity-index/similarity.spec.js +628 -0
- package/{e2e-legacy → integration}/explore/visual-graph/graphs-config.spec.js +10 -5
- package/{e2e-legacy → integration}/explore/visual-graph/visual-graph-node-labels.spec.js +2 -14
- package/{e2e-legacy → integration}/explore/visual-graph/visual.graph.spec.js +96 -75
- package/{e2e-legacy → integration}/graphql/create-graphql-endpoint.spec.js +2 -0
- package/{e2e-legacy → integration}/graphql/edit-graphql-enpoint.spec.js +1 -1
- package/{e2e-legacy → integration}/graphql/filter-graphql-endpoints-on-management-view.spec.js +1 -1
- package/{e2e-legacy → integration}/graphql/graphql-endpoint-management-view.spec.js +4 -4
- package/{e2e-legacy → integration}/graphql/graphql-playground.spec.js +1 -1
- package/{e2e-legacy → integration}/graphql/import-graphql-endpoint-definitions.spec.js +6 -0
- package/integration/guides/movies-interactive-guide.spec.js +73 -0
- package/{e2e-legacy/help/guides/star-wars-interactive-guide.spec.js → integration/guides/star-wars-interactive-guide.js} +2 -3
- package/integration/home/cookie-policy.spec.js +90 -0
- package/integration/home/documentation-link.spec.js +60 -0
- package/{e2e-legacy → integration}/home/google-analytics.spec.js +6 -4
- package/{e2e-legacy → integration}/home/language-change.spec.js +2 -2
- package/integration/home/language-selector.spec.js +19 -0
- package/integration/home/rdf-resource-search.spec.js +177 -0
- package/integration/home/view-resource-autocomplete.spec.js +52 -0
- package/integration/home/workbench.home.spec.js +30 -0
- package/{e2e-legacy → integration}/import/import-server-files.spec.js +3 -5
- package/{e2e-legacy → integration}/import/import-user-data-file-upload.spec.js +13 -19
- package/{e2e-legacy → integration}/import/import-user-data-text-snippet.spec.js +2 -0
- package/{e2e-legacy → integration}/import/import-user-data-url.spec.js +23 -0
- package/{e2e-legacy → integration}/import/import-user-data.spec.js +4 -11
- package/{e2e-legacy → integration}/license/license.spec.js +4 -4
- package/{e2e-legacy → integration}/monitor/global-operation-statuses-component.spec.js +5 -12
- package/{e2e-legacy/monitor/backup-and-restore/backup-and-restore.spec.js → integration/monitor/monitor.backup-and-restore.spec.js} +2 -2
- package/integration/monitor/monitor.queries.spec.js +31 -0
- package/{e2e-legacy/monitor/system → integration/monitor}/monitor.resources.spec.js +2 -3
- package/{e2e-legacy → integration}/repository/ontop-repository.spec.js +1 -1
- package/{e2e-legacy → integration}/repository/repositories.spec.js +45 -37
- package/{e2e-legacy → integration}/resource/resource.spec.js +7 -17
- package/{e2e-legacy → integration}/setup/aclmanagement/create-rule.spec.js +0 -4
- package/{e2e-legacy/setup/autocomplete → integration/setup}/autocomplete.spec.js +7 -6
- package/{e2e-legacy → integration}/setup/connectors-lucene.spec.js +10 -26
- package/{e2e-legacy → integration}/setup/jdbc/jdbc-create.spec.js +4 -4
- package/integration/setup/my-settings.spec.js +289 -0
- package/{e2e-legacy/setup/namespaces → integration/setup}/namespaces.spec.js +5 -6
- package/{e2e-legacy/setup/plugins → integration/setup}/plugins.spec.js +3 -3
- package/{e2e-legacy/setup/rdf-rank → integration/setup}/rdf-rank.spec.js +5 -3
- package/{e2e-legacy/setup/sparql-template/sparql-template-create.spec.js → integration/setup/sparql-template-create.js} +8 -16
- package/{e2e-legacy/setup/sparql-template → integration/setup}/sparql-templates.spec.js +4 -4
- package/{e2e-legacy/setup/users-and-access → integration/setup}/user-and-access.spec.js +87 -184
- package/{e2e-legacy → integration}/sparql-editor/actions/expand-results-over-sameas.spec.js +12 -12
- package/{e2e-legacy → integration}/sparql-editor/actions/include-inferred-statements.spec.js +6 -6
- package/{e2e-legacy → integration}/sparql-editor/actions/inferred-sameas.spec.js +8 -10
- package/{e2e-legacy → integration}/sparql-editor/actions/show-saved-queries.spec.js +6 -1
- package/{e2e-legacy → integration}/sparql-editor/saved-query/abort-query.spec.js +1 -1
- package/{e2e-legacy → integration}/sparql-editor/saved-query/edit-query.spec.js +3 -3
- package/{e2e-legacy → integration}/sparql-editor/saved-query/readonly-query.spec.js +24 -15
- package/{e2e-legacy → integration}/sparql-editor/saved-query/share-query.spec.js +1 -32
- package/{e2e-legacy → integration}/sparql-editor/yasgui-tabs.spec.js +12 -2
- package/{e2e-legacy → integration}/sparql-editor/yasr/pagination.spec.js +18 -5
- package/{e2e-legacy → integration}/sparql-editor/yasr/table-plugin.spec.js +6 -1
- package/integration/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +57 -0
- package/{e2e-legacy → integration}/ttyg/agent-list.spec.js +2 -53
- package/{e2e-legacy → integration}/ttyg/agent-select-menu.spec.js +2 -25
- package/{e2e-legacy → integration}/ttyg/chat-list.spec.js +14 -3
- package/{e2e-legacy → integration}/ttyg/chat-panel.spec.js +6 -74
- package/{e2e-legacy → integration}/ttyg/clone-agent.spec.js +2 -24
- package/{e2e-legacy → integration}/ttyg/create-agent.spec.js +66 -37
- package/{e2e-legacy → integration}/ttyg/create-chat.spec.js +4 -6
- package/{e2e-legacy → integration}/ttyg/delete-agent.spec.js +2 -1
- package/integration/ttyg/edit-agent.spec.js +99 -0
- package/{e2e-legacy → integration}/ttyg/ttyg-view.spec.js +2 -2
- package/{e2e-flaky → integration-flaky}/explore/visual.graph.spec.js +1 -4
- package/{e2e-flaky → integration-flaky}/import/import-server-files-operations.spec.js +2 -2
- package/{e2e-flaky → integration-flaky}/import/import-user-data-batch-operations.spec.js +3 -3
- package/{e2e-flaky → integration-flaky}/setup/sparql-template-create.js +18 -10
- package/integration-flaky/setup/users-and-access/security-and-free-access.spec.js +54 -0
- package/{e2e-flaky → integration-flaky}/sparql-editor/actions/execute-update-query.spec.js +12 -2
- package/{e2e-flaky → integration-flaky}/sparql-editor/actions/share-query.spec.js +7 -1
- package/{e2e-flaky → integration-flaky}/sparql-editor/yasr/table-plugin.spec.js +7 -3
- package/{e2e-legacy → integration-flaky}/ttyg/ttyg-permission.spec.js +17 -23
- package/npm-shrinkwrap.json +3815 -11004
- package/package.json +42 -58
- package/plugins/index.js +5 -10
- package/steps/application-steps.js +6 -8
- package/steps/class-views-steps.js +7 -35
- package/steps/cluster/cluster-page-steps.js +2 -12
- package/steps/error-steps.js +3 -15
- package/steps/explore/graphs-overview-steps.js +1 -21
- package/steps/explore/similarity-index-create-steps.js +3 -5
- package/steps/explore/similarity-indexes-steps.js +2 -16
- package/steps/graphql/graphql-endpoint-management-steps.js +2 -2
- package/steps/guides/guide-dialog-steps.js +2 -81
- package/steps/guides/guide-steps.js +2 -54
- package/steps/home-steps.js +77 -184
- package/steps/import/import-resource-message-dialog.js +1 -1
- package/steps/import/import-steps.js +16 -12
- package/steps/import/import-user-data-steps.js +1 -5
- package/steps/language-selector-steps.js +2 -2
- package/steps/license-steps.js +9 -91
- package/steps/login-steps.js +6 -31
- package/steps/main-menu-steps.js +19 -244
- package/steps/modal-dialog-steps.js +1 -32
- package/steps/monitoring/backup-and-restore-steps.js +3 -9
- package/steps/operations-statuses-component-steps.js +10 -5
- package/steps/repository-selector-steps.js +3 -3
- package/steps/repository-steps.js +18 -64
- package/steps/resource/resource-steps.js +2 -6
- package/steps/setup/acl-management-steps.js +2 -6
- package/steps/setup/autocomplete-steps.js +8 -23
- package/steps/setup/jdbc-steps.js +4 -18
- package/steps/setup/namespace-steps.js +7 -10
- package/steps/setup/plugins-steps.js +5 -12
- package/steps/setup/rdf-rank-steps.js +9 -23
- package/steps/setup/settings-steps.js +2 -101
- package/steps/setup/sparql-templates-steps.js +1 -19
- package/steps/setup/user-and-access-steps.js +16 -50
- package/steps/sparql-editor-steps.js +2 -8
- package/steps/sparql-steps.js +1 -13
- package/steps/toaster-steps.js +6 -18
- package/steps/ttyg/chat-panel-steps.js +2 -40
- package/steps/ttyg/ttyg-agent-settings-modal.steps.js +31 -136
- package/steps/ttyg/ttyg-view-steps.js +10 -80
- package/steps/visual-graph-steps.js +10 -106
- package/steps/yasgui/yasgui-loader.js +3 -3
- package/steps/yasgui/yasgui-steps.js +1 -1
- package/steps/yasgui/yasqe-steps.js +4 -35
- package/steps/yasgui/yasr-steps.js +3 -73
- package/stubs/autocomplete/autocomplete-stubs.js +0 -7
- package/stubs/environment-stubs.js +1 -9
- package/stubs/license-stubs.js +0 -51
- package/stubs/repositories/repositories-stubs.js +75 -180
- package/stubs/repositories-stub.js +73 -0
- package/stubs/security-stubs.js +0 -12
- package/stubs/similarity-index-stubs.js +0 -4
- package/stubs/ttyg/ttyg-stubs.js +15 -64
- package/stubs/yasgui/query-stubs.js +1 -5
- package/support/commands.js +1 -22
- package/support/{e2e.js → index.js} +3 -9
- package/support/repository-commands.js +4 -29
- package/support/settings-commands.js +1 -33
- package/support/user-commands.js +4 -9
- package/utils/html-util.js +4 -24
- package/.editorconfig +0 -17
- package/.nycrc +0 -10
- package/cypress-legacy.config.js +0 -47
- package/cypress-security.config.js +0 -36
- package/e2e-flaky/import/import-user-data-url.spec.js +0 -63
- package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository-without-class-hierarchy.spec.js +0 -42
- package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository.spec.js +0 -43
- package/e2e-legacy/explore/class-hierarchy/class-hierarchy-without-selected-repository.spec.js +0 -30
- package/e2e-legacy/explore/class-relationships/class-relationships-repository-with-data.spec.js +0 -42
- package/e2e-legacy/explore/class-relationships/class-relationships-with-selected-repository.spec.js +0 -39
- package/e2e-legacy/explore/class-relationships/class-relationships-without-selected-repository.spec.js +0 -21
- package/e2e-legacy/explore/graphs-overview/initial-state/graphs-overview-with-selected-repository.spec.js +0 -44
- package/e2e-legacy/explore/graphs-overview/initial-state/graphs-overview-without-selected-repository.spec.js +0 -32
- package/e2e-legacy/explore/similarity-index/similarity-index-with-repository.spec.js +0 -38
- package/e2e-legacy/explore/similarity-index/similarity-index-without-repository.spec.js +0 -21
- package/e2e-legacy/explore/visual-graph/node-info-panel.spec.js +0 -58
- package/e2e-legacy/explore/visual-graph/visual-graph-links-limit.spec.js +0 -140
- package/e2e-legacy/explore/visual-graph/visual-graph-with-selected-repository.js +0 -38
- package/e2e-legacy/explore/visual-graph/visual-graph-without-selected-repository.js +0 -21
- package/e2e-legacy/graphql/graphql-endpoint-management-with-endpoints.spec.js +0 -43
- package/e2e-legacy/graphql/graphql-endpoint-management-with-selected-repository.spec.js +0 -39
- package/e2e-legacy/graphql/graphql-endpoint-management-without-selected-repository.spec.js +0 -21
- package/e2e-legacy/graphql/graphql-playground-with-endpoints.spec.js +0 -40
- package/e2e-legacy/graphql/graphql-playground-with-selected-repository.spec.js +0 -38
- package/e2e-legacy/graphql/graphql-playground-without-selected-repository.spec.js +0 -22
- package/e2e-legacy/graphql/graphql-theme.spec.js +0 -73
- package/e2e-legacy/guides/autocomplete/enable-autocomplete-guide.spec.js +0 -49
- package/e2e-legacy/guides/class-hierarcy/class-hierarchy-guide.spec.js +0 -89
- package/e2e-legacy/guides/class-relations/class-relations-guide.spec.js +0 -76
- package/e2e-legacy/guides/connectors/connectors-guide.spec.js +0 -163
- package/e2e-legacy/guides/create-similarity-index/create-similarity-index-guide.spec.js +0 -74
- package/e2e-legacy/guides/download-guide-resource/download-guide-resource-guide.js +0 -55
- package/e2e-legacy/guides/execute-sparql-query/execute-sparql-query-guide.spec.js +0 -92
- package/e2e-legacy/guides/import-rdf-file/confirm-duplicate-rdf-file.spec.js +0 -63
- package/e2e-legacy/guides/import-rdf-file/import-rdf-file.spec.js +0 -105
- package/e2e-legacy/guides/main-menu/main-menu-guide.spec.js +0 -302
- package/e2e-legacy/guides/navigation/navigation-guide.spec.js +0 -64
- package/e2e-legacy/guides/rdf-rank/rdf-rank-guide.spec.js +0 -42
- package/e2e-legacy/guides/repositories/create-repository-guide.spec.js +0 -69
- package/e2e-legacy/guides/table-graph-explore/table-graph-explore-guide.spec.js +0 -167
- package/e2e-legacy/guides/ttyg/configure-agent/configure-agent-guide.spec.js +0 -157
- package/e2e-legacy/guides/ttyg/conversation/ttyg-conversation-guide.spec.js +0 -92
- package/e2e-legacy/guides/ttyg/edit-agent/edit-ttyg-agent-guide.spec.js +0 -88
- package/e2e-legacy/guides/visual-graph/visual-graph-guide.spec.js +0 -372
- package/e2e-legacy/guides/welcome/welcome-guide.spec.js +0 -36
- package/e2e-legacy/help/guides/guides-autostart.spec.js +0 -126
- package/e2e-legacy/help/guides/guides-confirm-cancel-dialog.js +0 -83
- package/e2e-legacy/help/guides/guides-with-repository.spec.js +0 -32
- package/e2e-legacy/help/guides/guides-without-repository.spec.js +0 -20
- package/e2e-legacy/help/guides/movies-interactive-guide.spec.js +0 -71
- package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-with-repository.spec.js +0 -32
- package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-without-repository.spec.js +0 -20
- package/e2e-legacy/help/system-information/system-information-with-repository.spec.js +0 -32
- package/e2e-legacy/help/system-information/system-information-without-repository.spec.js +0 -20
- package/e2e-legacy/home/cookie-policy/cookie-policy.spec.js +0 -182
- package/e2e-legacy/home/documentation-link.spec.js +0 -41
- package/e2e-legacy/home/home-page-with-selected-repository.spec.js +0 -69
- package/e2e-legacy/home/home-page-without-repositories.spec.js +0 -87
- package/e2e-legacy/home/home-page-without-selected-repository.spec.js +0 -59
- package/e2e-legacy/home/rdf-resource-search.spec.js +0 -160
- package/e2e-legacy/home/view-resource-autocomplete.spec.js +0 -65
- package/e2e-legacy/import/initial-state/import-page-with-selected-repositor.js +0 -51
- package/e2e-legacy/import/initial-state/import-page-with-selected-repository-without-imported-files.js +0 -45
- package/e2e-legacy/import/initial-state/import-page-without-selected-repository.spec.js +0 -28
- package/e2e-legacy/license/license-with-repository.spec.js +0 -113
- package/e2e-legacy/license/license-without-repository.spec.js +0 -103
- package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-with-repository.spec.js +0 -36
- package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-without-repository.spec.js +0 -25
- package/e2e-legacy/monitor/query-and-updates/queries-and-updates-with-repository.spec.js +0 -39
- package/e2e-legacy/monitor/query-and-updates/queries-and-updates-without-repository.spec.js +0 -21
- package/e2e-legacy/monitor/system/system-monitoring-with-repository.spec.js +0 -32
- package/e2e-legacy/monitor/system/system-monitoring-without-repository.spec.js +0 -20
- package/e2e-legacy/not-found/not-found.spec.js +0 -23
- package/e2e-legacy/repository/url-with-repository-id-parameter.spec.js +0 -181
- package/e2e-legacy/setup/aclmanagement/acl-management-with-selected repository.spec.js +0 -40
- package/e2e-legacy/setup/aclmanagement/acl-management-without-repositories.spec.js +0 -21
- package/e2e-legacy/setup/autocomplete/autocomplete-with-repository.spec.js +0 -40
- package/e2e-legacy/setup/autocomplete/autocomplete-without-repository.spec.js +0 -27
- package/e2e-legacy/setup/cluster/cluster-initial-state-with-cluster.spec.js +0 -34
- package/e2e-legacy/setup/cluster/cluster-initial-state-without-cluster.spec.js +0 -25
- package/e2e-legacy/setup/connectors/connectors-initial-state-with-selected-repository.spec.js +0 -41
- package/e2e-legacy/setup/connectors/connectors-initial-state-without-repositories.spec.js +0 -21
- package/e2e-legacy/setup/jdbc/jdbc-with-repository.spec.js +0 -39
- package/e2e-legacy/setup/jdbc/jdbc-without-repository.spec.js +0 -27
- package/e2e-legacy/setup/namespaces/namespaces-with-repository.spec.js +0 -44
- package/e2e-legacy/setup/namespaces/namespaces-without-repository.spec.js +0 -27
- package/e2e-legacy/setup/plugins/plugins-with-repository.spec.js +0 -38
- package/e2e-legacy/setup/plugins/plugins-without-repository.spec.js +0 -28
- package/e2e-legacy/setup/rdf-rank/rdf-rank-with-repository.spec.js +0 -40
- package/e2e-legacy/setup/rdf-rank/rdf-rank-without-repository.spec.js +0 -30
- package/e2e-legacy/setup/repositories/repositories-view-with-repositories.spec.js +0 -40
- package/e2e-legacy/setup/repositories/repositories-view-without-repositories.spec.js +0 -28
- package/e2e-legacy/setup/settings/my-settings-initial-state.spec.js +0 -86
- package/e2e-legacy/setup/settings/my-settings.spec.js +0 -207
- package/e2e-legacy/setup/sparql-template/sparql-template-with-repository.spec.js +0 -39
- package/e2e-legacy/setup/sparql-template/sparql-template-without-repository.spec.js +0 -29
- package/e2e-legacy/setup/users-and-access/users-and-access-initial-state.spec.js +0 -25
- package/e2e-legacy/sparql-editor/sparql-page-with-selected-repository.spec.js +0 -33
- package/e2e-legacy/sparql-editor/sparql-page-without-selected-repository.spec.js +0 -26
- package/e2e-legacy/sparql-editor/yasqe-themes.spec.js +0 -54
- package/e2e-legacy/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +0 -106
- package/e2e-legacy/sparql-editor/yasr/yasr.spec.js +0 -80
- package/e2e-legacy/ttyg/edit-agent.spec.js +0 -178
- package/e2e-legacy/ttyg/ttyg-initial-state-with-configured-api-key.spec.js +0 -46
- package/e2e-legacy/ttyg/ttyg-initial-state-with-selected-repository.spec.js +0 -45
- package/e2e-legacy/ttyg/ttyg-initial-state-without-repositories.spec.js +0 -21
- package/e2e-security/repository/url-with-repository-id-parameter.spec.js +0 -57
- package/e2e-security/setup/home/cookie-policy.spec.js +0 -290
- package/e2e-security/setup/users-and-access/create-user-permissions.spec.js +0 -193
- package/e2e-security/setup/users-and-access/graphql-user.spec.js +0 -126
- package/e2e-security/setup/users-and-access/repo-admin-role.spec.js +0 -70
- package/e2e-security/setup/users-and-access/turn-on-security-and-password-change.spec.js +0 -99
- package/e2e-security/setup/users-and-access/user-and-access.spec.js +0 -87
- package/e2e-security/setup/users-and-access/users-and-access-initial-state.spec.js +0 -38
- package/eslint.config.js +0 -39
- package/fixtures/graph/graph-configurations.json +0 -59
- package/fixtures/guides/autocomplete/enable-autocomplete-guide.json +0 -12
- package/fixtures/guides/class-hierarchy/class-hierarchy-guide.json +0 -35
- package/fixtures/guides/class-relations/class-relations-guide.json +0 -33
- package/fixtures/guides/confirm-cancel-dialog/confirm-cancel-dialog-guide.json +0 -15
- package/fixtures/guides/connectors/connectors-guide.json +0 -66
- package/fixtures/guides/connectors/lucene-connector-guide.json +0 -120
- package/fixtures/guides/create-repository/create-repository-guide.json +0 -25
- package/fixtures/guides/create-similarity-index/create-similarity-index-guide.json +0 -36
- package/fixtures/guides/download-guide-resource/download-guide-resource-guide.json +0 -25
- package/fixtures/guides/download-resource.ttl +0 -629
- package/fixtures/guides/execute-sparql-query/execute-sparql-query-guide.json +0 -54
- package/fixtures/guides/import-rdf-file/confirm-duplicate-rdf-file-guide.json +0 -30
- package/fixtures/guides/import-rdf-file/import-rdf-file-guide.json +0 -21
- package/fixtures/guides/main-menu/main-menu-guide.json +0 -98
- package/fixtures/guides/navigation/navigation-guide.json +0 -60
- package/fixtures/guides/rdf-rank/rdf-rank-guide.json +0 -18
- package/fixtures/guides/table-graph-explore/table-graph-explore-guide.json +0 -51
- package/fixtures/guides/table-graph-explore/table-graph-explore-without-substeps-guide.json +0 -25
- package/fixtures/guides/ttyg/configure-agent/configure-ttyg-agent-guide.json +0 -74
- package/fixtures/guides/ttyg/conversation/ttyg-conversation-guide.json +0 -26
- package/fixtures/guides/ttyg/edit-ttyg-agent/edit-ttyg-agent-guide.json +0 -22
- package/fixtures/guides/visual-graph/visual-graph-config-guide.json +0 -39
- package/fixtures/guides/visual-graph/visual-graph-guide.json +0 -85
- package/fixtures/guides/welcome/welcome-guide.json +0 -18
- package/fixtures/repositories/free-access.json +0 -13
- package/fixtures/similarity/get-ttyg-similarity-instances.json +0 -10
- package/fixtures/ttyg/agent/get-agent-defaults-assistant-api.json +0 -44
- package/fixtures/ttyg/agent/get-agent-list-with-incompatible-agents.json +0 -79
- package/fixtures/ttyg/agent/get-similarity-indexes-for-another-repo.json +0 -8
- package/fixtures/ttyg/agent/get-similarity-indexes.json +0 -22
- package/fixtures/ttyg/chats/ask-question-cancel.json +0 -12
- package/fixtures/ttyg/chats/cancel-question-response.json +0 -1
- package/fixtures/ttyg/chats/create/question-response-after-chat-creation.json +0 -29
- package/fixtures/ttyg/chats/explain-response-3.json +0 -12
- package/steps/base-steps.js +0 -29
- package/steps/cookie-policy/cookie-consent-banner-steps.js +0 -21
- package/steps/cookie-policy/cookie-policy-modal.steps.js +0 -56
- package/steps/error-page-steps.js +0 -9
- package/steps/explore/class-relationships-steps.js +0 -64
- package/steps/graphql/playground-editor-steps.js +0 -46
- package/steps/header-steps.js +0 -22
- package/steps/monitoring/queries-and-updates-steps.js +0 -20
- package/steps/monitoring/system-monitoring-steps.js +0 -40
- package/steps/not-found/not-found-steps.js +0 -23
- package/steps/rdf-resource-search-steps.js +0 -55
- package/steps/rest-api-documentation-steps.js +0 -15
- package/steps/setup/connectors-steps.js +0 -32
- package/steps/shared-modal-dialog-steps.js +0 -45
- package/steps/system-information-steps.js +0 -70
- package/steps/widgets/active-repository-widget-steps.js +0 -29
- package/steps/widgets/license-widget-steps.js +0 -9
- package/steps/widgets/repository-errors-widget-steps.js +0 -21
- package/steps/widgets/saved-sparql-queries-widget-steps.js +0 -9
- package/stubs/browser-stubs.js +0 -21
- package/stubs/graph-config-stubs.js +0 -17
- package/stubs/guides/guides-stubs.js +0 -103
- package/stubs/saved-queries-stubs.js +0 -5
- package/stubs/sparql-stubs.js +0 -10
- package/support/connector-commands.js +0 -13
- package/support/e2e-security.js +0 -9
- package/support/url-commands.js +0 -13
- package/{e2e-legacy → integration}/cluster/cluster-configuration/cluster-configuration-multi-region.spec.js +0 -0
- package/{e2e-legacy → integration}/cluster/cluster-configuration/cluster-configuration-nodes.spec.js +0 -0
- package/{e2e-legacy → integration}/cluster/cluster-configuration/cluster-configuration-properties.spec.js +0 -0
- package/{e2e-legacy → integration}/cluster/cluster-configuration/cluster-configuration.spec.js +0 -0
- package/{e2e-legacy → integration}/cluster/cluster-legend.spec.js +0 -0
- package/{e2e-legacy → integration}/cluster/edit-cluster-nodes-modal.spec.js +0 -0
- package/{e2e-legacy → integration}/graphql/activate-deactivate-graphql-endpoint.spec.js +0 -0
- package/{e2e-legacy → integration}/graphql/delete-graphql-endpoint.spec.js +0 -0
- package/{e2e-legacy → integration}/graphql/export-graphql-endpoint-definition.spec.js +0 -0
- package/{e2e-legacy → integration}/graphql/set-default-graphql-endpoint.spec.js +0 -0
- package/{e2e-legacy/help/system-information → integration/help}/system-information.spec.js +0 -0
- package/{e2e-legacy → integration}/home/create-repository.spec.js +0 -0
- package/{e2e-legacy → integration}/import/import-server-files-batch-operations.spec.js +0 -0
- package/{e2e-legacy → integration}/import/import-user-data-settings-dialog.spec.js +0 -0
- package/{e2e-legacy → integration}/import/import-view.spec.js +0 -0
- package/{e2e-legacy → integration}/repository/attach-remote-location.spec.js +1 -1
- /package/{e2e-legacy → integration}/repository/repository-commands.spec.js +0 -0
- /package/{e2e-legacy → integration}/setup/aclmanagement/delete-rule.spec.js +0 -0
- /package/{e2e-legacy → integration}/setup/aclmanagement/edit-rule.spec.js +0 -0
- /package/{e2e-legacy → integration}/setup/aclmanagement/render-rules.spec.js +0 -0
- /package/{e2e-legacy → integration}/setup/aclmanagement/reorder-rules.spec.js +0 -0
- /package/{e2e-legacy → integration}/setup/aclmanagement/revert-rules.spec.js +0 -0
- /package/{e2e-legacy → integration}/setup/aclmanagement/scopes.spec.js +0 -0
- /package/{e2e-legacy → integration}/setup/aclmanagement/update-rules.spec.js +0 -0
- /package/{e2e-legacy → integration}/setup/jdbc/jdbc.spec.js +0 -0
- /package/{e2e-legacy → integration}/sparql-editor/actions/execute-query.spec.js +0 -0
- /package/{e2e-legacy → integration}/sparql-editor/actions/save-query.spec.js +0 -0
- /package/{e2e-legacy → integration}/sparql-editor/internationalization.spec.js +0 -0
- /package/{e2e-legacy → integration}/sparql-editor/saved-query/delete-query.spec.js +0 -0
- /package/{e2e-legacy → integration}/sparql-editor/sparql-editor.spec.js +0 -0
- /package/{e2e-legacy → integration}/sparql-editor/yasr/download-as.spec.js +0 -0
- /package/{e2e-flaky → integration-flaky}/import/import.server.files.spec.js +0 -0
- /package/{e2e-flaky → integration-flaky}/sparql-editor/lucene-connector.spec.js +0 -0
- /package/{e2e-flaky → integration-flaky}/sparql-editor/plugins/error-plugin.spec.js +0 -0
|
@@ -2,6 +2,7 @@ import {TTYGViewSteps} from "../../steps/ttyg/ttyg-view-steps";
|
|
|
2
2
|
import {TTYGStubs} from "../../stubs/ttyg/ttyg-stubs";
|
|
3
3
|
import {RepositoriesStubs} from "../../stubs/repositories/repositories-stubs";
|
|
4
4
|
import {ModalDialogSteps} from "../../steps/modal-dialog-steps";
|
|
5
|
+
import {RepositoriesStub} from "../../stubs/repositories-stub";
|
|
5
6
|
|
|
6
7
|
describe('TTYG agent select menu', () => {
|
|
7
8
|
|
|
@@ -9,7 +10,7 @@ describe('TTYG agent select menu', () => {
|
|
|
9
10
|
|
|
10
11
|
beforeEach(() => {
|
|
11
12
|
RepositoriesStubs.stubRepositories(0, '/repositories/get-ttyg-repositories.json');
|
|
12
|
-
|
|
13
|
+
RepositoriesStub.stubBaseEndpoints(repositoryId);
|
|
13
14
|
cy.presetRepository(repositoryId);
|
|
14
15
|
TTYGStubs.stubChatsListGetNoResults();
|
|
15
16
|
});
|
|
@@ -28,30 +29,6 @@ describe('TTYG agent select menu', () => {
|
|
|
28
29
|
]);
|
|
29
30
|
});
|
|
30
31
|
|
|
31
|
-
it('should not allow selecting an incompatible agent from the menu', () => {
|
|
32
|
-
TTYGStubs.stubAgentListWithIncompatibleGet();
|
|
33
|
-
// Given: I have opened the ttyg page
|
|
34
|
-
TTYGViewSteps.visit();
|
|
35
|
-
// And: The agent dropdown menu is not visible
|
|
36
|
-
TTYGViewSteps.getAgentsDropdownMenu().should('not.be.visible');
|
|
37
|
-
// And: The first agent is selected
|
|
38
|
-
TTYGViewSteps.getAgentsMenuToggleButton().should('contain', 'agent-1');
|
|
39
|
-
|
|
40
|
-
// When: I open the agent selection menu
|
|
41
|
-
TTYGViewSteps.openAgentsMenu();
|
|
42
|
-
// Then: I should see that the first agent is marked as incompatible
|
|
43
|
-
TTYGViewSteps.getAgentFromMenu(0)
|
|
44
|
-
.trigger('mouseover')
|
|
45
|
-
.should('have.css', 'cursor', 'not-allowed');
|
|
46
|
-
|
|
47
|
-
// When: I attempt to select an incompatible agent from the menu
|
|
48
|
-
TTYGViewSteps.selectAgent(0);
|
|
49
|
-
// Then: The incompatible agent should not be selected
|
|
50
|
-
TTYGViewSteps.getAgentsMenuToggleButton().should('contain', 'agent-1');
|
|
51
|
-
// And: The dropdown menu should remain open
|
|
52
|
-
TTYGViewSteps.getAgentsDropdownMenu().should('be.visible');
|
|
53
|
-
});
|
|
54
|
-
|
|
55
32
|
it('Should be able to select agent from the menu', () => {
|
|
56
33
|
TTYGStubs.stubAgentListGet();
|
|
57
34
|
// Given I have opened the ttyg page
|
|
@@ -6,12 +6,13 @@ import {ApplicationSteps} from "../../steps/application-steps";
|
|
|
6
6
|
import HomeSteps from "../../steps/home-steps";
|
|
7
7
|
import {ChatPanelSteps} from "../../steps/ttyg/chat-panel-steps";
|
|
8
8
|
import {AlertDialogSteps} from "../../steps/alert-dialog-steps";
|
|
9
|
+
import {RepositoriesStub} from "../../stubs/repositories-stub";
|
|
9
10
|
|
|
10
11
|
describe('TTYG chat list', () => {
|
|
11
12
|
|
|
12
13
|
beforeEach(() => {
|
|
13
14
|
RepositoriesStubs.stubRepositories(0, '/repositories/get-ttyg-repositories.json');
|
|
14
|
-
|
|
15
|
+
RepositoriesStub.stubBaseEndpoints('starwars');
|
|
15
16
|
cy.presetRepository('starwars');
|
|
16
17
|
});
|
|
17
18
|
|
|
@@ -61,7 +62,12 @@ describe('TTYG chat list', () => {
|
|
|
61
62
|
TTYGViewSteps.getChatByDayGroups().should('have.length', 0);
|
|
62
63
|
});
|
|
63
64
|
|
|
64
|
-
it('Should be able to edit an existing chat name by double click on the chat in the list',
|
|
65
|
+
it('Should be able to edit an existing chat name by double click on the chat in the list', {
|
|
66
|
+
retries: {
|
|
67
|
+
runMode: 1,
|
|
68
|
+
openMode: 0
|
|
69
|
+
}
|
|
70
|
+
}, () => {
|
|
65
71
|
TTYGStubs.stubChatsListGet();
|
|
66
72
|
TTYGStubs.stubChatGet();
|
|
67
73
|
TTYGStubs.stubAgentListGet();
|
|
@@ -85,7 +91,12 @@ describe('TTYG chat list', () => {
|
|
|
85
91
|
TTYGViewSteps.getChatFromGroup(1, 0).should('contain', 'New chat name');
|
|
86
92
|
});
|
|
87
93
|
|
|
88
|
-
it('Should be able to edit an existing chat name through the action menu',
|
|
94
|
+
it('Should be able to edit an existing chat name through the action menu', {
|
|
95
|
+
retries: {
|
|
96
|
+
runMode: 1,
|
|
97
|
+
openMode: 0
|
|
98
|
+
}
|
|
99
|
+
}, () => {
|
|
89
100
|
TTYGStubs.stubChatsListGet();
|
|
90
101
|
TTYGStubs.stubChatGet();
|
|
91
102
|
TTYGStubs.stubAgentListGet();
|
|
@@ -3,15 +3,14 @@ import {TTYGStubs} from "../../stubs/ttyg/ttyg-stubs";
|
|
|
3
3
|
import {TTYGViewSteps} from "../../steps/ttyg/ttyg-view-steps";
|
|
4
4
|
import {ChatPanelSteps} from "../../steps/ttyg/chat-panel-steps";
|
|
5
5
|
import {ApplicationSteps} from "../../steps/application-steps";
|
|
6
|
-
import {
|
|
7
|
-
import {SparqlStubs} from '../../stubs/sparql-stubs.js';
|
|
6
|
+
import {RepositoriesStub} from "../../stubs/repositories-stub";
|
|
8
7
|
|
|
9
8
|
describe('Ttyg ChatPanel', () => {
|
|
10
9
|
|
|
11
10
|
beforeEach(() => {
|
|
12
11
|
// Create an actual repository to prevent stubbing all background requests that are not related to the ttyg view
|
|
13
12
|
RepositoriesStubs.stubRepositories(0, '/repositories/get-ttyg-repositories.json');
|
|
14
|
-
|
|
13
|
+
RepositoriesStub.stubBaseEndpoints('starwars');
|
|
15
14
|
cy.presetRepository('starwars');
|
|
16
15
|
TTYGStubs.stubChatsListGet();
|
|
17
16
|
TTYGStubs.stubAgentListGet();
|
|
@@ -43,7 +42,7 @@ describe('Ttyg ChatPanel', () => {
|
|
|
43
42
|
// When the new question input is empty.
|
|
44
43
|
// The "Ask" button must be disabled.
|
|
45
44
|
ChatPanelSteps.getAskButtonElement().should('be.disabled');
|
|
46
|
-
ChatPanelSteps.getQuestionInputElement().should('
|
|
45
|
+
ChatPanelSteps.getQuestionInputElement().should('be.disabled');
|
|
47
46
|
|
|
48
47
|
// Then I expect the "Ask" button be not active because agent is not selected
|
|
49
48
|
ChatPanelSteps.getAskButtonElement().should('not.be.enabled');
|
|
@@ -55,8 +54,7 @@ describe('Ttyg ChatPanel', () => {
|
|
|
55
54
|
// When I type a question
|
|
56
55
|
ChatPanelSteps.getQuestionInputElement()
|
|
57
56
|
.should('be.visible')
|
|
58
|
-
.and('not.
|
|
59
|
-
ChatPanelSteps.getQuestionInputElement()
|
|
57
|
+
.and('not.be.disabled')
|
|
60
58
|
.type('Who is Han Solo?');
|
|
61
59
|
|
|
62
60
|
// Then I expect the "Ask" button be active.
|
|
@@ -70,22 +68,13 @@ describe('Ttyg ChatPanel', () => {
|
|
|
70
68
|
ChatPanelSteps.getChatDetailsElements().should('have.length', 3);
|
|
71
69
|
ChatPanelSteps.getChatDetailQuestionElement(2).contains('Who is Han Solo?');
|
|
72
70
|
// and input field be empty,
|
|
73
|
-
ChatPanelSteps.getQuestionInputElement().should('
|
|
71
|
+
ChatPanelSteps.getQuestionInputElement().should('be.enabled');
|
|
74
72
|
ChatPanelSteps.getQuestionInputElement().should('have.value', '');
|
|
75
73
|
// and "Ask" button be disabled.
|
|
76
74
|
ChatPanelSteps.getAskButtonElement().should('be.disabled');
|
|
77
75
|
// and only the actions for the last message are visible.
|
|
78
76
|
ChatPanelSteps.getChatDetailActions(2, 0).should('not.be.visible');
|
|
79
77
|
ChatPanelSteps.getChatDetailActions(2, 1).should('be.visible');
|
|
80
|
-
// When: I hover over the token usage info button
|
|
81
|
-
TTYGViewSteps.hoverTokenUsageInfoButton(0);
|
|
82
|
-
// Then: I expect the token usage info popover to be displayed.
|
|
83
|
-
TTYGViewSteps.getTokenUsageInfoPopover()
|
|
84
|
-
.should("exist")
|
|
85
|
-
.and('contain', '10,246')
|
|
86
|
-
.and('contain', 'prompt tokens')
|
|
87
|
-
.and('contain', '82')
|
|
88
|
-
.and('contain', 'completion tokens');
|
|
89
78
|
|
|
90
79
|
// When I click on regenerate button on the last response => +2 messages
|
|
91
80
|
TTYGStubs.stubAnswerQuestion();
|
|
@@ -140,22 +129,14 @@ describe('Ttyg ChatPanel', () => {
|
|
|
140
129
|
|
|
141
130
|
// When I click on first explain response button
|
|
142
131
|
TTYGViewSteps.getExplainResponseButton(0).realHover();
|
|
143
|
-
// Then I expect to explain button to be visible
|
|
132
|
+
// Then I expect to explain button to be visible.
|
|
144
133
|
TTYGViewSteps.getExplainResponseButton(0).should('be.visible');
|
|
145
|
-
TTYGViewSteps.getExplainResponseButton(0).should('not.be.disabled');
|
|
146
134
|
|
|
147
135
|
// When I click on the button.
|
|
148
136
|
TTYGStubs.stubExplainResponse();
|
|
149
137
|
TTYGViewSteps.clickOnExplainResponse(0);
|
|
150
138
|
// Then I expect the hint message to not exist (it should only exist for the last 'Explain' response).
|
|
151
139
|
TTYGViewSteps.getHowDeliverAnswerButton().should('not.exist');
|
|
152
|
-
// When I click on the open in sparql editor button for the explain response
|
|
153
|
-
SparqlStubs.spyAddKnownPrefixes();
|
|
154
|
-
TtygAgentSettingsModalSteps.clickOpenQueryInSparqlEditor(0);
|
|
155
|
-
// Then I expect a request for appending prefixes to be sent with the correct query.
|
|
156
|
-
cy.wait('@addKnownPrefixes').its('request.body').then((body) => {
|
|
157
|
-
expect(body).to.contain('SELECT ?name ?height WHERE {\n ?character voc:height ?height;\n rdfs:label ?name.\n FILTER(?name = "Luke Skywalker" || ?name = "Leia Organa")\n}');
|
|
158
|
-
});
|
|
159
140
|
|
|
160
141
|
// Then when I click on explain response button on the second answer
|
|
161
142
|
TTYGStubs.stubExplainResponse('/ttyg/chats/explain-response-2.json');
|
|
@@ -183,55 +164,6 @@ describe('Ttyg ChatPanel', () => {
|
|
|
183
164
|
TTYGViewSteps.getExplainQueryQueryElement(1, 2).contains("PREFIX rdfs: <http://www.w3.org/2000/01/rdf-sch");
|
|
184
165
|
});
|
|
185
166
|
|
|
186
|
-
it('Should display info about used tokens for response', () => {
|
|
187
|
-
// Given: I visit the TTYG page, a chat with two questions and answers is loaded.
|
|
188
|
-
// Wait to chat be loaded
|
|
189
|
-
ChatPanelSteps.getChatDetailsElements().should('have.length', 2);
|
|
190
|
-
|
|
191
|
-
// When: I hover over the token usage info button
|
|
192
|
-
TTYGViewSteps.hoverTokenUsageInfoButton(0);
|
|
193
|
-
// Then: I expect the token usage info popover to be displayed.
|
|
194
|
-
TTYGViewSteps.getTokenUsageInfoPopover()
|
|
195
|
-
.should("exist")
|
|
196
|
-
.and('contain', '10,245')
|
|
197
|
-
.and('contain', 'prompt tokens')
|
|
198
|
-
.and('contain', '81')
|
|
199
|
-
.and('contain', 'completion tokens');
|
|
200
|
-
});
|
|
201
|
-
|
|
202
|
-
it('Should abort question', () => {
|
|
203
|
-
// When I type a question
|
|
204
|
-
ChatPanelSteps.getQuestionInputElement()
|
|
205
|
-
.should('be.visible')
|
|
206
|
-
.and('not.have.attr', 'disabled');
|
|
207
|
-
ChatPanelSteps.getQuestionInputElement()
|
|
208
|
-
.type('Who is Han Solo?');
|
|
209
|
-
|
|
210
|
-
// Then I expect the "Ask" button be active
|
|
211
|
-
ChatPanelSteps.getAskButtonElement().should('be.enabled');
|
|
212
|
-
|
|
213
|
-
// When I click on "Ask" button
|
|
214
|
-
TTYGStubs.stubAnswerQuestionWithDelay();
|
|
215
|
-
TTYGStubs.stubCancelQuestion();
|
|
216
|
-
ChatPanelSteps.askQuestion();
|
|
217
|
-
// Then the Cancel button should become visible and the Ask button should be hidden
|
|
218
|
-
ChatPanelSteps.getAskButtonElement().should('not.exist');
|
|
219
|
-
ChatPanelSteps.getCancelButton().should('be.visible');
|
|
220
|
-
// When I cancel the question
|
|
221
|
-
ChatPanelSteps.cancelQuestion();
|
|
222
|
-
// Then the Cancel button should be replaced with the Ask button
|
|
223
|
-
ChatPanelSteps.getCancelButton().should('not.exist');
|
|
224
|
-
ChatPanelSteps.getAskButtonElement().should('be.visible');
|
|
225
|
-
// Then the default Agent response should be visible
|
|
226
|
-
ChatPanelSteps.getAssistantAnswer(2).invoke('text').then((text) => {
|
|
227
|
-
expect(text.trim()).to.equal('Request cancelled by the user.');
|
|
228
|
-
});
|
|
229
|
-
ChatPanelSteps.getAssistantIcon(2).should('not.exist');
|
|
230
|
-
// And I expect the explain response button to be visible but disabled
|
|
231
|
-
TTYGViewSteps.getExplainResponseButton(2).should('be.visible');
|
|
232
|
-
TTYGViewSteps.getExplainResponseButton(2).should('be.disabled');
|
|
233
|
-
});
|
|
234
|
-
|
|
235
167
|
// Can't test this on CI
|
|
236
168
|
it.skip('Should copy an answer when click on copy button', () => {
|
|
237
169
|
// When I click on copy button
|
|
@@ -2,13 +2,14 @@ import {RepositoriesStubs} from "../../stubs/repositories/repositories-stubs";
|
|
|
2
2
|
import {TTYGViewSteps} from "../../steps/ttyg/ttyg-view-steps";
|
|
3
3
|
import {TTYGStubs} from "../../stubs/ttyg/ttyg-stubs";
|
|
4
4
|
import {TtygAgentSettingsModalSteps} from "../../steps/ttyg/ttyg-agent-settings-modal.steps";
|
|
5
|
+
import {RepositoriesStub} from "../../stubs/repositories-stub";
|
|
5
6
|
|
|
6
7
|
describe('TTYG clone an agent', () => {
|
|
7
8
|
const repositoryId = 'starwars';
|
|
8
9
|
|
|
9
10
|
beforeEach(() => {
|
|
10
11
|
RepositoriesStubs.stubRepositories(0, '/repositories/get-ttyg-repositories.json');
|
|
11
|
-
|
|
12
|
+
RepositoriesStub.stubBaseEndpoints(repositoryId);
|
|
12
13
|
cy.presetRepository(repositoryId);
|
|
13
14
|
TTYGStubs.stubAgentDefaultsGet();
|
|
14
15
|
});
|
|
@@ -17,7 +18,6 @@ describe('TTYG clone an agent', () => {
|
|
|
17
18
|
TTYGStubs.stubAgentListGet();
|
|
18
19
|
TTYGStubs.stubChatsListGet();
|
|
19
20
|
TTYGStubs.stubChatGet();
|
|
20
|
-
RepositoriesStubs.stubRepositoryModel(repositoryId);
|
|
21
21
|
// Given I have opened the ttyg page
|
|
22
22
|
TTYGViewSteps.visit();
|
|
23
23
|
cy.wait('@get-all-repositories');
|
|
@@ -46,13 +46,11 @@ describe('TTYG clone an agent', () => {
|
|
|
46
46
|
TTYGStubs.stubAgentCreate();
|
|
47
47
|
TtygAgentSettingsModalSteps.saveAgent();
|
|
48
48
|
cy.wait('@create-agent').then((interception) => {
|
|
49
|
-
// eslint-disable-next-line no-undef
|
|
50
49
|
assert.deepEqual(interception.request.body, {
|
|
51
50
|
"id": "asst_gAPcrHQQ9ZIxD5eXWH2BNFfo",
|
|
52
51
|
"name": "agent-11",
|
|
53
52
|
"repositoryId": "starwars",
|
|
54
53
|
"model": "gpt-4o",
|
|
55
|
-
"contextSize": 128000,
|
|
56
54
|
"temperature": 0,
|
|
57
55
|
"topP": 0,
|
|
58
56
|
"seed": 0,
|
|
@@ -74,24 +72,4 @@ describe('TTYG clone an agent', () => {
|
|
|
74
72
|
});
|
|
75
73
|
});
|
|
76
74
|
});
|
|
77
|
-
|
|
78
|
-
it('should not be able to clone an agent if an extraction method is selected but the precondition has failed', () => {
|
|
79
|
-
TTYGStubs.stubAgentListGet();
|
|
80
|
-
TTYGStubs.stubChatsListGet();
|
|
81
|
-
TTYGStubs.stubChatGet();
|
|
82
|
-
RepositoriesStubs.stubFtsSearchDisabled(repositoryId);
|
|
83
|
-
|
|
84
|
-
// GIVEN: I have opened the TTYG page
|
|
85
|
-
TTYGViewSteps.visit();
|
|
86
|
-
cy.wait('@get-all-repositories');
|
|
87
|
-
cy.wait('@get-agent-list');
|
|
88
|
-
cy.wait('@get-chat');
|
|
89
|
-
|
|
90
|
-
// WHEN: I try to clone an agent that has the FTS extraction method enabled, but FTS is disabled in the repository
|
|
91
|
-
TTYGViewSteps.expandAgentsSidebar();
|
|
92
|
-
TTYGViewSteps.triggerCloneAgentActionMenu(0);
|
|
93
|
-
|
|
94
|
-
// THEN: The Save Agent button should be disabled
|
|
95
|
-
TtygAgentSettingsModalSteps.getSaveAgentButton().should('be.disabled');
|
|
96
|
-
});
|
|
97
75
|
});
|
|
@@ -2,22 +2,28 @@ import {TTYGViewSteps} from "../../steps/ttyg/ttyg-view-steps";
|
|
|
2
2
|
import {TTYGStubs} from "../../stubs/ttyg/ttyg-stubs";
|
|
3
3
|
import {RepositoriesStubs} from "../../stubs/repositories/repositories-stubs";
|
|
4
4
|
import {TtygAgentSettingsModalSteps} from "../../steps/ttyg/ttyg-agent-settings-modal.steps";
|
|
5
|
+
import {SimilarityIndexStubs} from "../../stubs/similarity-index-stubs";
|
|
5
6
|
import {ConnectorStubs} from "../../stubs/connector-stubs";
|
|
6
|
-
import {ModalDialogSteps} from "../../steps/modal-dialog-steps"
|
|
7
|
+
import {ModalDialogSteps} from "../../steps/modal-dialog-steps";
|
|
8
|
+
import {RepositoriesStub} from "../../stubs/repositories-stub";
|
|
7
9
|
import {AlertDialogSteps} from "../../steps/alert-dialog-steps";
|
|
8
|
-
import {ApplicationSteps} from '../../steps/application-steps.js';
|
|
9
10
|
|
|
10
11
|
describe('TTYG create new agent', () => {
|
|
11
12
|
const repositoryId = 'starwars';
|
|
12
13
|
|
|
13
14
|
beforeEach(() => {
|
|
14
15
|
RepositoriesStubs.stubRepositories(0, '/repositories/get-ttyg-repositories.json');
|
|
15
|
-
|
|
16
|
+
RepositoriesStub.stubBaseEndpoints(repositoryId);
|
|
16
17
|
cy.presetRepository(repositoryId);
|
|
17
18
|
TTYGStubs.stubAgentDefaultsGet();
|
|
18
19
|
});
|
|
19
20
|
|
|
20
|
-
it('Should be able to cancel the new agent creation on the no agents view',
|
|
21
|
+
it('Should be able to cancel the new agent creation on the no agents view', {
|
|
22
|
+
retries: {
|
|
23
|
+
runMode: 1,
|
|
24
|
+
openMode: 0
|
|
25
|
+
}
|
|
26
|
+
}, () => {
|
|
21
27
|
TTYGStubs.stubChatsListGetNoResults();
|
|
22
28
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
|
|
23
29
|
// Given I have opened the ttyg page
|
|
@@ -33,7 +39,12 @@ describe('TTYG create new agent', () => {
|
|
|
33
39
|
TTYGViewSteps.getNoAgentsView().should('be.visible');
|
|
34
40
|
});
|
|
35
41
|
|
|
36
|
-
it('Should be able to create a new agent with SPARQL extraction method on the no agents view',
|
|
42
|
+
it('Should be able to create a new agent with SPARQL extraction method on the no agents view', {
|
|
43
|
+
retries: {
|
|
44
|
+
runMode: 1,
|
|
45
|
+
openMode: 0
|
|
46
|
+
}
|
|
47
|
+
}, () => {
|
|
37
48
|
TTYGStubs.stubChatsListGetNoResults();
|
|
38
49
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json', 1000);
|
|
39
50
|
// Given I have opened the ttyg page
|
|
@@ -57,12 +68,10 @@ describe('TTYG create new agent', () => {
|
|
|
57
68
|
// enable SPARQL extraction method and disable it again to check the error message for the extraction methods
|
|
58
69
|
TtygAgentSettingsModalSteps.enableSparqlExtractionMethod();
|
|
59
70
|
// The component here is the bootstrap collapse component, so we need to wait for the animation to finish, otherwise the test might fail randomly
|
|
60
|
-
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
|
61
71
|
cy.wait(1000);
|
|
62
72
|
TtygAgentSettingsModalSteps.getSparqlExtractionMethodPanel().should('be.visible');
|
|
63
73
|
TtygAgentSettingsModalSteps.disableSparqlExtractionMethod();
|
|
64
74
|
// The component here is the bootstrap collapse component, so we need to wait for the animation to finish, otherwise the test might fail randomly
|
|
65
|
-
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
|
66
75
|
cy.wait(1000);
|
|
67
76
|
TtygAgentSettingsModalSteps.getSparqlExtractionMethodPanel().should('not.exist');
|
|
68
77
|
TtygAgentSettingsModalSteps.getSaveAgentButton().should('be.disabled');
|
|
@@ -96,12 +105,12 @@ describe('TTYG create new agent', () => {
|
|
|
96
105
|
|
|
97
106
|
// Validate the other agent settings
|
|
98
107
|
|
|
99
|
-
//
|
|
100
|
-
TtygAgentSettingsModalSteps.
|
|
101
|
-
TtygAgentSettingsModalSteps.
|
|
108
|
+
// gpt model
|
|
109
|
+
TtygAgentSettingsModalSteps.getGptModelField().should('have.value', 'gpt-4o');
|
|
110
|
+
TtygAgentSettingsModalSteps.clearGptModel();
|
|
102
111
|
TtygAgentSettingsModalSteps.getSaveAgentButton().should('be.disabled');
|
|
103
|
-
TtygAgentSettingsModalSteps.
|
|
104
|
-
TtygAgentSettingsModalSteps.
|
|
112
|
+
TtygAgentSettingsModalSteps.getGptModelError().should('be.visible').and('contain', 'This field is required');
|
|
113
|
+
TtygAgentSettingsModalSteps.typeGptModel('gpt-4o');
|
|
105
114
|
|
|
106
115
|
// temperature
|
|
107
116
|
TtygAgentSettingsModalSteps.setTemperature('0.2');
|
|
@@ -134,13 +143,11 @@ describe('TTYG create new agent', () => {
|
|
|
134
143
|
TtygAgentSettingsModalSteps.saveAgent();
|
|
135
144
|
TtygAgentSettingsModalSteps.getCreatingAgentLoader().should('be.visible');
|
|
136
145
|
cy.wait('@create-agent').then((interception) => {
|
|
137
|
-
// eslint-disable-next-line no-undef
|
|
138
146
|
assert.deepEqual(interception.request.body, {
|
|
139
147
|
"id": "id",
|
|
140
148
|
"name": "Test Agent",
|
|
141
149
|
"repositoryId": "starwars",
|
|
142
150
|
"model": "gpt-4o",
|
|
143
|
-
"contextSize": 128000,
|
|
144
151
|
"temperature": "0.2",
|
|
145
152
|
"topP": "0.2",
|
|
146
153
|
"seed": 0,
|
|
@@ -172,7 +179,12 @@ describe('TTYG create new agent', () => {
|
|
|
172
179
|
TTYGViewSteps.getAgent(0).should('contain', 'Test Agent').and('contain', 'starwars');
|
|
173
180
|
});
|
|
174
181
|
|
|
175
|
-
it('Should require FTS to be enabled for selected repository when creating agent with FTS extraction method',
|
|
182
|
+
it('Should require FTS to be enabled for selected repository when creating agent with FTS extraction method', {
|
|
183
|
+
retries: {
|
|
184
|
+
runMode: 1,
|
|
185
|
+
openMode: 0
|
|
186
|
+
}
|
|
187
|
+
}, () => {
|
|
176
188
|
RepositoriesStubs.stubGetRepositoryConfig(repositoryId, '/repositories/get-repository-config-starwars-disabled-fts.json');
|
|
177
189
|
TTYGStubs.stubChatsListGetNoResults();
|
|
178
190
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
|
|
@@ -189,7 +201,12 @@ describe('TTYG create new agent', () => {
|
|
|
189
201
|
TtygAgentSettingsModalSteps.getFtsDisabledHelp().should('be.visible');
|
|
190
202
|
});
|
|
191
203
|
|
|
192
|
-
it('Should be able to create agent with FTS extraction method',
|
|
204
|
+
it('Should be able to create agent with FTS extraction method', {
|
|
205
|
+
retries: {
|
|
206
|
+
runMode: 1,
|
|
207
|
+
openMode: 0
|
|
208
|
+
}
|
|
209
|
+
}, () => {
|
|
193
210
|
RepositoriesStubs.stubGetRepositoryConfig(repositoryId, '/repositories/get-repository-config-starwars-enabled-fts.json');
|
|
194
211
|
TTYGStubs.stubChatsListGetNoResults();
|
|
195
212
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
|
|
@@ -225,10 +242,15 @@ describe('TTYG create new agent', () => {
|
|
|
225
242
|
TTYGViewSteps.getAgent(0).should('contain', 'Test Agent').and('contain', 'starwars');
|
|
226
243
|
});
|
|
227
244
|
|
|
228
|
-
it('Should require similarity index in order to create agent with similarity search method',
|
|
245
|
+
it('Should require similarity index in order to create agent with similarity search method', {
|
|
246
|
+
retries: {
|
|
247
|
+
runMode: 1,
|
|
248
|
+
openMode: 0
|
|
249
|
+
}
|
|
250
|
+
}, () => {
|
|
229
251
|
TTYGStubs.stubChatsListGetNoResults();
|
|
230
252
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
|
|
231
|
-
|
|
253
|
+
SimilarityIndexStubs.stubGetSimilarityIndexes('/similarity/get-similarity-indexes-0.json');
|
|
232
254
|
// Given I have opened the ttyg page
|
|
233
255
|
TTYGViewSteps.visit();
|
|
234
256
|
cy.wait('@get-all-repositories');
|
|
@@ -243,10 +265,15 @@ describe('TTYG create new agent', () => {
|
|
|
243
265
|
TtygAgentSettingsModalSteps.getSaveAgentButton().should('be.disabled');
|
|
244
266
|
});
|
|
245
267
|
|
|
246
|
-
it('Should be able to configure and create agent with similarity index search method',
|
|
268
|
+
it('Should be able to configure and create agent with similarity index search method', {
|
|
269
|
+
retries: {
|
|
270
|
+
runMode: 1,
|
|
271
|
+
openMode: 0
|
|
272
|
+
}
|
|
273
|
+
}, () => {
|
|
247
274
|
TTYGStubs.stubChatsListGetNoResults();
|
|
248
275
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
|
|
249
|
-
|
|
276
|
+
SimilarityIndexStubs.stubGetSimilarityIndexes();
|
|
250
277
|
// Given I have opened the ttyg page
|
|
251
278
|
TTYGViewSteps.visit();
|
|
252
279
|
cy.wait('@get-all-repositories');
|
|
@@ -258,10 +285,8 @@ describe('TTYG create new agent', () => {
|
|
|
258
285
|
TtygAgentSettingsModalSteps.selectRepository(repositoryId);
|
|
259
286
|
// And I enable the similarity search extraction method
|
|
260
287
|
TtygAgentSettingsModalSteps.enableSimilaritySearchMethodPanel();
|
|
261
|
-
// Then I expect
|
|
262
|
-
TtygAgentSettingsModalSteps.
|
|
263
|
-
// And I expect that no vector fields from that instance should be selected
|
|
264
|
-
TtygAgentSettingsModalSteps.getSimilarityIndexSelectedVectorFieldsValue().should('contain', 'Select field');
|
|
288
|
+
// Then I expect similarity index to be selected
|
|
289
|
+
TtygAgentSettingsModalSteps.getSimilarityIndexField().should('have.value', '0');
|
|
265
290
|
// Then agent save button should be enabled
|
|
266
291
|
TtygAgentSettingsModalSteps.getSaveAgentButton().should('be.enabled');
|
|
267
292
|
// When I set the similarity index threshold
|
|
@@ -271,7 +296,6 @@ describe('TTYG create new agent', () => {
|
|
|
271
296
|
TtygAgentSettingsModalSteps.getSimilarityIndexMaxTriplesField().should('have.value', '');
|
|
272
297
|
TtygAgentSettingsModalSteps.setSimilarityIndexMaxTriples('100');
|
|
273
298
|
// When I save the agent
|
|
274
|
-
// !!! This stub is not for agent with similarity search method, but it's ok for this test !!!
|
|
275
299
|
TTYGStubs.stubAgentCreate();
|
|
276
300
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-new-agent.json');
|
|
277
301
|
TtygAgentSettingsModalSteps.saveAgent();
|
|
@@ -286,7 +310,12 @@ describe('TTYG create new agent', () => {
|
|
|
286
310
|
TTYGViewSteps.getAgent(0).should('contain', 'Test Agent').and('contain', 'starwars');
|
|
287
311
|
});
|
|
288
312
|
|
|
289
|
-
it('Should require retrieval connector in order to create an agent with GPT retrieval connector method',
|
|
313
|
+
it('Should require retrieval connector in order to create an agent with GPT retrieval connector method', {
|
|
314
|
+
retries: {
|
|
315
|
+
runMode: 1,
|
|
316
|
+
openMode: 0
|
|
317
|
+
}
|
|
318
|
+
}, () => {
|
|
290
319
|
TTYGStubs.stubChatsListGetNoResults();
|
|
291
320
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
|
|
292
321
|
ConnectorStubs.stubGetConnectors();
|
|
@@ -308,7 +337,12 @@ describe('TTYG create new agent', () => {
|
|
|
308
337
|
TtygAgentSettingsModalSteps.getSaveAgentButton().should('be.disabled');
|
|
309
338
|
});
|
|
310
339
|
|
|
311
|
-
it('Should be able to configure and create an agent with retrieval connector method',
|
|
340
|
+
it('Should be able to configure and create an agent with retrieval connector method', {
|
|
341
|
+
retries: {
|
|
342
|
+
runMode: 1,
|
|
343
|
+
openMode: 0
|
|
344
|
+
}
|
|
345
|
+
}, () => {
|
|
312
346
|
TTYGStubs.stubChatsListGetNoResults();
|
|
313
347
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
|
|
314
348
|
ConnectorStubs.stubGetConnectors();
|
|
@@ -397,7 +431,7 @@ describe('TTYG create new agent', () => {
|
|
|
397
431
|
TTYGStubs.stubChatsListGetNoResults();
|
|
398
432
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
|
|
399
433
|
ConnectorStubs.stubGetConnectors();
|
|
400
|
-
|
|
434
|
+
SimilarityIndexStubs.stubTTYGSimilarityIndexes();
|
|
401
435
|
// Given I have opened the ttyg page
|
|
402
436
|
TTYGViewSteps.visit();
|
|
403
437
|
cy.wait('@get-all-repositories');
|
|
@@ -409,21 +443,16 @@ describe('TTYG create new agent', () => {
|
|
|
409
443
|
|
|
410
444
|
// When I open Similarity index name panel
|
|
411
445
|
TtygAgentSettingsModalSteps.enableSimilaritySearchMethodPanel();
|
|
412
|
-
cy.wait('@get-similarity-indexes');
|
|
413
446
|
// Then I expect to see the first index selected.
|
|
414
|
-
TtygAgentSettingsModalSteps.verifySimilarityIndexSelected('
|
|
447
|
+
TtygAgentSettingsModalSteps.verifySimilarityIndexSelected('similarity_index_starwars_one');
|
|
415
448
|
|
|
416
449
|
// When I select another repository that have similarity connectors
|
|
417
|
-
TTYGStubs.getSimilarityIndexesForRepo('biomarkers', '/ttyg/agent/get-similarity-indexes-for-another-repo.json');
|
|
418
450
|
TtygAgentSettingsModalSteps.selectRepository('biomarkers');
|
|
419
|
-
cy.wait('@get-similarity-indexes');
|
|
420
451
|
// Then I expect to see the first similarity index from new repository selected.
|
|
421
|
-
TtygAgentSettingsModalSteps.verifySimilarityIndexSelected('
|
|
452
|
+
TtygAgentSettingsModalSteps.verifySimilarityIndexSelected('similarity_index_biomarkers_one');
|
|
422
453
|
|
|
423
454
|
// When I select a repository that not have similarity indexes
|
|
424
455
|
TtygAgentSettingsModalSteps.selectRepository('ttyg-repo-1725518186812');
|
|
425
|
-
// Then I expect an error message to be open for similarity search index missing
|
|
426
|
-
ApplicationSteps.getErrorNotifications().should('be.visible');
|
|
427
456
|
// Then I expect help message to be open
|
|
428
457
|
TtygAgentSettingsModalSteps.getSimilaritySearchIndexMissingHelp().should('be.visible');
|
|
429
458
|
|
|
@@ -451,7 +480,7 @@ describe('TTYG create new agent', () => {
|
|
|
451
480
|
TtygAgentSettingsModalSteps.setTemperature('1.2');
|
|
452
481
|
TtygAgentSettingsModalSteps.getTemperatureSliderField().should('have.value', '1.2');
|
|
453
482
|
// Then I should see a warning message
|
|
454
|
-
TtygAgentSettingsModalSteps.
|
|
483
|
+
TtygAgentSettingsModalSteps.getTemperatureWarning().should('be.visible');
|
|
455
484
|
TtygAgentSettingsModalSteps.getTemperatureField().should('have.class', 'has-warning');
|
|
456
485
|
// When I change the temperature to value below 1.0
|
|
457
486
|
TtygAgentSettingsModalSteps.setTemperature('0.9');
|
|
@@ -492,7 +521,7 @@ describe('TTYG create new agent', () => {
|
|
|
492
521
|
// When I open agent settings dialog and make all steps so the create button became enabled.
|
|
493
522
|
TTYGStubs.stubChatsListGetNoResults();
|
|
494
523
|
TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
|
|
495
|
-
|
|
524
|
+
SimilarityIndexStubs.stubGetSimilarityIndexes('/similarity/get-similarity-indexes-0.json');
|
|
496
525
|
TTYGViewSteps.visit();
|
|
497
526
|
cy.wait('@get-all-repositories');
|
|
498
527
|
TTYGViewSteps.createFirstAgent();
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {RepositoriesStubs} from "../../stubs/repositories/repositories-stubs";
|
|
2
|
+
import {RepositoriesStub} from "../../stubs/repositories-stub";
|
|
2
3
|
import {TTYGStubs} from "../../stubs/ttyg/ttyg-stubs";
|
|
3
4
|
import {TTYGViewSteps} from "../../steps/ttyg/ttyg-view-steps";
|
|
4
5
|
import {ChatPanelSteps} from "../../steps/ttyg/chat-panel-steps";
|
|
@@ -8,7 +9,7 @@ describe('TTYG create chat', () => {
|
|
|
8
9
|
beforeEach(() => {
|
|
9
10
|
// Create an actual repository to prevent stubbing all background requests that are not related to the ttyg view
|
|
10
11
|
RepositoriesStubs.stubRepositories(0, '/repositories/get-ttyg-repositories.json');
|
|
11
|
-
|
|
12
|
+
RepositoriesStub.stubBaseEndpoints('starwars');
|
|
12
13
|
cy.presetRepository('starwars');
|
|
13
14
|
TTYGStubs.stubChatsListGet("/ttyg/chats/create/get-chats-before-create.json");
|
|
14
15
|
TTYGStubs.stubAgentListGet();
|
|
@@ -37,19 +38,16 @@ describe('TTYG create chat', () => {
|
|
|
37
38
|
// When I type a question
|
|
38
39
|
ChatPanelSteps.getQuestionInputElement()
|
|
39
40
|
.should('be.visible')
|
|
40
|
-
.and('not.
|
|
41
|
-
ChatPanelSteps.getQuestionInputElement()
|
|
41
|
+
.and('not.be.disabled')
|
|
42
42
|
.type('Who is Han Solo?');
|
|
43
43
|
|
|
44
|
-
|
|
45
44
|
// Then I expect the "Ask" button be active.
|
|
46
45
|
ChatPanelSteps.getAskButtonElement().should('be.enabled');
|
|
47
46
|
|
|
48
47
|
// When I click on "Ask" button.
|
|
49
|
-
TTYGStubs.
|
|
48
|
+
TTYGStubs.stubCrateNewChat();
|
|
50
49
|
ChatPanelSteps.getAskButtonElement().scrollIntoView().click();
|
|
51
50
|
cy.wait('@create-chat');
|
|
52
|
-
cy.wait('@ask-first-chat-question');
|
|
53
51
|
|
|
54
52
|
// Then I expect new chat to be created in a new group "Today" and be selected
|
|
55
53
|
TTYGViewSteps.getChatGroup(0).should('contain', 'Today');
|
|
@@ -2,13 +2,14 @@ import {TTYGViewSteps} from "../../steps/ttyg/ttyg-view-steps";
|
|
|
2
2
|
import {TTYGStubs} from "../../stubs/ttyg/ttyg-stubs";
|
|
3
3
|
import {RepositoriesStubs} from "../../stubs/repositories/repositories-stubs";
|
|
4
4
|
import {ModalDialogSteps} from "../../steps/modal-dialog-steps";
|
|
5
|
+
import {RepositoriesStub} from "../../stubs/repositories-stub";
|
|
5
6
|
|
|
6
7
|
describe('TTYG delete agent', () => {
|
|
7
8
|
const repositoryId = 'starwars';
|
|
8
9
|
|
|
9
10
|
beforeEach(() => {
|
|
10
11
|
RepositoriesStubs.stubRepositories(0, '/repositories/get-ttyg-repositories.json');
|
|
11
|
-
|
|
12
|
+
RepositoriesStub.stubBaseEndpoints(repositoryId);
|
|
12
13
|
cy.presetRepository(repositoryId);
|
|
13
14
|
});
|
|
14
15
|
|