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
|
@@ -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
|
-
});
|