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,8 +2,6 @@ import { LicenseStubs } from "../../../stubs/license-stubs";
|
|
|
2
2
|
import { VisualGraphSteps } from "../../../steps/visual-graph-steps";
|
|
3
3
|
import { HtmlUtil } from "../../../utils/html-util";
|
|
4
4
|
|
|
5
|
-
const LONG_LABEL = 'A looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong label for Node Four'
|
|
6
|
-
|
|
7
5
|
/**
|
|
8
6
|
* RDF snippet with the necessary data to test all possible label scenarios:
|
|
9
7
|
* 1. (ex:node1) Node with a plain text label;
|
|
@@ -21,7 +19,7 @@ const RDF_SNIPPETS_WITH_NODE_LABELS_DATA =
|
|
|
21
19
|
'ex:node1 rdfs:label "Node One" .\n' +
|
|
22
20
|
'ex:node2 rdfs:label "Node<br>Two" .\n' +
|
|
23
21
|
'ex:node3 rdfs:label "Node\\nThree" .\n' +
|
|
24
|
-
|
|
22
|
+
'ex:node4 rdfs:label "A longer label for Node Four" .\n' +
|
|
25
23
|
'\n' +
|
|
26
24
|
'# Relationships Between Nodes\n' +
|
|
27
25
|
'ex:node1 ex:connectedTo ex:node2 .\n' +
|
|
@@ -62,19 +60,9 @@ describe("Node Basics", () => {
|
|
|
62
60
|
VisualGraphSteps.getNodeLabel('http://example.com/node3').should('have.html', 'Node<br>Three');
|
|
63
61
|
|
|
64
62
|
// The label of ex:node4 to be displayed with a long label (no truncation).
|
|
65
|
-
VisualGraphSteps.getNodeLabel('http://example.com/node4').should('have.html',
|
|
63
|
+
VisualGraphSteps.getNodeLabel('http://example.com/node4').should('have.html', 'A longer label for Node Four');
|
|
66
64
|
|
|
67
65
|
// The label of ex:node4 should be truncated with ellipsis because it has a long label.
|
|
68
66
|
HtmlUtil.verifyEllipsis(VisualGraphSteps.getNodeLabel('http://example.com/node4'));
|
|
69
|
-
|
|
70
|
-
// When: I disable the "Truncate long labels" setting.
|
|
71
|
-
VisualGraphSteps.openVisualGraphSettings();
|
|
72
|
-
VisualGraphSteps.getTruncateLabelsCheckbox().should('be.checked');
|
|
73
|
-
VisualGraphSteps.toggleTruncateLabelsCheckbox();
|
|
74
|
-
VisualGraphSteps.getTruncateLabelsCheckbox().should('not.be.checked');
|
|
75
|
-
VisualGraphSteps.saveSettings();
|
|
76
|
-
|
|
77
|
-
// Then, I expect to see a full non-truncated label for ex:node4.
|
|
78
|
-
HtmlUtil.verifyNoEllipsis(VisualGraphSteps.getNodeLabel('http://example.com/node4'));
|
|
79
67
|
});
|
|
80
68
|
});
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import {VisualGraphSteps} from
|
|
2
|
-
import {ApplicationSteps} from
|
|
3
|
-
import {LicenseStubs} from
|
|
4
|
-
import {AutocompleteStubs} from
|
|
5
|
-
import {MainMenuSteps} from '../../../steps/main-menu-steps.js';
|
|
6
|
-
import HomeSteps from '../../../steps/home-steps.js';
|
|
1
|
+
import {VisualGraphSteps} from "../../../steps/visual-graph-steps";
|
|
2
|
+
import {ApplicationSteps} from "../../../steps/application-steps";
|
|
3
|
+
import {LicenseStubs} from "../../../stubs/license-stubs";
|
|
4
|
+
import {AutocompleteStubs} from "../../../stubs/autocomplete/autocomplete-stubs";
|
|
7
5
|
|
|
8
6
|
const FILE_TO_IMPORT = 'wine.rdf';
|
|
9
7
|
const VALID_RESOURCE = 'USRegion';
|
|
@@ -26,17 +24,7 @@ describe('Visual graph screen validation', () => {
|
|
|
26
24
|
cy.deleteRepository(repositoryId);
|
|
27
25
|
});
|
|
28
26
|
|
|
29
|
-
|
|
30
|
-
it('Should not show main manu, header and footer in embedded mode', () => {
|
|
31
|
-
cy.visit('/graphs-visualizations?uri=http:%2F%2Fwww.w3.org%2FTR%2F2003%2FPR-owl-guide-20031209%2Fwine%23Chardonnay&embedded');
|
|
32
|
-
VisualGraphSteps.verifyPageLoaded();
|
|
33
|
-
MainMenuSteps.getMainMenu().should('not.exist');
|
|
34
|
-
HomeSteps.getPageFooter().should('not.exist');
|
|
35
|
-
HomeSteps.getPageHeader().should('not.exist');
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
describe('When autocomplete is disabled', () => {
|
|
27
|
+
context('When autocomplete is disabled', () => {
|
|
40
28
|
it('Test notification when autocomplete is disabled', () => {
|
|
41
29
|
cy.visit('graphs-visualizations');
|
|
42
30
|
cy.window();
|
|
@@ -50,7 +38,7 @@ describe('Visual graph screen validation', () => {
|
|
|
50
38
|
});
|
|
51
39
|
});
|
|
52
40
|
|
|
53
|
-
|
|
41
|
+
context('When autocomplete is enabled', () => {
|
|
54
42
|
beforeEach(() => {
|
|
55
43
|
cy.enableAutocomplete(repositoryId);
|
|
56
44
|
//http://localhost:9000/graphs-visualizations?uri=http:%2F%2Fwww.w3.org%2FTR%2F2003%2FPR-owl-guide-20031209%2Fwine%23USRegion
|
|
@@ -66,7 +54,12 @@ describe('Visual graph screen validation', () => {
|
|
|
66
54
|
ApplicationSteps.getErrorNotifications().should('be.visible').and('contain', 'Invalid IRI');
|
|
67
55
|
});
|
|
68
56
|
|
|
69
|
-
it('Test search for a valid resource',
|
|
57
|
+
it('Test search for a valid resource', {
|
|
58
|
+
retries: {
|
|
59
|
+
openMode: 0,
|
|
60
|
+
runMode: 1
|
|
61
|
+
}
|
|
62
|
+
}, () => {
|
|
70
63
|
AutocompleteStubs.spyAutocompleteStatus();
|
|
71
64
|
VisualGraphSteps.visit();
|
|
72
65
|
// Verify autocomplete is ON, because sometimes in CI it is OFF and fails when searching for Resource
|
|
@@ -79,17 +72,17 @@ describe('Visual graph screen validation', () => {
|
|
|
79
72
|
VisualGraphSteps.verifyPageLoaded();
|
|
80
73
|
VisualGraphSteps.searchForResourceAndOpen(VALID_RESOURCE, VALID_RESOURCE);
|
|
81
74
|
// Verify redirection to existing visual graph
|
|
82
|
-
cy.url().should('
|
|
75
|
+
cy.url().should('match', /USRegion$/);
|
|
83
76
|
});
|
|
84
77
|
|
|
85
78
|
it('Test default graph state', () => {
|
|
86
79
|
VisualGraphSteps.openUSRegionUri();
|
|
87
|
-
// Verify that the default settings are as follows:
|
|
88
|
-
// Maximum links to show: 100
|
|
89
|
-
VisualGraphSteps.getLinksNumberField().and('have.value', '100');
|
|
90
|
-
|
|
91
80
|
VisualGraphSteps.openVisualGraphSettings();
|
|
81
|
+
|
|
92
82
|
cy.get('.filter-sidepanel').as('sidepanel').should('be.visible').within(() => {
|
|
83
|
+
// Verify that the default settings are as follows:
|
|
84
|
+
// Maximum links to show: 20
|
|
85
|
+
VisualGraphSteps.getLinksNumberField().and('have.value', '20');
|
|
93
86
|
// Preferred lang: en
|
|
94
87
|
cy.get('.preferred-languages .tag-item').should('have.length', 1)
|
|
95
88
|
.and('contain', 'en');
|
|
@@ -126,20 +119,40 @@ describe('Visual graph screen validation', () => {
|
|
|
126
119
|
|
|
127
120
|
it('Test invalid links limit should show error to user ', () => {
|
|
128
121
|
VisualGraphSteps.openUSRegionUri();
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
.
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
122
|
+
VisualGraphSteps.openVisualGraphSettings();
|
|
123
|
+
|
|
124
|
+
cy.get('.filter-sidepanel').as('sidepanel').should('be.visible').within(() => {
|
|
125
|
+
// Verify that the default settings are as follows:
|
|
126
|
+
// Maximum links to show: 20
|
|
127
|
+
VisualGraphSteps.getLinksNumberField().and('have.value', '20');
|
|
128
|
+
// Update default 20
|
|
129
|
+
VisualGraphSteps.updateLinksLimitField('1001')
|
|
130
|
+
.then(() => {
|
|
131
|
+
// Try to put invalid value such as 1001
|
|
132
|
+
cy.get('.idError')
|
|
133
|
+
.should('be.visible')
|
|
134
|
+
.and('contain.text', 'Invalid links limit');
|
|
135
|
+
});
|
|
136
|
+
// Try to save the invalid value
|
|
137
|
+
VisualGraphSteps.getSaveSettingsButton().and('not.be.disabled')
|
|
138
|
+
.click();
|
|
139
|
+
// Then reset to default settings
|
|
140
|
+
VisualGraphSteps.getResetSettingsButton().and('not.be.disabled')
|
|
141
|
+
.click()
|
|
142
|
+
.then(() => {
|
|
143
|
+
VisualGraphSteps.getLinksNumberField().and('have.value', '20');
|
|
144
|
+
cy.get('.idError')
|
|
145
|
+
.should('not.exist');
|
|
146
|
+
});
|
|
147
|
+
});
|
|
140
148
|
});
|
|
141
149
|
|
|
142
|
-
it('Test search for a valid resource with links',
|
|
150
|
+
it('Test search for a valid resource with links', {
|
|
151
|
+
retries: {
|
|
152
|
+
runMode: 1,
|
|
153
|
+
openMode: 0
|
|
154
|
+
}
|
|
155
|
+
}, () => {
|
|
143
156
|
VisualGraphSteps.openUSRegionUri();
|
|
144
157
|
// Check include inferred
|
|
145
158
|
VisualGraphSteps.toggleInferredStatements(true);
|
|
@@ -147,10 +160,10 @@ describe('Visual graph screen validation', () => {
|
|
|
147
160
|
VisualGraphSteps.openVisualGraphHome();
|
|
148
161
|
// Search for "USRegion" again
|
|
149
162
|
VisualGraphSteps.searchForResourceAndOpen(VALID_RESOURCE, VALID_RESOURCE);
|
|
150
|
-
// Verify that
|
|
151
|
-
VisualGraphSteps.getPredicates().should('have.length',
|
|
163
|
+
// Verify that 20 links (nodes) are displayed
|
|
164
|
+
VisualGraphSteps.getPredicates().should('have.length', 20);
|
|
152
165
|
// Verify that links are counted by nodes and not by triples (predicates)
|
|
153
|
-
VisualGraphSteps.getNodes().and('have.length',
|
|
166
|
+
VisualGraphSteps.getNodes().and('have.length', 21);
|
|
154
167
|
});
|
|
155
168
|
|
|
156
169
|
it('Test collapse and expand a node', () => {
|
|
@@ -198,10 +211,9 @@ describe('Visual graph screen validation', () => {
|
|
|
198
211
|
// Verify that before given node is removed there are 4 of them
|
|
199
212
|
VisualGraphSteps.getNodes().and('have.length', 4);
|
|
200
213
|
// Click once on node different than parent one with the mouse
|
|
201
|
-
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
|
202
214
|
cy.get('.node-wrapper circle').eq(1)
|
|
203
|
-
|
|
204
|
-
|
|
215
|
+
// The wait is needed because mouseover event will result in
|
|
216
|
+
// pop-up of menu icons only if nodes are not moving
|
|
205
217
|
.should('be.visible').wait(5000)
|
|
206
218
|
.trigger('mouseover', {force: true});
|
|
207
219
|
// Select remove function
|
|
@@ -250,34 +262,34 @@ describe('Visual graph screen validation', () => {
|
|
|
250
262
|
});
|
|
251
263
|
|
|
252
264
|
it('Test verify mouse/keyboard actions', () => {
|
|
253
|
-
const mouseActions = '
|
|
254
|
-
'
|
|
255
|
-
'
|
|
256
|
-
'
|
|
257
|
-
'
|
|
258
|
-
'
|
|
259
|
-
'
|
|
260
|
-
'Removes a node and its links\n
|
|
261
|
-
'Ctrl
|
|
262
|
-
'
|
|
263
|
-
'Click\n
|
|
264
|
-
'
|
|
265
|
-
'
|
|
266
|
-
'
|
|
267
|
-
'
|
|
268
|
-
'
|
|
269
|
-
|
|
270
|
-
'
|
|
271
|
-
|
|
272
|
-
'Tap\n
|
|
273
|
-
'
|
|
274
|
-
'Tap
|
|
275
|
-
'
|
|
276
|
-
|
|
277
|
-
'
|
|
278
|
-
|
|
279
|
-
'
|
|
280
|
-
'Rotate the graph to the right\n
|
|
265
|
+
const mouseActions = 'Mouse actions\n ' +
|
|
266
|
+
'\n \n \n \n ' +
|
|
267
|
+
'Single click\n \n ' +
|
|
268
|
+
'View node details and properties\n \n \n \n ' +
|
|
269
|
+
'Double click\n \n ' +
|
|
270
|
+
'Load node connections\n \n \n \n ' +
|
|
271
|
+
'Ctrl/Cmd-click\n \n ' +
|
|
272
|
+
'Removes a node and its links\n \n \n \n ' +
|
|
273
|
+
'Ctrl/Cmd-Shift-click\n \n ' +
|
|
274
|
+
'Restart the view with that node as a central one\n \n \n \n ' +
|
|
275
|
+
'Click and drag a node\n \n ' +
|
|
276
|
+
'Move a node by dragging it (will also pin down the node)\n \n \n \n ' +
|
|
277
|
+
'Right click a node\n \n ' +
|
|
278
|
+
'Pin down or unpin the node\n \n \n \n ' +
|
|
279
|
+
'Click and drag outside a node\n \n ' +
|
|
280
|
+
'Move the whole graph\n';
|
|
281
|
+
const touchActions = 'Touch actions\n \n \n \n \n ' +
|
|
282
|
+
'Tap\n \n ' +
|
|
283
|
+
'View node details and properties\n \n \n \n ' +
|
|
284
|
+
'Tap and hold\n \n ' +
|
|
285
|
+
'Removes a node and its links\n \n \n \n ' +
|
|
286
|
+
'Tap twice\n \n ' +
|
|
287
|
+
'Load node connections\n';
|
|
288
|
+
const keyboardActions = 'Keyboard actions\n \n \n \n ' +
|
|
289
|
+
'Left arrow\n \n ' +
|
|
290
|
+
'Rotate the graph to the left\n \n \n \n ' +
|
|
291
|
+
'Right arrow\n \n ' +
|
|
292
|
+
'Rotate the graph to the right\n';
|
|
281
293
|
|
|
282
294
|
VisualGraphSteps.openUSRegionUri();
|
|
283
295
|
// Click on "mouse and keyboard actions" in the lower right corner of the screen
|
|
@@ -297,16 +309,20 @@ describe('Visual graph screen validation', () => {
|
|
|
297
309
|
it('Test maximum links to show', () => {
|
|
298
310
|
VisualGraphSteps.openUSRegionUri();
|
|
299
311
|
|
|
300
|
-
// Verify that
|
|
301
|
-
VisualGraphSteps.getPredicates().should('have.length',
|
|
312
|
+
// Verify that 20 links (nodes) are displayed
|
|
313
|
+
VisualGraphSteps.getPredicates().should('have.length', 20);
|
|
302
314
|
|
|
315
|
+
VisualGraphSteps.openVisualGraphSettings();
|
|
303
316
|
// Set maximum links to 2
|
|
304
317
|
VisualGraphSteps.updateLinksLimitField('2');
|
|
318
|
+
VisualGraphSteps.saveSettings();
|
|
305
319
|
// Verify that the diagram is updated
|
|
306
320
|
VisualGraphSteps.getPredicates().should('have.length', 2);
|
|
307
321
|
|
|
322
|
+
VisualGraphSteps.openVisualGraphSettings();
|
|
308
323
|
// Set maximum links to 100
|
|
309
324
|
VisualGraphSteps.updateLinksLimitField('100');
|
|
325
|
+
VisualGraphSteps.saveSettings();
|
|
310
326
|
// Verify that the diagram is updated
|
|
311
327
|
VisualGraphSteps.getPredicates().should('have.length', 36);
|
|
312
328
|
});
|
|
@@ -317,10 +333,10 @@ describe('Visual graph screen validation', () => {
|
|
|
317
333
|
VisualGraphSteps.toggleInferredStatements(true);
|
|
318
334
|
|
|
319
335
|
// Verify that many results are displayed
|
|
320
|
-
// Verify that
|
|
321
|
-
VisualGraphSteps.getPredicates().should('have.length',
|
|
336
|
+
// Verify that 20 links (nodes) are displayed
|
|
337
|
+
VisualGraphSteps.getPredicates().should('have.length', 20);
|
|
322
338
|
// Verify that more than three nodes are displayed
|
|
323
|
-
VisualGraphSteps.getNodes().and('have.length',
|
|
339
|
+
VisualGraphSteps.getNodes().and('have.length', 21);
|
|
324
340
|
|
|
325
341
|
// Switch Include Inferred Statements off
|
|
326
342
|
VisualGraphSteps.toggleInferredStatements(false);
|
|
@@ -416,6 +432,9 @@ describe('Visual graph screen validation', () => {
|
|
|
416
432
|
// Modify the settings first
|
|
417
433
|
VisualGraphSteps.openVisualGraphSettings();
|
|
418
434
|
// Verify that the default settings are as follows:
|
|
435
|
+
// Maximum links to show: 20
|
|
436
|
+
VisualGraphSteps.updateLinksLimitField('10')
|
|
437
|
+
.should('have.value', '10');
|
|
419
438
|
// Preferred lang: en
|
|
420
439
|
cy.get('.preferred-languages .tag-item').should('have.length', 1)
|
|
421
440
|
.eq(0).should('contain', 'en');
|
|
@@ -456,6 +475,8 @@ describe('Visual graph screen validation', () => {
|
|
|
456
475
|
|
|
457
476
|
VisualGraphSteps.openVisualGraphSettings();
|
|
458
477
|
// Verify that the default settings are as follows:
|
|
478
|
+
// Maximum links to show: 20
|
|
479
|
+
VisualGraphSteps.getLinksNumberField().and('have.value', '20');
|
|
459
480
|
// Preferred lang: en
|
|
460
481
|
cy.get('.preferred-languages .tag-item').should('have.length', 1);
|
|
461
482
|
// Include inferred: false
|
|
@@ -245,6 +245,7 @@ describe('Graphql: create endpoint', () => {
|
|
|
245
245
|
// Then I should be on the generate endpoint step
|
|
246
246
|
CreateGraphqlEndpointSteps.getActiveStep().should('contain', 'Create');
|
|
247
247
|
CreateGraphqlEndpointSteps.getGenerateEndpointView().should('be.visible');
|
|
248
|
+
|
|
248
249
|
});
|
|
249
250
|
|
|
250
251
|
it('should be able to cancel the endpoint creation wizard', () => {
|
|
@@ -276,4 +277,5 @@ describe('Graphql: create endpoint', () => {
|
|
|
276
277
|
ModalDialogSteps.getDialog().should('not.exist');
|
|
277
278
|
cy.url().should('include', '/graphql/endpoints');
|
|
278
279
|
});
|
|
280
|
+
|
|
279
281
|
});
|
|
@@ -113,7 +113,7 @@ describe('Graphql: edit endpoint settings', () => {
|
|
|
113
113
|
"queryPrefix": null,
|
|
114
114
|
"mutationPrefix": null,
|
|
115
115
|
"sparqlFederatedServices": "{}",
|
|
116
|
-
"sparqlFederatedServicesPriority":
|
|
116
|
+
"sparqlFederatedServicesPriority": 'Deployment configurations',
|
|
117
117
|
}
|
|
118
118
|
});
|
|
119
119
|
});
|
package/{e2e-legacy → integration}/graphql/filter-graphql-endpoints-on-management-view.spec.js
RENAMED
|
@@ -45,7 +45,7 @@ describe('GraphQL endpoints filtering', () => {
|
|
|
45
45
|
GraphqlEndpointManagementSteps.getEndpointsInfo().should('have.length', 3);
|
|
46
46
|
});
|
|
47
47
|
|
|
48
|
-
it('should render no results banner when all endpoints are filtered', () => {
|
|
48
|
+
it.only('should render no results banner when all endpoints are filtered', () => {
|
|
49
49
|
// Given I have a repository with active GraphQL endpoints
|
|
50
50
|
// When I visit the endpoint management view
|
|
51
51
|
GraphqlEndpointManagementSteps.visit();
|
|
@@ -69,8 +69,6 @@ describe('GraphQL endpoints management', () => {
|
|
|
69
69
|
// Given I have a repository with active GraphQL endpoints
|
|
70
70
|
// When I visit the endpoint management view
|
|
71
71
|
GraphqlEndpointManagementSteps.visit();
|
|
72
|
-
// And I toggle the 3rd endpoint's active state to inactive
|
|
73
|
-
GraphqlEndpointManagementSteps.toggleEndpointActiveState(2);
|
|
74
72
|
// Then I should see the endpoints info
|
|
75
73
|
GraphqlEndpointManagementSteps.getEndpointTable().within(() => {
|
|
76
74
|
cy.get('thead th').should('have.length', 10);
|
|
@@ -87,6 +85,7 @@ describe('GraphQL endpoints management', () => {
|
|
|
87
85
|
GraphqlEndpointManagementSteps.getEndpointsInfo().should('have.length', 3);
|
|
88
86
|
GraphqlEndpointManagementSteps.verifyEndpointInfo([
|
|
89
87
|
{
|
|
88
|
+
status: 'deleted',
|
|
90
89
|
id: 'swapi',
|
|
91
90
|
label: 'Ontotext Star Wars Ontology',
|
|
92
91
|
description: '',
|
|
@@ -97,6 +96,7 @@ describe('GraphQL endpoints management', () => {
|
|
|
97
96
|
properties: 68
|
|
98
97
|
},
|
|
99
98
|
{
|
|
99
|
+
status: 'deleted',
|
|
100
100
|
id: 'swapi-planets',
|
|
101
101
|
label: 'Star Wars planets API',
|
|
102
102
|
description: '',
|
|
@@ -107,12 +107,12 @@ describe('GraphQL endpoints management', () => {
|
|
|
107
107
|
properties: 10
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
|
-
status:
|
|
110
|
+
status: 'deleted',
|
|
111
111
|
id: 'swapi-species',
|
|
112
112
|
label: 'Star Wars species API',
|
|
113
113
|
description: '',
|
|
114
114
|
default: false,
|
|
115
|
-
active:
|
|
115
|
+
active: true,
|
|
116
116
|
modified: ApplicationSteps.getCurrentDate(),
|
|
117
117
|
types: 2,
|
|
118
118
|
properties: 17
|
|
@@ -87,7 +87,7 @@ describe('GraphQL Playground', () => {
|
|
|
87
87
|
GraphiQLEditorToolsSteps.getGraphiQLEditorTabButton(1).contains('Headers');
|
|
88
88
|
|
|
89
89
|
// When: I change the language.
|
|
90
|
-
LanguageSelectorSteps.
|
|
90
|
+
LanguageSelectorSteps.changeLanguage('fr');
|
|
91
91
|
// Then: I expect to see GraphQL playground translated.
|
|
92
92
|
GraphiQLEditorToolsSteps.getGraphiQLEditorTabButton(1).contains('En-têtes');
|
|
93
93
|
});
|
|
@@ -73,6 +73,7 @@ describe('Graphql: import endpoint definitions', () => {
|
|
|
73
73
|
|
|
74
74
|
GraphqlEndpointManagementSteps.verifyEndpointInfo([
|
|
75
75
|
{
|
|
76
|
+
status: 'deleted',
|
|
76
77
|
id: 'swapi',
|
|
77
78
|
label: 'Ontotext Star Wars Ontology',
|
|
78
79
|
description: '',
|
|
@@ -166,6 +167,7 @@ describe('Graphql: import endpoint definitions', () => {
|
|
|
166
167
|
GraphqlEndpointManagementSteps.getEndpointsInfo().should('have.length', 3);
|
|
167
168
|
GraphqlEndpointManagementSteps.verifyEndpointInfo([
|
|
168
169
|
{
|
|
170
|
+
status: 'deleted',
|
|
169
171
|
id: 'swapi',
|
|
170
172
|
label: 'Ontotext Star Wars Ontology',
|
|
171
173
|
description: '',
|
|
@@ -176,6 +178,7 @@ describe('Graphql: import endpoint definitions', () => {
|
|
|
176
178
|
properties: 68
|
|
177
179
|
},
|
|
178
180
|
{
|
|
181
|
+
status: 'deleted',
|
|
179
182
|
id: 'swapi-planets',
|
|
180
183
|
label: 'Star Wars planets API',
|
|
181
184
|
description: '',
|
|
@@ -186,6 +189,7 @@ describe('Graphql: import endpoint definitions', () => {
|
|
|
186
189
|
properties: 10
|
|
187
190
|
},
|
|
188
191
|
{
|
|
192
|
+
status: 'deleted',
|
|
189
193
|
id: 'swapi-species',
|
|
190
194
|
label: 'Star Wars species API',
|
|
191
195
|
description: '',
|
|
@@ -229,6 +233,7 @@ describe('Graphql: import endpoint definitions', () => {
|
|
|
229
233
|
GraphqlEndpointManagementSteps.getEndpointsInfo().should('have.length', 2);
|
|
230
234
|
GraphqlEndpointManagementSteps.verifyEndpointInfo([
|
|
231
235
|
{
|
|
236
|
+
status: 'deleted',
|
|
232
237
|
id: 'swapi-planets',
|
|
233
238
|
label: 'Star Wars planets API',
|
|
234
239
|
description: '',
|
|
@@ -239,6 +244,7 @@ describe('Graphql: import endpoint definitions', () => {
|
|
|
239
244
|
properties: 10
|
|
240
245
|
},
|
|
241
246
|
{
|
|
247
|
+
status: 'deleted',
|
|
242
248
|
id: 'swapi-species',
|
|
243
249
|
label: 'Star Wars species API',
|
|
244
250
|
description: '',
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import {GuideSteps} from "../../steps/guides/guide-steps";
|
|
2
|
+
import {MoviesGuideSteps} from "../../steps/guides/movies-guide-steps";
|
|
3
|
+
|
|
4
|
+
const MOVIES_FILE_FOR_IMPORT = 'movies.ttl';
|
|
5
|
+
describe('Interactive guides', () => {
|
|
6
|
+
|
|
7
|
+
let repositoryId;
|
|
8
|
+
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
cy.intercept('/rest/guides', {fixture: '/guides/guides.json'}).as('getGuides');
|
|
11
|
+
repositoryId = 'movies';
|
|
12
|
+
cy.viewport(1880, 1000);
|
|
13
|
+
GuideSteps.visit();
|
|
14
|
+
cy.wait(['@getGuides']);
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
afterEach(() => {
|
|
18
|
+
cy.deleteUploadedFile(repositoryId, MOVIES_FILE_FOR_IMPORT);
|
|
19
|
+
cy.deleteRepository(repositoryId);
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
context('Describes "Movies" interactive guide', () => {
|
|
23
|
+
it('Tests movies interactive guide using "Next" button to the end', () => {
|
|
24
|
+
|
|
25
|
+
const stepAssertions = [
|
|
26
|
+
{assert: MoviesGuideSteps.assertExploreClassHierarchyStep1},
|
|
27
|
+
{assert: MoviesGuideSteps.assertExploreClassHierarchyStep2},
|
|
28
|
+
{assert: MoviesGuideSteps.assertExploreClassHierarchyStep3},
|
|
29
|
+
{assert: MoviesGuideSteps.assertExploreClassHierarchyStep4},
|
|
30
|
+
{assert: MoviesGuideSteps.assertExploreClassHierarchyStep5},
|
|
31
|
+
{assert: MoviesGuideSteps.assertExploreClassHierarchyStep6},
|
|
32
|
+
{assert: MoviesGuideSteps.assertExploreClassHierarchyStep7},
|
|
33
|
+
{assert: MoviesGuideSteps.assertClassHierarchyInstancesStep1},
|
|
34
|
+
{assert: MoviesGuideSteps.assertClassHierarchyInstancesStep2},
|
|
35
|
+
{assert: MoviesGuideSteps.assertClassHierarchyInstancesStep3},
|
|
36
|
+
{assert: MoviesGuideSteps.assertClassHierarchyInstancesStep4},
|
|
37
|
+
{assert: MoviesGuideSteps.assertClassHierarchyInstancesStep5},
|
|
38
|
+
// Forces the click because results are to many and dialog is not visible into the test.
|
|
39
|
+
{assert: MoviesGuideSteps.assertClassHierarchyInstancesStep6, forceButtonClick: true},
|
|
40
|
+
{assert: MoviesGuideSteps.assertClassHierarchyInstancesStep7, forceButtonClick: true},
|
|
41
|
+
{assert: MoviesGuideSteps.assertClassHierarchyInstancesStep8},
|
|
42
|
+
{assert: MoviesGuideSteps.assertExecuteSparqlQueryStep1},
|
|
43
|
+
{assert: MoviesGuideSteps.assertExecuteSparqlQueryStep2},
|
|
44
|
+
{assert: MoviesGuideSteps.assertExecuteSparqlQueryStep3},
|
|
45
|
+
{assert: MoviesGuideSteps.assertExecuteSparqlQueryStep4},
|
|
46
|
+
{assert: MoviesGuideSteps.assertExecuteSparqlQueryStep5},
|
|
47
|
+
{assert: MoviesGuideSteps.assertExecuteSparqlQueryStep6},
|
|
48
|
+
{assert: MoviesGuideSteps.assertExecuteSparqlQueryStep7},
|
|
49
|
+
{assert: MoviesGuideSteps.assertExecuteSparqlQueryStep8, forceButtonClick: true},
|
|
50
|
+
{assert: MoviesGuideSteps.assertExploreRDFStep1, forceButtonClick: true},
|
|
51
|
+
{assert: MoviesGuideSteps.assertExploreRDFStep2},
|
|
52
|
+
{assert: MoviesGuideSteps.assertExploreRDFStep3},
|
|
53
|
+
{assert: MoviesGuideSteps.assertExploreRDFStep4},
|
|
54
|
+
{assert: MoviesGuideSteps.assertExploreRDFStep5},
|
|
55
|
+
{assert: MoviesGuideSteps.assertExploreRDFStep6},
|
|
56
|
+
{assert: MoviesGuideSteps.assertExploreRDFStep7},
|
|
57
|
+
{assert: MoviesGuideSteps.assertExploreRDFStep8},
|
|
58
|
+
{assert: MoviesGuideSteps.assertExploreRDFStep9},
|
|
59
|
+
{assert: MoviesGuideSteps.assertExploreRDFStep10},
|
|
60
|
+
{assert: MoviesGuideSteps.assertSparqlQueryStep1},
|
|
61
|
+
{assert: MoviesGuideSteps.assertSparqlQueryStep2},
|
|
62
|
+
{assert: MoviesGuideSteps.assertSparqlQueryStep3},
|
|
63
|
+
{assert: MoviesGuideSteps.assertSparqlQueryStep4},
|
|
64
|
+
{assert: MoviesGuideSteps.assertSparqlQueryStep5},
|
|
65
|
+
{assert: MoviesGuideSteps.assertSparqlQueryStep6},
|
|
66
|
+
{assert: MoviesGuideSteps.assertSparqlQueryStep7}
|
|
67
|
+
];
|
|
68
|
+
|
|
69
|
+
const guideName = '3 The Movies database guide';
|
|
70
|
+
GuideSteps.runGuideTest(guideName, repositoryId, MOVIES_FILE_FOR_IMPORT, stepAssertions);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
});
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {GuideSteps} from "
|
|
2
|
-
import {StarWarsGuideSteps} from "
|
|
1
|
+
import {GuideSteps} from "../../steps/guides/guide-steps";
|
|
2
|
+
import {StarWarsGuideSteps} from "../../steps/guides/star-wars-guide-steps";
|
|
3
3
|
|
|
4
4
|
const STAR_WARS_FILE_FOR_IMPORT = 'starwars.ttl';
|
|
5
|
-
|
|
6
5
|
describe('Describes "Starwars" interactive guide', () => {
|
|
7
6
|
|
|
8
7
|
let repositoryId;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import HomeSteps from '../../steps/home-steps';
|
|
2
|
+
import {EnvironmentStubs} from "../../stubs/environment-stubs";
|
|
3
|
+
import {SecurityStubs} from "../../stubs/security-stubs";
|
|
4
|
+
import {SettingsSteps} from "../../steps/setup/settings-steps";
|
|
5
|
+
import {LicenseStubs} from "../../stubs/license-stubs";
|
|
6
|
+
|
|
7
|
+
Cypress.env('set_default_user_data', false);
|
|
8
|
+
|
|
9
|
+
describe('Cookie policy', () => {
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
cy.setDefaultUserData(false);
|
|
12
|
+
cy.viewport(1280, 1000);
|
|
13
|
+
LicenseStubs.stubFreeLicense();
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
afterEach(() => cy.setDefaultUserData());
|
|
17
|
+
|
|
18
|
+
it('Should show consent popup to user', () => {
|
|
19
|
+
HomeSteps.visit();
|
|
20
|
+
EnvironmentStubs.stubWbProdMode();
|
|
21
|
+
HomeSteps.getCookieConsentPopup().should('exist').and('be.visible');
|
|
22
|
+
// When I click on the link
|
|
23
|
+
HomeSteps.clickCookiePolicyLink();
|
|
24
|
+
// Then I see the cookie policy
|
|
25
|
+
HomeSteps.getCookiePolicyModal().should('exist').and('be.visible');
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it('Should show cookie policy to user in user settings', () => {
|
|
29
|
+
SettingsSteps.visit();
|
|
30
|
+
EnvironmentStubs.stubWbProdMode();
|
|
31
|
+
SettingsSteps.getCookiePolicyButton().should('exist').and('be.visible');
|
|
32
|
+
|
|
33
|
+
// When I click on the link
|
|
34
|
+
SettingsSteps.clickCookiePolicyLink();
|
|
35
|
+
// Then I see the cookie policy
|
|
36
|
+
SettingsSteps.getCookiePolicyModal().should('exist').and('be.visible');
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it('Should NOT show consent popup to user when tracking is not applicable', () => {
|
|
40
|
+
HomeSteps.visit();
|
|
41
|
+
HomeSteps.getCookieConsentPopup().should('not.exist');
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it('Should NOT show cookie policy to user when tracking is not applicable', {
|
|
45
|
+
retries: {
|
|
46
|
+
runMode: 1,
|
|
47
|
+
openMode: 0
|
|
48
|
+
}
|
|
49
|
+
}, () => {
|
|
50
|
+
SettingsSteps.visit();
|
|
51
|
+
SettingsSteps.getCookiePolicyButton().should('not.exist');
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it('Should save consent in user settings', () => {
|
|
55
|
+
HomeSteps.visit();
|
|
56
|
+
EnvironmentStubs.stubWbProdMode();
|
|
57
|
+
SecurityStubs.stubUpdateUserData('admin');
|
|
58
|
+
|
|
59
|
+
// When I click Agree button
|
|
60
|
+
HomeSteps.clickAgreeButton();
|
|
61
|
+
|
|
62
|
+
// I expect to save cookie consent in user settings
|
|
63
|
+
cy.wait('@updateUser').then((xhr) => {
|
|
64
|
+
expect(xhr.request.body.appSettings).to.include({
|
|
65
|
+
DEFAULT_INFERENCE: true,
|
|
66
|
+
DEFAULT_VIS_GRAPH_SCHEMA: true,
|
|
67
|
+
DEFAULT_SAMEAS: true,
|
|
68
|
+
IGNORE_SHARED_QUERIES: false,
|
|
69
|
+
EXECUTE_COUNT: true
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
// Assert COOKIE_CONSENT properties, excluding updatedAt
|
|
73
|
+
expect(xhr.request.body.appSettings.COOKIE_CONSENT).to.include({
|
|
74
|
+
policyAccepted: true,
|
|
75
|
+
statistic: true,
|
|
76
|
+
thirdParty: true
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
// Assert that updatedAt is present, is a number, and is a reasonable timestamp
|
|
80
|
+
const updatedAt = xhr.request.body.appSettings.COOKIE_CONSENT.updatedAt;
|
|
81
|
+
expect(updatedAt).to.exist;
|
|
82
|
+
expect(updatedAt).to.be.a('number');
|
|
83
|
+
|
|
84
|
+
// Check that updatedAt is within 1 hour of the current time
|
|
85
|
+
const oneHourInMilliseconds = 60 * 60 * 1000;
|
|
86
|
+
const now = Date.now();
|
|
87
|
+
expect(updatedAt).to.be.within(now - oneHourInMilliseconds, now + oneHourInMilliseconds);
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
});
|