graphdb-workbench-tests 3.4.0-TR4 → 3.4.0-TR5
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/.editorconfig +17 -0
- package/.nycrc +10 -0
- package/cypress-flaky.config.js +20 -6
- package/cypress-legacy.config.js +47 -0
- package/cypress-security.config.js +36 -0
- package/cypress.config.js +45 -6
- package/{integration-flaky → e2e-flaky}/explore/visual.graph.spec.js +4 -1
- package/{integration-flaky → e2e-flaky}/import/import-server-files-operations.spec.js +2 -2
- package/{integration-flaky → e2e-flaky}/import/import-user-data-batch-operations.spec.js +3 -3
- package/e2e-flaky/import/import-user-data-url.spec.js +63 -0
- package/{integration-flaky → e2e-flaky}/setup/sparql-template-create.js +10 -18
- package/{integration-flaky → e2e-flaky}/sparql-editor/actions/execute-update-query.spec.js +2 -12
- package/{integration-flaky → e2e-flaky}/sparql-editor/actions/share-query.spec.js +1 -7
- package/{integration-flaky → e2e-flaky}/sparql-editor/yasr/table-plugin.spec.js +3 -7
- package/{integration → e2e-legacy}/cluster/cluster-states.spec.js +3 -3
- package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository-without-class-hierarchy.spec.js +42 -0
- package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository.spec.js +43 -0
- package/e2e-legacy/explore/class-hierarchy/class-hierarchy-without-selected-repository.spec.js +30 -0
- package/{integration/explore → e2e-legacy/explore/class-hierarchy}/class.hierarchy.spec.js +1 -1
- package/e2e-legacy/explore/class-relationships/class-relationships-repository-with-data.spec.js +42 -0
- package/e2e-legacy/explore/class-relationships/class-relationships-with-selected-repository.spec.js +39 -0
- package/e2e-legacy/explore/class-relationships/class-relationships-without-selected-repository.spec.js +21 -0
- package/{integration/explore/class.relationships.spec.js → e2e-legacy/explore/class-relationships/class-relationships.spec.js} +20 -50
- package/{integration/explore → e2e-legacy/explore/graphs-overview}/graphs.overview.spec.js +4 -4
- package/e2e-legacy/explore/graphs-overview/initial-state/graphs-overview-with-selected-repository.spec.js +44 -0
- package/e2e-legacy/explore/graphs-overview/initial-state/graphs-overview-without-selected-repository.spec.js +32 -0
- package/e2e-legacy/explore/similarity-index/similarity-index-with-repository.spec.js +38 -0
- package/e2e-legacy/explore/similarity-index/similarity-index-without-repository.spec.js +21 -0
- package/{integration → e2e-legacy}/explore/visual-graph/graphs-config.spec.js +5 -10
- package/e2e-legacy/explore/visual-graph/node-info-panel.spec.js +58 -0
- package/e2e-legacy/explore/visual-graph/visual-graph-links-limit.spec.js +142 -0
- package/{integration → e2e-legacy}/explore/visual-graph/visual-graph-node-labels.spec.js +14 -2
- package/e2e-legacy/explore/visual-graph/visual-graph-with-selected-repository.js +38 -0
- package/e2e-legacy/explore/visual-graph/visual-graph-without-selected-repository.js +21 -0
- package/{integration → e2e-legacy}/explore/visual-graph/visual.graph.spec.js +75 -96
- package/{integration → e2e-legacy}/graphql/create-graphql-endpoint.spec.js +0 -2
- package/{integration → e2e-legacy}/graphql/edit-graphql-enpoint.spec.js +1 -1
- package/{integration → e2e-legacy}/graphql/filter-graphql-endpoints-on-management-view.spec.js +1 -1
- package/{integration → e2e-legacy}/graphql/graphql-endpoint-management-view.spec.js +4 -4
- package/e2e-legacy/graphql/graphql-endpoint-management-with-endpoints.spec.js +43 -0
- package/e2e-legacy/graphql/graphql-endpoint-management-with-selected-repository.spec.js +39 -0
- package/e2e-legacy/graphql/graphql-endpoint-management-without-selected-repository.spec.js +21 -0
- package/e2e-legacy/graphql/graphql-playground-with-endpoints.spec.js +40 -0
- package/e2e-legacy/graphql/graphql-playground-with-selected-repository.spec.js +38 -0
- package/e2e-legacy/graphql/graphql-playground-without-selected-repository.spec.js +22 -0
- package/{integration → e2e-legacy}/graphql/graphql-playground.spec.js +1 -1
- package/e2e-legacy/graphql/graphql-theme.spec.js +73 -0
- package/{integration → e2e-legacy}/graphql/import-graphql-endpoint-definitions.spec.js +0 -6
- package/e2e-legacy/guides/autocomplete/enable-autocomplete-guide.spec.js +49 -0
- package/e2e-legacy/guides/class-hierarcy/class-hierarchy-guide.spec.js +89 -0
- package/e2e-legacy/guides/class-relations/class-relations-guide.spec.js +76 -0
- package/e2e-legacy/guides/connectors/connectors-guide.spec.js +163 -0
- package/e2e-legacy/guides/create-similarity-index/create-similarity-index-guide.spec.js +74 -0
- package/e2e-legacy/guides/download-guide-resource/download-guide-resource-guide.js +55 -0
- package/e2e-legacy/guides/execute-sparql-query/execute-sparql-query-guide.spec.js +92 -0
- package/e2e-legacy/guides/import-rdf-file/confirm-duplicate-rdf-file.spec.js +63 -0
- package/e2e-legacy/guides/import-rdf-file/import-rdf-file.spec.js +105 -0
- package/e2e-legacy/guides/main-menu/main-menu-guide.spec.js +302 -0
- package/e2e-legacy/guides/navigation/navigation-guide.spec.js +64 -0
- package/e2e-legacy/guides/rdf-rank/rdf-rank-guide.spec.js +42 -0
- package/e2e-legacy/guides/repositories/create-repository-guide.spec.js +69 -0
- package/e2e-legacy/guides/table-graph-explore/table-graph-explore-guide.spec.js +168 -0
- package/e2e-legacy/guides/ttyg/configure-agent/configure-agent-guide.spec.js +158 -0
- package/e2e-legacy/guides/ttyg/conversation/ttyg-conversation-guide.spec.js +92 -0
- package/e2e-legacy/guides/ttyg/edit-agent/edit-ttyg-agent-guide.spec.js +88 -0
- package/e2e-legacy/guides/visual-graph/visual-graph-guide.spec.js +372 -0
- package/e2e-legacy/guides/welcome/welcome-guide.spec.js +36 -0
- package/e2e-legacy/help/guides/guides-autostart.spec.js +126 -0
- package/e2e-legacy/help/guides/guides-confirm-cancel-dialog.js +83 -0
- package/e2e-legacy/help/guides/guides-with-repository.spec.js +32 -0
- package/e2e-legacy/help/guides/guides-without-repository.spec.js +20 -0
- package/e2e-legacy/help/guides/movies-interactive-guide.spec.js +71 -0
- package/{integration/guides/star-wars-interactive-guide.js → e2e-legacy/help/guides/star-wars-interactive-guide.spec.js} +3 -2
- package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-with-repository.spec.js +32 -0
- package/e2e-legacy/help/rest-api-documentatio/rest-api-documentation-without-repository.spec.js +20 -0
- package/e2e-legacy/help/system-information/system-information-with-repository.spec.js +32 -0
- package/e2e-legacy/help/system-information/system-information-without-repository.spec.js +20 -0
- package/e2e-legacy/home/cookie-policy/cookie-policy.spec.js +182 -0
- package/e2e-legacy/home/documentation-link.spec.js +41 -0
- package/{integration → e2e-legacy}/home/google-analytics.spec.js +4 -6
- package/e2e-legacy/home/home-page-with-selected-repository.spec.js +69 -0
- package/e2e-legacy/home/home-page-without-repositories.spec.js +87 -0
- package/e2e-legacy/home/home-page-without-selected-repository.spec.js +59 -0
- package/{integration → e2e-legacy}/home/language-change.spec.js +2 -2
- package/e2e-legacy/home/rdf-resource-search.spec.js +160 -0
- package/e2e-legacy/home/view-resource-autocomplete.spec.js +65 -0
- package/{integration → e2e-legacy}/import/import-server-files.spec.js +5 -3
- package/{integration → e2e-legacy}/import/import-user-data-file-upload.spec.js +19 -13
- package/{integration → e2e-legacy}/import/import-user-data-text-snippet.spec.js +0 -2
- package/{integration → e2e-legacy}/import/import-user-data-url.spec.js +0 -23
- package/{integration → e2e-legacy}/import/import-user-data.spec.js +11 -4
- package/e2e-legacy/import/initial-state/import-page-with-selected-repositor.js +51 -0
- package/e2e-legacy/import/initial-state/import-page-with-selected-repository-without-imported-files.js +45 -0
- package/e2e-legacy/import/initial-state/import-page-without-selected-repository.spec.js +28 -0
- package/e2e-legacy/license/license-with-repository.spec.js +113 -0
- package/e2e-legacy/license/license-without-repository.spec.js +103 -0
- package/{integration → e2e-legacy}/license/license.spec.js +4 -4
- package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-with-repository.spec.js +36 -0
- package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-without-repository.spec.js +25 -0
- package/{integration/monitor/monitor.backup-and-restore.spec.js → e2e-legacy/monitor/backup-and-restore/backup-and-restore.spec.js} +2 -2
- package/{integration → e2e-legacy}/monitor/global-operation-statuses-component.spec.js +12 -5
- package/e2e-legacy/monitor/query-and-updates/queries-and-updates-with-repository.spec.js +39 -0
- package/e2e-legacy/monitor/query-and-updates/queries-and-updates-without-repository.spec.js +21 -0
- package/{integration/monitor → e2e-legacy/monitor/system}/monitor.resources.spec.js +3 -2
- package/e2e-legacy/monitor/system/system-monitoring-with-repository.spec.js +32 -0
- package/e2e-legacy/monitor/system/system-monitoring-without-repository.spec.js +20 -0
- package/e2e-legacy/not-found/not-found.spec.js +23 -0
- package/{integration → e2e-legacy}/repository/ontop-repository.spec.js +1 -1
- package/{integration → e2e-legacy}/repository/repositories.spec.js +37 -45
- package/e2e-legacy/repository/url-with-repository-id-parameter.spec.js +181 -0
- package/{integration → e2e-legacy}/resource/resource.spec.js +50 -20
- package/e2e-legacy/setup/aclmanagement/acl-management-with-selected repository.spec.js +84 -0
- package/e2e-legacy/setup/aclmanagement/acl-management-without-repositories.spec.js +21 -0
- package/{integration → e2e-legacy}/setup/aclmanagement/create-rule.spec.js +4 -0
- package/e2e-legacy/setup/autocomplete/autocomplete-with-repository.spec.js +40 -0
- package/e2e-legacy/setup/autocomplete/autocomplete-without-repository.spec.js +27 -0
- package/{integration/setup → e2e-legacy/setup/autocomplete}/autocomplete.spec.js +6 -7
- package/e2e-legacy/setup/cluster/cluster-initial-state-with-cluster.spec.js +34 -0
- package/e2e-legacy/setup/cluster/cluster-initial-state-without-cluster.spec.js +25 -0
- package/e2e-legacy/setup/connectors/connectors-initial-state-with-selected-repository.spec.js +41 -0
- package/e2e-legacy/setup/connectors/connectors-initial-state-without-repositories.spec.js +21 -0
- package/{integration → e2e-legacy}/setup/connectors-lucene.spec.js +26 -10
- package/{integration → e2e-legacy}/setup/jdbc/jdbc-create.spec.js +4 -4
- package/e2e-legacy/setup/jdbc/jdbc-with-repository.spec.js +39 -0
- package/e2e-legacy/setup/jdbc/jdbc-without-repository.spec.js +27 -0
- package/e2e-legacy/setup/namespaces/namespaces-with-repository.spec.js +44 -0
- package/e2e-legacy/setup/namespaces/namespaces-without-repository.spec.js +27 -0
- package/{integration/setup → e2e-legacy/setup/namespaces}/namespaces.spec.js +6 -5
- package/e2e-legacy/setup/plugins/plugins-with-repository.spec.js +38 -0
- package/e2e-legacy/setup/plugins/plugins-without-repository.spec.js +28 -0
- package/{integration/setup → e2e-legacy/setup/plugins}/plugins.spec.js +3 -3
- package/e2e-legacy/setup/rdf-rank/rdf-rank-with-repository.spec.js +40 -0
- package/e2e-legacy/setup/rdf-rank/rdf-rank-without-repository.spec.js +30 -0
- package/{integration/setup → e2e-legacy/setup/rdf-rank}/rdf-rank.spec.js +3 -5
- package/e2e-legacy/setup/repositories/repositories-view-with-repositories.spec.js +40 -0
- package/e2e-legacy/setup/repositories/repositories-view-without-repositories.spec.js +28 -0
- package/e2e-legacy/setup/settings/my-settings-initial-state.spec.js +86 -0
- package/e2e-legacy/setup/settings/my-settings.spec.js +207 -0
- package/{integration/setup/sparql-template-create.js → e2e-legacy/setup/sparql-template/sparql-template-create.spec.js} +16 -8
- package/e2e-legacy/setup/sparql-template/sparql-template-with-repository.spec.js +39 -0
- package/e2e-legacy/setup/sparql-template/sparql-template-without-repository.spec.js +29 -0
- package/{integration/setup → e2e-legacy/setup/sparql-template}/sparql-templates.spec.js +4 -4
- package/{integration/setup → e2e-legacy/setup/users-and-access}/user-and-access.spec.js +184 -87
- package/e2e-legacy/setup/users-and-access/users-and-access-initial-state.spec.js +25 -0
- package/{integration → e2e-legacy}/sparql-editor/actions/expand-results-over-sameas.spec.js +12 -12
- package/{integration → e2e-legacy}/sparql-editor/actions/include-inferred-statements.spec.js +6 -6
- package/{integration → e2e-legacy}/sparql-editor/actions/inferred-sameas.spec.js +10 -8
- package/{integration → e2e-legacy}/sparql-editor/actions/show-saved-queries.spec.js +1 -6
- package/{integration → e2e-legacy}/sparql-editor/saved-query/abort-query.spec.js +1 -1
- package/{integration → e2e-legacy}/sparql-editor/saved-query/edit-query.spec.js +3 -3
- package/{integration → e2e-legacy}/sparql-editor/saved-query/readonly-query.spec.js +15 -24
- package/{integration → e2e-legacy}/sparql-editor/saved-query/share-query.spec.js +32 -1
- package/e2e-legacy/sparql-editor/sparql-page-with-selected-repository.spec.js +33 -0
- package/e2e-legacy/sparql-editor/sparql-page-without-selected-repository.spec.js +26 -0
- package/{integration → e2e-legacy}/sparql-editor/yasgui-tabs.spec.js +2 -12
- package/e2e-legacy/sparql-editor/yasqe-themes.spec.js +54 -0
- package/{integration → e2e-legacy}/sparql-editor/yasr/pagination.spec.js +5 -18
- package/{integration → e2e-legacy}/sparql-editor/yasr/table-plugin.spec.js +1 -6
- package/e2e-legacy/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +106 -0
- package/e2e-legacy/sparql-editor/yasr/yasr.spec.js +80 -0
- package/{integration → e2e-legacy}/ttyg/agent-list.spec.js +53 -2
- package/{integration → e2e-legacy}/ttyg/agent-select-menu.spec.js +25 -2
- package/{integration → e2e-legacy}/ttyg/chat-list.spec.js +3 -14
- package/{integration → e2e-legacy}/ttyg/chat-panel.spec.js +74 -6
- package/{integration → e2e-legacy}/ttyg/clone-agent.spec.js +24 -2
- package/{integration → e2e-legacy}/ttyg/create-agent.spec.js +37 -66
- package/{integration → e2e-legacy}/ttyg/create-chat.spec.js +6 -4
- package/{integration → e2e-legacy}/ttyg/delete-agent.spec.js +1 -2
- package/e2e-legacy/ttyg/edit-agent.spec.js +178 -0
- package/e2e-legacy/ttyg/ttyg-initial-state-with-configured-api-key.spec.js +46 -0
- package/e2e-legacy/ttyg/ttyg-initial-state-with-selected-repository.spec.js +45 -0
- package/e2e-legacy/ttyg/ttyg-initial-state-without-repositories.spec.js +21 -0
- package/{integration-flaky → e2e-legacy}/ttyg/ttyg-permission.spec.js +23 -17
- package/{integration → e2e-legacy}/ttyg/ttyg-view.spec.js +2 -2
- package/e2e-security/repository/url-with-repository-id-parameter.spec.js +57 -0
- package/e2e-security/setup/home/cookie-policy.spec.js +290 -0
- package/e2e-security/setup/users-and-access/create-user-permissions.spec.js +193 -0
- package/e2e-security/setup/users-and-access/graphql-user.spec.js +126 -0
- package/e2e-security/setup/users-and-access/repo-admin-role.spec.js +70 -0
- package/e2e-security/setup/users-and-access/turn-on-security-and-password-change.spec.js +99 -0
- package/e2e-security/setup/users-and-access/user-and-access.spec.js +87 -0
- package/e2e-security/setup/users-and-access/users-and-access-initial-state.spec.js +38 -0
- package/eslint.config.js +39 -0
- package/fixtures/graph/graph-configurations.json +59 -0
- package/fixtures/guides/autocomplete/enable-autocomplete-guide.json +12 -0
- package/fixtures/guides/class-hierarchy/class-hierarchy-guide.json +35 -0
- package/fixtures/guides/class-relations/class-relations-guide.json +33 -0
- package/fixtures/guides/confirm-cancel-dialog/confirm-cancel-dialog-guide.json +15 -0
- package/fixtures/guides/connectors/connectors-guide.json +66 -0
- package/fixtures/guides/connectors/lucene-connector-guide.json +120 -0
- package/fixtures/guides/create-repository/create-repository-guide.json +25 -0
- package/fixtures/guides/create-similarity-index/create-similarity-index-guide.json +36 -0
- package/fixtures/guides/download-guide-resource/download-guide-resource-guide.json +25 -0
- package/fixtures/guides/download-resource.ttl +629 -0
- package/fixtures/guides/execute-sparql-query/execute-sparql-query-guide.json +54 -0
- package/fixtures/guides/import-rdf-file/confirm-duplicate-rdf-file-guide.json +30 -0
- package/fixtures/guides/import-rdf-file/import-rdf-file-guide.json +21 -0
- package/fixtures/guides/main-menu/main-menu-guide.json +98 -0
- package/fixtures/guides/navigation/navigation-guide.json +60 -0
- package/fixtures/guides/rdf-rank/rdf-rank-guide.json +18 -0
- package/fixtures/guides/table-graph-explore/table-graph-explore-guide.json +51 -0
- package/fixtures/guides/table-graph-explore/table-graph-explore-without-substeps-guide.json +25 -0
- package/fixtures/guides/ttyg/configure-agent/configure-ttyg-agent-guide.json +74 -0
- package/fixtures/guides/ttyg/conversation/ttyg-conversation-guide.json +26 -0
- package/fixtures/guides/ttyg/edit-ttyg-agent/edit-ttyg-agent-guide.json +22 -0
- package/fixtures/guides/visual-graph/visual-graph-config-guide.json +39 -0
- package/fixtures/guides/visual-graph/visual-graph-guide.json +85 -0
- package/fixtures/guides/welcome/welcome-guide.json +18 -0
- package/fixtures/repositories/free-access.json +13 -0
- package/fixtures/similarity/get-ttyg-similarity-instances.json +10 -0
- package/fixtures/ttyg/agent/get-agent-defaults-assistant-api.json +44 -0
- package/fixtures/ttyg/agent/get-agent-defaults.json +9 -2
- package/fixtures/ttyg/agent/get-agent-list-with-incompatible-agents.json +79 -0
- package/fixtures/ttyg/agent/get-similarity-indexes-for-another-repo.json +8 -0
- package/fixtures/ttyg/agent/get-similarity-indexes.json +22 -0
- package/fixtures/ttyg/chats/ask-question-cancel.json +12 -0
- package/fixtures/ttyg/chats/ask-question.json +12 -2
- package/fixtures/ttyg/chats/cancel-question-response.json +1 -0
- package/fixtures/ttyg/chats/create/create-chat-response.json +10 -14
- package/fixtures/ttyg/chats/create/question-response-after-chat-creation.json +29 -0
- package/fixtures/ttyg/chats/explain-response-1.json +2 -48
- package/fixtures/ttyg/chats/explain-response-3.json +12 -0
- package/fixtures/ttyg/chats/get-chat.json +6 -1
- package/npm-shrinkwrap.json +11004 -3815
- package/package.json +58 -42
- package/plugins/index.js +10 -5
- package/steps/application-steps.js +8 -6
- package/steps/base-steps.js +29 -0
- package/steps/class-views-steps.js +35 -7
- package/steps/cluster/cluster-page-steps.js +12 -2
- package/steps/cookie-policy/cookie-consent-banner-steps.js +21 -0
- package/steps/cookie-policy/cookie-policy-modal.steps.js +56 -0
- package/steps/error-page-steps.js +9 -0
- package/steps/error-steps.js +15 -3
- package/steps/explore/class-relationships-steps.js +64 -0
- package/steps/explore/graphs-overview-steps.js +21 -1
- package/steps/explore/similarity-index-create-steps.js +5 -3
- package/steps/explore/similarity-indexes-steps.js +16 -2
- package/steps/graphql/graphql-endpoint-management-steps.js +2 -2
- package/steps/graphql/playground-editor-steps.js +46 -0
- package/steps/guides/guide-dialog-steps.js +81 -2
- package/steps/guides/guide-steps.js +54 -2
- package/steps/guides/movies-guide-steps.js +2 -1
- package/steps/header-steps.js +22 -0
- package/steps/home-steps.js +184 -77
- package/steps/import/import-resource-message-dialog.js +1 -1
- package/steps/import/import-steps.js +12 -16
- package/steps/import/import-user-data-steps.js +5 -1
- package/steps/language-selector-steps.js +2 -2
- package/steps/license-steps.js +91 -9
- package/steps/login-steps.js +31 -6
- package/steps/main-menu-steps.js +244 -19
- package/steps/modal-dialog-steps.js +32 -1
- package/steps/monitoring/backup-and-restore-steps.js +9 -3
- package/steps/monitoring/queries-and-updates-steps.js +20 -0
- package/steps/monitoring/system-monitoring-steps.js +40 -0
- package/steps/not-found/not-found-steps.js +23 -0
- package/steps/operations-statuses-component-steps.js +5 -10
- package/steps/rdf-resource-search-steps.js +55 -0
- package/steps/repository-selector-steps.js +3 -3
- package/steps/repository-steps.js +88 -18
- package/steps/resource/resource-steps.js +6 -10
- package/steps/rest-api-documentation-steps.js +15 -0
- package/steps/setup/acl-management-steps.js +18 -2
- package/steps/setup/autocomplete-steps.js +23 -8
- package/steps/setup/connectors-steps.js +32 -0
- package/steps/setup/jdbc-steps.js +18 -4
- package/steps/setup/namespace-steps.js +10 -7
- package/steps/setup/plugins-steps.js +12 -5
- package/steps/setup/rdf-rank-steps.js +23 -9
- package/steps/setup/settings-steps.js +101 -2
- package/steps/setup/sparql-templates-steps.js +19 -1
- package/steps/setup/user-and-access-steps.js +50 -16
- package/steps/shared-modal-dialog-steps.js +45 -0
- package/steps/sparql-editor-steps.js +21 -2
- package/steps/sparql-steps.js +13 -1
- package/steps/system-information-steps.js +70 -0
- package/steps/toaster-steps.js +18 -6
- package/steps/ttyg/chat-panel-steps.js +40 -2
- package/steps/ttyg/ttyg-agent-settings-modal.steps.js +136 -31
- package/steps/ttyg/ttyg-view-steps.js +80 -10
- package/steps/visual-graph-split-button-steps.js +45 -0
- package/steps/visual-graph-steps.js +106 -10
- package/steps/widgets/active-repository-widget-steps.js +29 -0
- package/steps/widgets/license-widget-steps.js +9 -0
- package/steps/widgets/repository-errors-widget-steps.js +21 -0
- package/steps/widgets/saved-sparql-queries-widget-steps.js +9 -0
- package/steps/yasgui/yasgui-loader.js +3 -3
- package/steps/yasgui/yasgui-steps.js +1 -1
- package/steps/yasgui/yasqe-steps.js +35 -4
- package/steps/yasgui/yasr-steps.js +35 -5
- package/stubs/autocomplete/autocomplete-stubs.js +7 -0
- package/stubs/browser-stubs.js +21 -0
- package/stubs/environment-stubs.js +9 -1
- package/stubs/graph-config-stubs.js +17 -0
- package/stubs/guides/guides-stubs.js +103 -0
- package/stubs/license-stubs.js +51 -0
- package/stubs/repositories/repositories-stubs.js +180 -75
- package/stubs/saved-queries-stubs.js +5 -0
- package/stubs/security-stubs.js +12 -0
- package/stubs/similarity-index-stubs.js +4 -0
- package/stubs/sparql-stubs.js +10 -0
- package/stubs/ttyg/ttyg-stubs.js +64 -15
- package/stubs/yasgui/query-stubs.js +5 -1
- package/support/commands.js +22 -1
- package/support/connector-commands.js +13 -0
- package/support/e2e-security.js +9 -0
- package/support/{index.js → e2e.js} +9 -3
- package/support/repository-commands.js +29 -4
- package/support/settings-commands.js +33 -1
- package/support/url-commands.js +13 -0
- package/support/user-commands.js +9 -4
- package/utils/html-util.js +24 -4
- package/Dockerfile +0 -11
- package/fixtures/locale-en.json +0 -3342
- package/integration/explore/similarity-index/similarity-index-create.spec.js +0 -333
- package/integration/explore/similarity-index/similarity-index.spec.js +0 -88
- package/integration/explore/similarity-index/similarity.spec.js +0 -628
- package/integration/guides/movies-interactive-guide.spec.js +0 -73
- package/integration/home/cookie-policy.spec.js +0 -90
- package/integration/home/documentation-link.spec.js +0 -60
- package/integration/home/language-selector.spec.js +0 -19
- package/integration/home/rdf-resource-search.spec.js +0 -177
- package/integration/home/view-resource-autocomplete.spec.js +0 -52
- package/integration/home/workbench.home.spec.js +0 -30
- package/integration/monitor/monitor.queries.spec.js +0 -31
- package/integration/setup/my-settings.spec.js +0 -289
- package/integration/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +0 -57
- package/integration/ttyg/edit-agent.spec.js +0 -99
- package/integration-flaky/setup/users-and-access/security-and-free-access.spec.js +0 -54
- package/stubs/repositories-stub.js +0 -73
- package/{integration-flaky → e2e-flaky}/import/import.server.files.spec.js +0 -0
- package/{integration-flaky → e2e-flaky}/sparql-editor/lucene-connector.spec.js +0 -0
- package/{integration-flaky → e2e-flaky}/sparql-editor/plugins/error-plugin.spec.js +0 -0
- package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-multi-region.spec.js +0 -0
- package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-nodes.spec.js +0 -0
- package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-properties.spec.js +0 -0
- package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration.spec.js +0 -0
- package/{integration → e2e-legacy}/cluster/cluster-legend.spec.js +0 -0
- package/{integration → e2e-legacy}/cluster/edit-cluster-nodes-modal.spec.js +0 -0
- package/{integration → e2e-legacy}/graphql/activate-deactivate-graphql-endpoint.spec.js +0 -0
- package/{integration → e2e-legacy}/graphql/delete-graphql-endpoint.spec.js +0 -0
- package/{integration → e2e-legacy}/graphql/export-graphql-endpoint-definition.spec.js +0 -0
- package/{integration → e2e-legacy}/graphql/set-default-graphql-endpoint.spec.js +0 -0
- package/{integration/help → e2e-legacy/help/system-information}/system-information.spec.js +0 -0
- package/{integration → e2e-legacy}/home/create-repository.spec.js +0 -0
- package/{integration → e2e-legacy}/import/import-server-files-batch-operations.spec.js +0 -0
- package/{integration → e2e-legacy}/import/import-user-data-settings-dialog.spec.js +0 -0
- package/{integration → e2e-legacy}/import/import-view.spec.js +0 -0
- package/{integration → e2e-legacy}/repository/attach-remote-location.spec.js +1 -1
- /package/{integration → e2e-legacy}/repository/repository-commands.spec.js +0 -0
- /package/{integration → e2e-legacy}/setup/aclmanagement/delete-rule.spec.js +0 -0
- /package/{integration → e2e-legacy}/setup/aclmanagement/edit-rule.spec.js +0 -0
- /package/{integration → e2e-legacy}/setup/aclmanagement/render-rules.spec.js +0 -0
- /package/{integration → e2e-legacy}/setup/aclmanagement/reorder-rules.spec.js +0 -0
- /package/{integration → e2e-legacy}/setup/aclmanagement/revert-rules.spec.js +0 -0
- /package/{integration → e2e-legacy}/setup/aclmanagement/scopes.spec.js +0 -0
- /package/{integration → e2e-legacy}/setup/aclmanagement/update-rules.spec.js +0 -0
- /package/{integration → e2e-legacy}/setup/jdbc/jdbc.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/actions/execute-query.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/actions/save-query.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/internationalization.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/saved-query/delete-query.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/sparql-editor.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/yasr/download-as.spec.js +0 -0
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import {GuideSteps} from "../../steps/guides/guide-steps";
|
|
2
|
-
import {MoviesGuideSteps} from "../../steps/guides/movies-guide-steps";
|
|
3
|
-
|
|
4
|
-
const MOVIES_FILE_FOR_IMPORT = 'movies.ttl';
|
|
5
|
-
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,90 +0,0 @@
|
|
|
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
|
-
});
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import HomeSteps from '../../steps/home-steps';
|
|
2
|
-
import {EnvironmentStubs} from "../../stubs/environment-stubs";
|
|
3
|
-
|
|
4
|
-
describe('Documentation links resolver', () => {
|
|
5
|
-
|
|
6
|
-
beforeEach(() => {
|
|
7
|
-
cy.viewport(1280, 1000);
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it('Should link to master version when in dev mode', () => {
|
|
11
|
-
HomeSteps.visit();
|
|
12
|
-
EnvironmentStubs.stubWbDevMode();
|
|
13
|
-
HomeSteps.clickHelpMenu();
|
|
14
|
-
// Assert that links point to the master version
|
|
15
|
-
assertDocumentationLinks('master');
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
it('Should link to master version when in prod mode and unofficial version', () => {
|
|
19
|
-
EnvironmentStubs.stubProductInfo('10.8-TR1-test');
|
|
20
|
-
HomeSteps.visit();
|
|
21
|
-
EnvironmentStubs.stubWbProdMode();
|
|
22
|
-
HomeSteps.clickHelpMenu();
|
|
23
|
-
// Assert that links point to the master version
|
|
24
|
-
assertDocumentationLinks('master');
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
it('Should link to GDB version when in prod mode and official version', () => {
|
|
28
|
-
EnvironmentStubs.stubProductInfo('10.8');
|
|
29
|
-
HomeSteps.visit();
|
|
30
|
-
EnvironmentStubs.stubWbProdMode();
|
|
31
|
-
HomeSteps.clickHelpMenu();
|
|
32
|
-
// Assert that links point to the specific GDB version
|
|
33
|
-
assertDocumentationLinks('10.8');
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
function assertDocumentationLinks(version) {
|
|
38
|
-
const baseUrl = `https://graphdb.ontotext.com/documentation/${version}`;
|
|
39
|
-
|
|
40
|
-
HomeSteps.getDocumentationLink()
|
|
41
|
-
.should('exist')
|
|
42
|
-
.and('be.visible')
|
|
43
|
-
.find('a')
|
|
44
|
-
.should('have.attr', 'href', `${baseUrl}/index.html`)
|
|
45
|
-
.and('contain.text', 'Documentation');
|
|
46
|
-
|
|
47
|
-
HomeSteps.getTutorialsLink()
|
|
48
|
-
.should('exist')
|
|
49
|
-
.and('be.visible')
|
|
50
|
-
.find('a')
|
|
51
|
-
.should('have.attr', 'href', `${baseUrl}/tutorials.html`)
|
|
52
|
-
.and('contain.text', 'Tutorials');
|
|
53
|
-
|
|
54
|
-
HomeSteps.getSupportLink()
|
|
55
|
-
.should('exist')
|
|
56
|
-
.and('be.visible')
|
|
57
|
-
.find('a')
|
|
58
|
-
.should('have.attr', 'href', `${baseUrl}/support.html`)
|
|
59
|
-
.and('contain.text', 'Support');
|
|
60
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import HomeSteps from '../../steps/home-steps';
|
|
2
|
-
|
|
3
|
-
describe('Language selector', () => {
|
|
4
|
-
|
|
5
|
-
beforeEach(() => {
|
|
6
|
-
cy.viewport(1280, 1000);
|
|
7
|
-
HomeSteps.visitAndWaitLoader();
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it('Should be able to change the language', () => {
|
|
11
|
-
cy.get('#languageGroupDrop')
|
|
12
|
-
.should('be.visible')
|
|
13
|
-
.click()
|
|
14
|
-
.then(() => {
|
|
15
|
-
cy.get('.dropdown-menu .dropdown-item')
|
|
16
|
-
.should('have.length.at.least', 1);
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
});
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
import HomeSteps from '../../steps/home-steps';
|
|
2
|
-
|
|
3
|
-
const FILE_TO_IMPORT = 'wine.rdf';
|
|
4
|
-
|
|
5
|
-
describe('RDF resource search', () => {
|
|
6
|
-
let repositoryId;
|
|
7
|
-
beforeEach(() => {
|
|
8
|
-
cy.viewport(1280, 1000);
|
|
9
|
-
repositoryId = '23repo' + Date.now();
|
|
10
|
-
cy.createRepository({id: repositoryId});
|
|
11
|
-
cy.initializeRepository(repositoryId);
|
|
12
|
-
cy.enableAutocomplete(repositoryId);
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
afterEach(() => {
|
|
16
|
-
cy.deleteRepository(repositoryId);
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
it('Search button should not be present when no repo is selected', () => {
|
|
20
|
-
HomeSteps.visitAndWaitLoader();
|
|
21
|
-
// Given the page has loaded the license label (otherwise locally test passes after the loader disappears and before other elements are rendered)
|
|
22
|
-
HomeSteps.getLicenseAsLabel().should('be.visible');
|
|
23
|
-
cy.get('.search-rdf-btn').should('not.exist');
|
|
24
|
-
cy.get('.search-rdf-input').should('not.exist');
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
it('Search should be made from home page search when repo is set and on home page', () => {
|
|
28
|
-
// When I visit home page with selected repository
|
|
29
|
-
cy.presetRepository(repositoryId);
|
|
30
|
-
HomeSteps.visitAndWaitLoader();
|
|
31
|
-
// Search rdf button should be visible
|
|
32
|
-
cy.get('.search-rdf-btn').should('be.visible');
|
|
33
|
-
// When I click the button
|
|
34
|
-
HomeSteps.doNotOpenRdfSearchBoxButFocusResourceSearch();
|
|
35
|
-
// I should be able to type some text in the input on home page
|
|
36
|
-
cy.get('#search-resource-input-home > #search-resource-box > input').type('hasPos');
|
|
37
|
-
// And the autocomplete dropdown should become visible
|
|
38
|
-
cy.get('#search-resource-input-home > #auto-complete-results-wrapper').should('be.visible');
|
|
39
|
-
// // When I click the close button
|
|
40
|
-
cy.get('#search-resource-input-home > #search-resource-box > .clear-icon').click();
|
|
41
|
-
// // The input should be cleared
|
|
42
|
-
cy.get('#search-resource-input-home > #search-resource-box > input').should('have.value', '');
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
it('Search should be present when repo is set', () => {
|
|
46
|
-
// When I visit not home page with selected repository
|
|
47
|
-
cy.presetRepository(repositoryId);
|
|
48
|
-
cy.visit('/graphs');
|
|
49
|
-
cy.get('.ot-splash').should('not.be.visible');
|
|
50
|
-
cy.get('.ot-loader-new-content').should('not.exist');
|
|
51
|
-
// Search rdf button should be visible
|
|
52
|
-
cy.get('.search-rdf-btn').should('be.visible');
|
|
53
|
-
// When I click the button
|
|
54
|
-
HomeSteps.openRdfSearchBox();
|
|
55
|
-
// I should be able to type some text in the input
|
|
56
|
-
cy.get('.search-rdf-input search-resource-input .view-res-input').type('hasPos');
|
|
57
|
-
// And the autocomplete dropdown should become visible
|
|
58
|
-
cy.get('.search-rdf-input #auto-complete-results-wrapper').should('be.visible');
|
|
59
|
-
// When I click the close button
|
|
60
|
-
cy.get('.close-rdf-search-btn').click();
|
|
61
|
-
// The input should not be cleared
|
|
62
|
-
cy.get('.search-rdf-input search-resource-input .view-res-input').should('have.value', 'hasPos');
|
|
63
|
-
// And the search bar should hide and not be visible
|
|
64
|
-
cy.get('.search-rdf-input').should('not.be.visible');
|
|
65
|
-
// And the suggestions list should not be visible
|
|
66
|
-
cy.get('.search-rdf-input #auto-complete-results-wrapper').should('not.be.visible');
|
|
67
|
-
// And the search button should be visible
|
|
68
|
-
cy.get('.search-rdf-btn').should('be.visible');
|
|
69
|
-
// When I open again the search box
|
|
70
|
-
HomeSteps.openRdfSearchBox();
|
|
71
|
-
// The input should have value 'hasPos'
|
|
72
|
-
cy.get('.search-rdf-input search-resource-input .view-res-input').should('have.value', 'hasPos');
|
|
73
|
-
// And dropdown should be visible
|
|
74
|
-
cy.get('.search-rdf-input #auto-complete-results-wrapper').should('be.visible');
|
|
75
|
-
// When I press 'escape'
|
|
76
|
-
cy.get('.search-rdf-input search-resource-input .view-res-input').type('{esc}');
|
|
77
|
-
// Search box should not be visible
|
|
78
|
-
cy.get('.search-rdf-input').should('not.be.visible');
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
it('Search should be persisted on page reload', () => {
|
|
82
|
-
// Given I've selected a repository and visit the page
|
|
83
|
-
cy.presetRepository(repositoryId);
|
|
84
|
-
cy.visit('/graphs', {
|
|
85
|
-
onBeforeLoad(win) {
|
|
86
|
-
cy.stub(win, 'open').as('window.open');
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
cy.get('.ot-splash').should('not.be.visible');
|
|
90
|
-
cy.get('.ot-loader-new-content').should('not.exist');
|
|
91
|
-
// Search rdf button should be visible
|
|
92
|
-
cy.get('.search-rdf-btn').should('be.visible');
|
|
93
|
-
// When I click the button
|
|
94
|
-
HomeSteps.openRdfSearchBox();
|
|
95
|
-
// I should be able to type some text in the input
|
|
96
|
-
cy.get('.search-rdf-input search-resource-input .view-res-input')
|
|
97
|
-
.type('hasPos').then(() => {
|
|
98
|
-
// When I select option from suggestions
|
|
99
|
-
cy.get(".search-rdf-input #auto-complete-results-wrapper p")
|
|
100
|
-
.contains('hasPos')
|
|
101
|
-
.click()
|
|
102
|
-
.then(() => {
|
|
103
|
-
// Search result should be opened in new window
|
|
104
|
-
cy.get('@window.open').should('be.calledWith', 'resource?uri=http%3A%2F%2Fwww.w3.org%2Fns%2Forg%23hasPost');
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
// When I revisit the home page
|
|
109
|
-
cy.visit('/graphs');
|
|
110
|
-
// When I open again the search box
|
|
111
|
-
HomeSteps.openRdfSearchBox();
|
|
112
|
-
// The input should have value 'hasPos' from previous search
|
|
113
|
-
cy.get('.search-rdf-input search-resource-input .view-res-input').should('have.value', 'hasPos');
|
|
114
|
-
// And dropdown should be visible
|
|
115
|
-
cy.get('.search-rdf-input #auto-complete-results-wrapper').should('be.visible');
|
|
116
|
-
// When I press 'escape'
|
|
117
|
-
cy.get('.search-rdf-input search-resource-input .view-res-input')
|
|
118
|
-
.type('{esc}')
|
|
119
|
-
.then(() => {
|
|
120
|
-
// Search box should not be visible
|
|
121
|
-
cy.get('.search-rdf-input').should('not.be.visible');
|
|
122
|
-
});
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
it('Should test RDF resource search box', () => {
|
|
126
|
-
//Prepare repository and import data.
|
|
127
|
-
cy.presetRepository(repositoryId);
|
|
128
|
-
cy.importServerFile(repositoryId, FILE_TO_IMPORT);
|
|
129
|
-
HomeSteps.visitAndWaitLoader();
|
|
130
|
-
|
|
131
|
-
//Verify that the main resource search box is focused
|
|
132
|
-
getRDFResourceSearchBox().click();
|
|
133
|
-
cy.focused().should('have.attr', 'placeholder', 'Search RDF resources...');
|
|
134
|
-
|
|
135
|
-
//Navigate away from the Homepage, to be able to test the new resource search box
|
|
136
|
-
cy.visit('/graphs', {
|
|
137
|
-
onBeforeLoad(win) {
|
|
138
|
-
cy.stub(win, 'open').as('window.open');
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
cy.get('.ot-splash').should('not.be.visible');
|
|
143
|
-
cy.get('.ot-loader-new-content').should('not.exist');
|
|
144
|
-
|
|
145
|
-
getRDFResourceSearchBox().click();
|
|
146
|
-
//Verify that the new resource search box is focused
|
|
147
|
-
cy.focused().should('have.attr', 'placeholder', 'Search RDF resources...');
|
|
148
|
-
|
|
149
|
-
//Verify autocomplete suggestions count
|
|
150
|
-
cy.focused().then(() => {
|
|
151
|
-
cy.get('#search-resource-box input')
|
|
152
|
-
.should('be.visible')
|
|
153
|
-
.type('Dry');
|
|
154
|
-
cy.get('#auto-complete-results-wrapper')
|
|
155
|
-
.should('be.visible')
|
|
156
|
-
.children()
|
|
157
|
-
.should('have.length', 7);
|
|
158
|
-
});
|
|
159
|
-
|
|
160
|
-
//Test table and visual buttons.
|
|
161
|
-
cy.get("#auto_0").should('be.visible').click();
|
|
162
|
-
// Search result should be opened in new window
|
|
163
|
-
cy.get('@window.open').should('be.calledWith', 'resource?uri=http%3A%2F%2Fwww.w3.org%2FTR%2F2003%2FPR-owl-guide-20031209%2Fwine%23Dry');
|
|
164
|
-
|
|
165
|
-
getVisualButton().click();
|
|
166
|
-
cy.get("#auto_0").should('be.visible').click();
|
|
167
|
-
cy.get('@window.open').should('be.calledWith', 'graphs-visualizations?uri=http%3A%2F%2Fwww.w3.org%2FTR%2F2003%2FPR-owl-guide-20031209%2Fwine%23Dry');
|
|
168
|
-
});
|
|
169
|
-
});
|
|
170
|
-
|
|
171
|
-
function getRDFResourceSearchBox() {
|
|
172
|
-
return cy.get('rdf-resource-search').should('be.visible');
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
function getVisualButton() {
|
|
176
|
-
return cy.get('.display-type-visual-btn').should('be.visible');
|
|
177
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import HomeSteps from '../../steps/home-steps';
|
|
2
|
-
|
|
3
|
-
describe('View resource autocomplete', () => {
|
|
4
|
-
|
|
5
|
-
const FOAT_SNIPPET = '@base <http://example.org/> .\n' +
|
|
6
|
-
'@prefix foaf: <http://xmlns.com/foaf/0.1/> .\n' +
|
|
7
|
-
'<#green-goblin>\n' +
|
|
8
|
-
'a foaf:Person ; # in the context of the Marvel universe\n' +
|
|
9
|
-
'foaf:name "Green Goblin" .\n';
|
|
10
|
-
const GOBLIN_URI = 'http://example.org/#green-goblin';
|
|
11
|
-
|
|
12
|
-
beforeEach(() => {
|
|
13
|
-
cy.viewport(1280, 1000);
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
it('Test homepage autocomplete when it is enabled', () => {
|
|
17
|
-
const repositoryId = HomeSteps.createRepo();
|
|
18
|
-
HomeSteps.selectRepo(repositoryId);
|
|
19
|
-
|
|
20
|
-
// Type an invalid resource
|
|
21
|
-
HomeSteps.getAutocompleteInput().type('hfsafa');
|
|
22
|
-
HomeSteps.noAutocompleteToast();
|
|
23
|
-
|
|
24
|
-
cy.importRDFTextSnippet(repositoryId, FOAT_SNIPPET);
|
|
25
|
-
cy.enableAutocomplete(repositoryId);
|
|
26
|
-
|
|
27
|
-
HomeSteps.visitAndWaitLoader(true).then((el) => el)
|
|
28
|
-
.then(() => HomeSteps.getAutocompleteDisplayTypeButton('table').click())
|
|
29
|
-
.then(() => HomeSteps.autocompleteText('Green', GOBLIN_URI))
|
|
30
|
-
.then(() => HomeSteps.getAutocompleteResultElement(GOBLIN_URI).click())
|
|
31
|
-
.then(() => // Search result should be opened in new window
|
|
32
|
-
cy.get('@window.open').should('be.calledWith', 'resource?uri=http%3A%2F%2Fexample.org%2F%23green-goblin'))
|
|
33
|
-
.then(() => HomeSteps.getAutocompleteDisplayTypeButton('visual').click())
|
|
34
|
-
.then(() => HomeSteps.getAutocompleteResultElement(GOBLIN_URI).click())
|
|
35
|
-
.then(() => // Search result should be opened in new window
|
|
36
|
-
cy.get('@window.open').should('be.calledWith', 'graphs-visualizations?uri=http%3A%2F%2Fexample.org%2F%23green-goblin'));
|
|
37
|
-
cy.deleteRepository(repositoryId);
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
it('should not suggest resources in "View resources" when autocomplete is not enabled', () => {
|
|
41
|
-
const repositoryId = HomeSteps.createRepo();
|
|
42
|
-
cy.importRDFTextSnippet(repositoryId, FOAT_SNIPPET);
|
|
43
|
-
|
|
44
|
-
HomeSteps.visitAndWaitLoader();
|
|
45
|
-
HomeSteps.selectRepo(repositoryId);
|
|
46
|
-
|
|
47
|
-
HomeSteps.getAutocompleteInput().type('Green');
|
|
48
|
-
HomeSteps.noAutocompleteToast();
|
|
49
|
-
|
|
50
|
-
cy.deleteRepository(repositoryId);
|
|
51
|
-
});
|
|
52
|
-
});
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import HomeSteps from '../../steps/home-steps';
|
|
2
|
-
|
|
3
|
-
describe('Home screen validation', () => {
|
|
4
|
-
|
|
5
|
-
beforeEach(() => {
|
|
6
|
-
cy.viewport(1280, 1000);
|
|
7
|
-
HomeSteps.visitAndWaitLoader();
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
context('First visit', () => {
|
|
11
|
-
it('Verify that tutorial panel exists', () => {
|
|
12
|
-
HomeSteps.verifyTutorialVisible(true);
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it('Test tutorial text', () => {
|
|
16
|
-
HomeSteps.verifyTutorialText(0, 'Welcome to GraphDB');
|
|
17
|
-
HomeSteps.verifyTutorialText(1, 'Create a repository');
|
|
18
|
-
HomeSteps.verifyTutorialText(2, 'Load a sample dataset');
|
|
19
|
-
HomeSteps.verifyTutorialText(3, 'Run a SPARQL query');
|
|
20
|
-
HomeSteps.verifyTutorialText(4, 'REST API');
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
it('Verify that tutorial panel disappears if "No, thanks button" is clicked', () => {
|
|
24
|
-
// Verify that tutorial panel is still visible
|
|
25
|
-
HomeSteps.verifyTutorialVisible(true);
|
|
26
|
-
HomeSteps.declineTutorial();
|
|
27
|
-
HomeSteps.verifyTutorialVisible(false);
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
});
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
describe('Monitor Queries', () => {
|
|
2
|
-
|
|
3
|
-
let repositoryId;
|
|
4
|
-
|
|
5
|
-
before(() => {
|
|
6
|
-
repositoryId = 'monitoring-repo' + Date.now();
|
|
7
|
-
cy.createRepository({id: repositoryId});
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
beforeEach(() => {
|
|
11
|
-
cy.presetRepository(repositoryId);
|
|
12
|
-
|
|
13
|
-
cy.visit('/monitor/queries');
|
|
14
|
-
cy.window();
|
|
15
|
-
|
|
16
|
-
// Wait for loaders to disappear
|
|
17
|
-
cy.get('.ot-splash').should('not.be.visible');
|
|
18
|
-
cy.get('.ot-loader').should('not.be.visible');
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
after(() => {
|
|
22
|
-
cy.deleteRepository(repositoryId);
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
it('Initial state ', () => {
|
|
26
|
-
cy.get('.no-running-queries-alert')
|
|
27
|
-
.should('be.visible')
|
|
28
|
-
.and('contain', 'No running queries or updates.');
|
|
29
|
-
cy.get('.pause-btn').should('be.visible');
|
|
30
|
-
});
|
|
31
|
-
});
|