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,4 +1,5 @@
|
|
|
1
|
-
import {RdfRankSteps} from "
|
|
1
|
+
import {RdfRankSteps} from "../../../steps/setup/rdf-rank-steps";
|
|
2
|
+
import {ToasterSteps} from "../../../steps/toaster-steps";
|
|
2
3
|
|
|
3
4
|
describe('RDF Rank view', () => {
|
|
4
5
|
|
|
@@ -98,10 +99,7 @@ describe('RDF Rank view', () => {
|
|
|
98
99
|
RdfRankSteps.getIncludedPredicatesFilter()
|
|
99
100
|
.find('.tag-list .tag-item')
|
|
100
101
|
.should('have.length', 0);
|
|
101
|
-
|
|
102
|
-
.find('.toast-error')
|
|
103
|
-
.should('be.visible')
|
|
104
|
-
.and('contain', 'is not a valid IRI');
|
|
102
|
+
ToasterSteps.verifyError('is not a valid IRI')
|
|
105
103
|
|
|
106
104
|
// Enter valid one and rebuild
|
|
107
105
|
RdfRankSteps.getIncludedPredicatesFilter()
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import {RepositorySteps} from "../../../steps/repository-steps";
|
|
2
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
3
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
4
|
+
|
|
5
|
+
function verifyInitialRepositoriesState() {
|
|
6
|
+
RepositorySteps.getRepositoriesList().should('be.visible');
|
|
7
|
+
RepositorySteps.getLocalGraphDBTable()
|
|
8
|
+
.should('be.visible')
|
|
9
|
+
.and('have.length', 1)
|
|
10
|
+
.and('contain', 'repository-');
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
describe('Repositories view initial state', () => {
|
|
14
|
+
let repositoryId;
|
|
15
|
+
|
|
16
|
+
beforeEach(() => {
|
|
17
|
+
repositoryId = 'repository-' + Date.now();
|
|
18
|
+
cy.createRepository({id: repositoryId});
|
|
19
|
+
cy.presetRepository(repositoryId);
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
afterEach(() => {
|
|
23
|
+
cy.deleteRepository(repositoryId);
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it('should display the correct initial state when navigating via URL', () => {
|
|
27
|
+
// Given, I visit the Repositories page via URL
|
|
28
|
+
RepositorySteps.visit();
|
|
29
|
+
// Then,
|
|
30
|
+
verifyInitialRepositoriesState();
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it('should display the correct initial state when navigating via the navigation menu', () => {
|
|
34
|
+
// Given, I visit the Repositories page via the navigation menu
|
|
35
|
+
HomeSteps.visit();
|
|
36
|
+
MainMenuSteps.clickOnRepositories();
|
|
37
|
+
// Then,
|
|
38
|
+
verifyInitialRepositoriesState();
|
|
39
|
+
})
|
|
40
|
+
})
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import {RepositorySteps} from "../../../steps/repository-steps";
|
|
2
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
3
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
4
|
+
|
|
5
|
+
function verifyInitialRepositoriesState() {
|
|
6
|
+
RepositorySteps.getRepositoriesList().should('not.exist');
|
|
7
|
+
RepositorySteps.getLocalGraphDBTable()
|
|
8
|
+
.should('be.visible')
|
|
9
|
+
.and('have.length', 1)
|
|
10
|
+
.and('contain', 'There are no repositories in the current location');
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
describe('Repositories view initial state', () => {
|
|
14
|
+
it('should display the correct initial state when navigating via URL', () => {
|
|
15
|
+
// Given, I visit the Repositories page via URL
|
|
16
|
+
RepositorySteps.visit();
|
|
17
|
+
// Then,
|
|
18
|
+
verifyInitialRepositoriesState();
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
it('should display the correct initial state when navigating via the navigation menu', () => {
|
|
22
|
+
// Given, I visit the Repositories page via the navigation menu
|
|
23
|
+
HomeSteps.visit();
|
|
24
|
+
MainMenuSteps.clickOnRepositories();
|
|
25
|
+
// Then,
|
|
26
|
+
verifyInitialRepositoriesState();
|
|
27
|
+
})
|
|
28
|
+
})
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
2
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
3
|
+
import {SettingsSteps} from "../../../steps/setup/settings-steps";
|
|
4
|
+
|
|
5
|
+
function verifyInitialState(repositoryId) {
|
|
6
|
+
// Password change field is for admin.
|
|
7
|
+
// explicitly state that the fields must be of type password
|
|
8
|
+
SettingsSteps.getPasswordField().should('be.visible')
|
|
9
|
+
.and('have.value', '')
|
|
10
|
+
.and('have.attr', 'placeholder', 'New password');
|
|
11
|
+
SettingsSteps.getConfirmPasswordField().should('be.visible')
|
|
12
|
+
.and('have.value', '')
|
|
13
|
+
.and('have.attr', 'placeholder', 'Confirm password');
|
|
14
|
+
|
|
15
|
+
// SPARQL settings are as follows:
|
|
16
|
+
// -Expand over sameAs is on
|
|
17
|
+
// -Inference is on
|
|
18
|
+
// -Count total results is checked
|
|
19
|
+
// -Ignore saved queries is not checked
|
|
20
|
+
SettingsSteps.getSparqlEditorPanel().should('be.visible');
|
|
21
|
+
SettingsSteps.getSameAsToggle().should('be.checked');
|
|
22
|
+
SettingsSteps.getSameAsLabel().should('be.visible')
|
|
23
|
+
.and('contain', 'Expand results over owl:SameAs is')
|
|
24
|
+
.find('.tag').should('be.visible')
|
|
25
|
+
.and('contain', 'ON');
|
|
26
|
+
SettingsSteps.getInferenceToggle().should('be.checked');
|
|
27
|
+
SettingsSteps.getInferenceLabel().should('be.visible')
|
|
28
|
+
.and('contain', 'Inference is')
|
|
29
|
+
.find('.tag').should('be.visible')
|
|
30
|
+
.and('contain', 'ON');
|
|
31
|
+
SettingsSteps.getCountCheckbox().should('be.checked');
|
|
32
|
+
SettingsSteps.getIgnoreSharedCheckbox().should('not.be.checked');
|
|
33
|
+
|
|
34
|
+
// User role
|
|
35
|
+
// - User role is administrator (both cannot be changed)
|
|
36
|
+
SettingsSteps.getUserRoleRadioButton()
|
|
37
|
+
.should('be.checked')
|
|
38
|
+
.and('be.disabled')
|
|
39
|
+
.and('have.value', 'admin');
|
|
40
|
+
SettingsSteps.getRepoManagerRadioButton()
|
|
41
|
+
.should('not.be.checked')
|
|
42
|
+
.and('be.disabled');
|
|
43
|
+
SettingsSteps.getAdminRadioButton()
|
|
44
|
+
.should('not.be.checked')
|
|
45
|
+
.and('be.disabled');
|
|
46
|
+
|
|
47
|
+
// Repository rights
|
|
48
|
+
// - Admin has read and write access to all repositories."
|
|
49
|
+
SettingsSteps.getUserRepositoryTable().should('be.visible');
|
|
50
|
+
SettingsSteps.getReadRightsCheckbox(repositoryId)
|
|
51
|
+
.should('be.visible')
|
|
52
|
+
.and('be.checked')
|
|
53
|
+
.and('be.disabled');
|
|
54
|
+
SettingsSteps.getWriteRightsCheckbox(repositoryId)
|
|
55
|
+
.should('be.visible')
|
|
56
|
+
.and('be.checked')
|
|
57
|
+
.and('be.disabled');
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
describe('My Settings initial state', () => {
|
|
61
|
+
let repositoryId;
|
|
62
|
+
beforeEach(() => {
|
|
63
|
+
repositoryId = 'my-settings-' + Date.now();
|
|
64
|
+
cy.createRepository({id: repositoryId});
|
|
65
|
+
cy.presetRepository(repositoryId);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
afterEach(() => {
|
|
69
|
+
cy.deleteRepository(repositoryId);
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
it('Should display the correct initial state when navigating via URL', () => {
|
|
73
|
+
// Given, I visit the My Settings page via URL
|
|
74
|
+
SettingsSteps.visit();
|
|
75
|
+
// Then,
|
|
76
|
+
verifyInitialState(repositoryId);
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
it('Should display the correct initial state when navigating via the navigation bar', () => {
|
|
80
|
+
// Given, I visit the My Settings page via the navigation menu
|
|
81
|
+
HomeSteps.visit();
|
|
82
|
+
MainMenuSteps.clickOnMySettings();
|
|
83
|
+
// Then,
|
|
84
|
+
verifyInitialState(repositoryId);
|
|
85
|
+
});
|
|
86
|
+
});
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import {SparqlEditorSteps} from '../../../steps/sparql-editor-steps';
|
|
2
|
+
import {YasqeSteps} from '../../../steps/yasgui/yasqe-steps';
|
|
3
|
+
import {SecurityStubs} from '../../../stubs/security-stubs';
|
|
4
|
+
import {VisualGraphSteps} from '../../../steps/visual-graph-steps';
|
|
5
|
+
import {ToasterSteps} from '../../../steps/toaster-steps';
|
|
6
|
+
|
|
7
|
+
describe('My Settings', () => {
|
|
8
|
+
|
|
9
|
+
let repositoryId;
|
|
10
|
+
const testResultCountQuery = 'select * where { \n' +
|
|
11
|
+
'\t?s ?p ?o .\n' +
|
|
12
|
+
'} limit 1001';
|
|
13
|
+
const FILE_TO_IMPORT = 'wine.rdf';
|
|
14
|
+
|
|
15
|
+
beforeEach(() => {
|
|
16
|
+
repositoryId = 'my-settings-' + Date.now();
|
|
17
|
+
cy.createRepository({id: repositoryId});
|
|
18
|
+
cy.presetRepository(repositoryId);
|
|
19
|
+
cy.importServerFile(repositoryId, FILE_TO_IMPORT);
|
|
20
|
+
cy.setDefaultUserData();
|
|
21
|
+
visitSettingsView();
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
afterEach(() => {
|
|
25
|
+
cy.deleteRepository(repositoryId);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it('should change settings for admin and verify changes are reflected in SPARQL editor', () => {
|
|
29
|
+
SecurityStubs.resetGetAdminUserStub();
|
|
30
|
+
cy.get('.sparql-editor-settings').should('be.visible');
|
|
31
|
+
|
|
32
|
+
//turn off inference, sameAs and count total results
|
|
33
|
+
clickLabelBtn('#sameas-on')
|
|
34
|
+
.then(() => {
|
|
35
|
+
cy.get('#sameas-on')
|
|
36
|
+
.find('.switch:checkbox')
|
|
37
|
+
.should('not.be.visible');
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
clickLabelBtn('#inference-on')
|
|
41
|
+
.then(() => {
|
|
42
|
+
cy.get('#inference-on')
|
|
43
|
+
.find('.switch:checkbox')
|
|
44
|
+
.should('not.be.visible');
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
cy.get('#defaultCount:checkbox').uncheck();
|
|
48
|
+
cy.get('#defaultCount:checkbox').should('not.be.checked');
|
|
49
|
+
|
|
50
|
+
// Note that saving settings takes time.
|
|
51
|
+
// Make sure that visiting SPARQL view
|
|
52
|
+
// will happen after successful save
|
|
53
|
+
getSaveButton().click()
|
|
54
|
+
.then(() => {
|
|
55
|
+
verifyUserSettingsUpdated();
|
|
56
|
+
//Go to SPARQL editor and verify changes are persisted for the admin user
|
|
57
|
+
SparqlEditorSteps.visitSparqlEditorPage();
|
|
58
|
+
|
|
59
|
+
//verify disabled default inference, sameAs and total results count
|
|
60
|
+
YasqeSteps.getIncludeInferredStatementsButton().should('have.class', 'icon-inferred-off');
|
|
61
|
+
YasqeSteps.getExpandResultsOverSameAsButton().should('have.class', 'icon-same-as-off');
|
|
62
|
+
|
|
63
|
+
//clear default query and paste a new one that will generate more than 1000 results
|
|
64
|
+
YasqeSteps.clearEditor();
|
|
65
|
+
YasqeSteps.pasteQuery(testResultCountQuery);
|
|
66
|
+
|
|
67
|
+
YasqeSteps.executeQuery();
|
|
68
|
+
|
|
69
|
+
//return to My Settings to revert the changes
|
|
70
|
+
visitSettingsView();
|
|
71
|
+
// Wait for loader to disappear
|
|
72
|
+
cy.get('.ot-loader-new-content').should('not.be.visible');
|
|
73
|
+
|
|
74
|
+
turnOnLabelBtn('#sameas-on');
|
|
75
|
+
turnOnLabelBtn('#inference-on');
|
|
76
|
+
cy.get('#defaultCount:checkbox').check();
|
|
77
|
+
cy.get('#defaultCount:checkbox').should('be.visible').and('be.checked');
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
it('Should test the "Show schema ON/OFF by default in visual graph" setting in My Settings', () => {
|
|
82
|
+
//Verify that schema statements are ON in My settings
|
|
83
|
+
cy.get('#schema-on').find('.switch:checkbox').should('be.checked');
|
|
84
|
+
cy.enableAutocomplete(repositoryId);
|
|
85
|
+
//Verify that schema statements ON is reflected in Visual graph
|
|
86
|
+
VisualGraphSteps.openDryWineUri();
|
|
87
|
+
cy.get('.visual-graph-settings-btn').scrollIntoView();
|
|
88
|
+
cy.get('.visual-graph-settings-btn').click();
|
|
89
|
+
cy.get('.rdf-info-side-panel .filter-sidepanel').should('be.visible');
|
|
90
|
+
cy.get('.include-schema-statements').should('be.visible').and('be.checked');
|
|
91
|
+
saveGraphSettings()
|
|
92
|
+
.then(() => cy.get('.predicate').should('contain', 'type'));
|
|
93
|
+
|
|
94
|
+
//Set schema statements OFF in my settings
|
|
95
|
+
visitSettingsView();
|
|
96
|
+
|
|
97
|
+
clickLabelBtn('#schema-on').then(() => {
|
|
98
|
+
cy.get('#schema-on')
|
|
99
|
+
.find('.switch:checkbox')
|
|
100
|
+
.should('not.be.visible');
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
getSaveButton()
|
|
104
|
+
.click()
|
|
105
|
+
.then(() => {
|
|
106
|
+
verifyUserSettingsUpdated();
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
//Verify that schema statements OFF is reflected in Visual graph
|
|
110
|
+
VisualGraphSteps.openDryWineUri();
|
|
111
|
+
|
|
112
|
+
cy.get('.visual-graph-settings-btn').click();
|
|
113
|
+
cy.get('.rdf-info-side-panel .filter-sidepanel').should('be.visible');
|
|
114
|
+
cy.get('.include-schema-statements').scrollIntoView();
|
|
115
|
+
cy.get('.include-schema-statements').should('be.visible').click();
|
|
116
|
+
cy.get('.include-schema-statements').then(($el) => {
|
|
117
|
+
cy.wrap($el).trigger('mouseleave', {force: true});
|
|
118
|
+
cy.get('.include-schema-statements').scrollIntoView();
|
|
119
|
+
cy.get('.include-schema-statements').should('be.visible').and('not.be.checked');
|
|
120
|
+
saveGraphSettings()
|
|
121
|
+
.then(() => cy.get('.predicate').should('not.exist'));
|
|
122
|
+
});
|
|
123
|
+
//return to My Settings to revert the changes
|
|
124
|
+
visitSettingsView();
|
|
125
|
+
// Wait for loader to disappear
|
|
126
|
+
cy.get('.ot-loader-new-content').should('not.be.visible');
|
|
127
|
+
clickLabelBtn('#schema-on')
|
|
128
|
+
.then(() => {
|
|
129
|
+
cy.waitUntil(() => {
|
|
130
|
+
cy.get('#schema-on')
|
|
131
|
+
.find('input[type="checkbox"]')
|
|
132
|
+
.scrollIntoView();
|
|
133
|
+
return cy.get('#schema-on')
|
|
134
|
+
.find('input[type="checkbox"]').then(input => input && input.attr('checked'));
|
|
135
|
+
}
|
|
136
|
+
);
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
it('Saving administrator credentials with checked unset password should show modal window to warn user about' +
|
|
141
|
+
' unsetting the password', () => {
|
|
142
|
+
// User role is administrator
|
|
143
|
+
cy.get('#noPassword:checkbox').check();
|
|
144
|
+
cy.get('#noPassword:checkbox').should('be.checked');
|
|
145
|
+
getSaveButton().click()
|
|
146
|
+
.then(() => {
|
|
147
|
+
cy.get('.modal-dialog').find('.lead').contains('If you unset the password and then enable security,' +
|
|
148
|
+
' this administrator will not be able to log into GraphDB through the workbench.');
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
it('sameAs button should be disabled if inference is turned off', () => {
|
|
153
|
+
clickLabelBtn('#inference-on')
|
|
154
|
+
.then(() => {
|
|
155
|
+
cy.get('#inference-on')
|
|
156
|
+
.find('.switch:checkbox')
|
|
157
|
+
.should('not.be.visible');
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
cy.get('#sameas-on')
|
|
161
|
+
.find('.switch:checkbox')
|
|
162
|
+
.should('not.be.visible');
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
function getSaveButton() {
|
|
166
|
+
cy.get('#wb-user-submit').scrollIntoView();
|
|
167
|
+
return cy.get('#wb-user-submit').should('be.visible');
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
function verifyUserSettingsUpdated() {
|
|
171
|
+
cy.waitUntil(() => ToasterSteps.verifySuccess('The user admin was updated'));
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
function saveGraphSettings() {
|
|
175
|
+
cy.get('.save-settings-btn').scrollIntoView();
|
|
176
|
+
return cy.get('.save-settings-btn').should('be.visible').click();
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
function visitSettingsView() {
|
|
180
|
+
cy.visit('/settings', {
|
|
181
|
+
onBeforeLoad: (win) => {
|
|
182
|
+
win.localStorage.setItem('ls.repository-id', repositoryId);
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
cy.window()
|
|
186
|
+
.then(() => cy.url().should('eq', `${Cypress.config('baseUrl')}/settings`));
|
|
187
|
+
// Everything should be related to admin user.
|
|
188
|
+
cy.get('.login-credentials').should('be.visible');
|
|
189
|
+
cy.get('#wb-user-username').should('be.visible')
|
|
190
|
+
.and('have.value', 'admin')
|
|
191
|
+
.and('have.attr', 'readonly', 'readonly');
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
function clickLabelBtn(btnId) {
|
|
195
|
+
cy.get(btnId).find('.switch.mr-0').scrollIntoView();
|
|
196
|
+
return cy.get(btnId).find('.switch.mr-0').should('be.visible').click();
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
function turnOnLabelBtn(btnId) {
|
|
200
|
+
cy.get(btnId).find('input[type="checkbox"]').check({force: true});
|
|
201
|
+
|
|
202
|
+
cy.waitUntil(() => {
|
|
203
|
+
cy.get(btnId).find('input[type="checkbox"]').scrollIntoView();
|
|
204
|
+
return cy.get(btnId).find('input[type="checkbox"]').then(input => input && input.attr('checked'));
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
});
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {SparqlCreateUpdateSteps} from "
|
|
2
|
-
import {YasqeSteps} from "
|
|
3
|
-
import {ModalDialogSteps} from "
|
|
4
|
-
import {MainMenuSteps} from "
|
|
5
|
-
import {RepositorySelectorSteps} from "
|
|
6
|
-
import {SparqlTemplatesSteps} from "
|
|
7
|
-
import {ImportUserDataSteps} from "
|
|
1
|
+
import {SparqlCreateUpdateSteps} from "../../../steps/setup/sparql-create-update-steps";
|
|
2
|
+
import {YasqeSteps} from "../../../steps/yasgui/yasqe-steps";
|
|
3
|
+
import {ModalDialogSteps} from "../../../steps/modal-dialog-steps";
|
|
4
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
5
|
+
import {RepositorySelectorSteps} from "../../../steps/repository-selector-steps";
|
|
6
|
+
import {SparqlTemplatesSteps} from "../../../steps/setup/sparql-templates-steps";
|
|
7
|
+
import {ImportUserDataSteps} from "../../../steps/import/import-user-data-steps";
|
|
8
8
|
|
|
9
9
|
describe('SPARQL create template', () => {
|
|
10
10
|
|
|
@@ -17,15 +17,16 @@ describe('SPARQL create template', () => {
|
|
|
17
17
|
cy.presetRepository(repositoryId);
|
|
18
18
|
secondRepositoryId = 'sparql-templates-second-repo' + Date.now();
|
|
19
19
|
cy.createRepository({id: secondRepositoryId});
|
|
20
|
-
SparqlCreateUpdateSteps.visit();
|
|
21
20
|
});
|
|
22
21
|
|
|
23
22
|
afterEach(() => {
|
|
23
|
+
cy.unsetRepository();
|
|
24
24
|
cy.deleteRepository(repositoryId);
|
|
25
25
|
cy.deleteRepository(secondRepositoryId);
|
|
26
26
|
});
|
|
27
27
|
|
|
28
28
|
it('should has error message described that template id is required', () => {
|
|
29
|
+
SparqlCreateUpdateSteps.visit();
|
|
29
30
|
// When I visit 'Sparql create template' view,
|
|
30
31
|
// and click on "Save" button without to fill template id.
|
|
31
32
|
SparqlCreateUpdateSteps.clickOnSaveButton();
|
|
@@ -35,6 +36,7 @@ describe('SPARQL create template', () => {
|
|
|
35
36
|
});
|
|
36
37
|
|
|
37
38
|
it('should has error message described that template id is invalid', () => {
|
|
39
|
+
SparqlCreateUpdateSteps.visit();
|
|
38
40
|
// When I visit 'Sparql create template' view,
|
|
39
41
|
// and fill an invalid template id,
|
|
40
42
|
const invalidTemplateName = 'invalid-template-id';
|
|
@@ -47,6 +49,7 @@ describe('SPARQL create template', () => {
|
|
|
47
49
|
});
|
|
48
50
|
|
|
49
51
|
it('should has error message described that query mode is invalid', () => {
|
|
52
|
+
SparqlCreateUpdateSteps.visit();
|
|
50
53
|
// When I visit 'Sparql create template' view,
|
|
51
54
|
// and fill valid template id.
|
|
52
55
|
SparqlCreateUpdateSteps.typeTemplateId('http://test');
|
|
@@ -62,6 +65,7 @@ describe('SPARQL create template', () => {
|
|
|
62
65
|
});
|
|
63
66
|
|
|
64
67
|
it('should navigate to other view if there are no changes', () => {
|
|
68
|
+
SparqlCreateUpdateSteps.visit();
|
|
65
69
|
// When I visit 'Sparql create template' view,
|
|
66
70
|
// and navigate to other view.
|
|
67
71
|
ImportUserDataSteps.visitUserImport(repositoryId);
|
|
@@ -71,6 +75,7 @@ describe('SPARQL create template', () => {
|
|
|
71
75
|
});
|
|
72
76
|
|
|
73
77
|
it('should confirm me before navigate when template id is changed', () => {
|
|
78
|
+
SparqlCreateUpdateSteps.visit();
|
|
74
79
|
// When I visit 'Sparql create template' view,
|
|
75
80
|
// and set template id.
|
|
76
81
|
SparqlCreateUpdateSteps.typeTemplateId('http://test');
|
|
@@ -104,6 +109,7 @@ describe('SPARQL create template', () => {
|
|
|
104
109
|
});
|
|
105
110
|
|
|
106
111
|
it('should not change the view if I am creating a new sparql template and change the repository', () => {
|
|
112
|
+
SparqlCreateUpdateSteps.visit();
|
|
107
113
|
// When I visit 'Sparql create template' view,
|
|
108
114
|
// make some changes.
|
|
109
115
|
SparqlCreateUpdateSteps.typeTemplateId('http://test');
|
|
@@ -116,6 +122,7 @@ describe('SPARQL create template', () => {
|
|
|
116
122
|
});
|
|
117
123
|
|
|
118
124
|
it('Should redirect to templates catalog view when repository is changed', () => {
|
|
125
|
+
SparqlCreateUpdateSteps.visit();
|
|
119
126
|
// When I visit 'Sparql create template' view
|
|
120
127
|
// When I change the repository.
|
|
121
128
|
RepositorySelectorSteps.selectRepository(secondRepositoryId);
|
|
@@ -125,6 +132,7 @@ describe('SPARQL create template', () => {
|
|
|
125
132
|
});
|
|
126
133
|
|
|
127
134
|
it('should ask for confirmation when try to save sparql template with already existing template id', () => {
|
|
135
|
+
SparqlCreateUpdateSteps.visit();
|
|
128
136
|
// When I visit 'Sparql create template' view,
|
|
129
137
|
// create a SPARQL template
|
|
130
138
|
const templateName = 'http://' + Date.now();
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
2
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
3
|
+
import {SparqlTemplatesSteps} from "../../../steps/setup/sparql-templates-steps";
|
|
4
|
+
|
|
5
|
+
describe('Sparql templates with selected repository', () => {
|
|
6
|
+
let repositoryId;
|
|
7
|
+
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
repositoryId = 'sparql-template-init-' + Date.now();
|
|
10
|
+
cy.createRepository({id: repositoryId});
|
|
11
|
+
cy.presetRepository(repositoryId);
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
afterEach(() => {
|
|
15
|
+
cy.deleteRepository(repositoryId);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('Should display the correct initial state when navigating via URL', () => {
|
|
19
|
+
// Given, I visit the Sparql templates page via URL with a repository selected
|
|
20
|
+
SparqlTemplatesSteps.visit();
|
|
21
|
+
// Then,
|
|
22
|
+
verifyInitialStateWithSelectedRepository();
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it('Should display the correct initial state when navigating via the navigation bar', () => {
|
|
26
|
+
// Given, I visit the Sparql templates page via the navigation menu with a repository selected
|
|
27
|
+
HomeSteps.visit();
|
|
28
|
+
MainMenuSteps.clickOnSparqlTemplates();
|
|
29
|
+
// Then,
|
|
30
|
+
verifyInitialStateWithSelectedRepository();
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
const verifyInitialStateWithSelectedRepository = () => {
|
|
34
|
+
SparqlTemplatesSteps.getSparqlTemplatesPage().should('exist');
|
|
35
|
+
SparqlTemplatesSteps.getSparqlTemplatesContent().should('be.visible');
|
|
36
|
+
SparqlTemplatesSteps.getSparqlTemplatesCreateLink().should('be.visible');
|
|
37
|
+
SparqlTemplatesSteps.getNoSparqlTemplatesMessage().should('be.visible');
|
|
38
|
+
};
|
|
39
|
+
})
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import {ErrorSteps} from "../../../steps/error-steps";
|
|
2
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
3
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
4
|
+
import {SparqlTemplatesSteps} from "../../../steps/setup/sparql-templates-steps";
|
|
5
|
+
|
|
6
|
+
describe('Sparql templates without selected repository', () => {
|
|
7
|
+
it('Should display the correct initial state when navigating via URL', () => {
|
|
8
|
+
// Given, I visit the Sparql templates page via URL without a repository selected
|
|
9
|
+
SparqlTemplatesSteps.visit();
|
|
10
|
+
// Then,
|
|
11
|
+
verifyInitialStateWithoutSelectedRepository();
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it('Should display the correct initial state when navigating via the navigation menu', () => {
|
|
15
|
+
// Given, I visit the Sparql templates page via the navigation menu without a repository selected
|
|
16
|
+
HomeSteps.visit();
|
|
17
|
+
MainMenuSteps.clickOnSparqlTemplates();
|
|
18
|
+
// Then,
|
|
19
|
+
verifyInitialStateWithoutSelectedRepository()
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
const verifyInitialStateWithoutSelectedRepository = () => {
|
|
23
|
+
ErrorSteps.verifyNoConnectedRepoMessage();
|
|
24
|
+
SparqlTemplatesSteps.getSparqlTemplatesPage().should('exist');
|
|
25
|
+
SparqlTemplatesSteps.getSparqlTemplatesContent().should('not.exist');
|
|
26
|
+
SparqlTemplatesSteps.getSparqlTemplatesCreateLink().should('not.exist');
|
|
27
|
+
SparqlTemplatesSteps.getNoSparqlTemplatesMessage().should('not.exist');
|
|
28
|
+
};
|
|
29
|
+
})
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {SparqlTemplatesSteps} from "
|
|
2
|
-
import {SparqlCreateUpdateSteps} from "
|
|
3
|
-
import {ModalDialogSteps} from "
|
|
4
|
-
import {ToasterSteps} from "
|
|
1
|
+
import {SparqlTemplatesSteps} from "../../../steps/setup/sparql-templates-steps";
|
|
2
|
+
import {SparqlCreateUpdateSteps} from "../../../steps/setup/sparql-create-update-steps";
|
|
3
|
+
import {ModalDialogSteps} from "../../../steps/modal-dialog-steps";
|
|
4
|
+
import {ToasterSteps} from "../../../steps/toaster-steps";
|
|
5
5
|
|
|
6
6
|
describe('SPARQL Templates', () => {
|
|
7
7
|
|