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
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import {GraphqlPlaygroundSteps} from "../../steps/graphql/graphql-playground-steps";
|
|
2
|
+
import {ErrorSteps} from "../../steps/error-steps";
|
|
3
|
+
import HomeSteps from "../../steps/home-steps";
|
|
4
|
+
import {MainMenuSteps} from "../../steps/main-menu-steps";
|
|
5
|
+
|
|
6
|
+
describe('GraphQl playground without selected repository', () => {
|
|
7
|
+
it('Should render GraphQL playground without selected repository via URL', () => {
|
|
8
|
+
// Given, I visit the GraphQL playground page via URL and I don't have any repositories
|
|
9
|
+
GraphqlPlaygroundSteps.visit();
|
|
10
|
+
// Then
|
|
11
|
+
ErrorSteps.verifyNoConnectedRepoMessage();
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it('Should render GraphQL playground without selected repository via navigation menu', () => {
|
|
15
|
+
// Given, I visit the GraphQL playground page via navigation menu and I don't have any repositories'
|
|
16
|
+
HomeSteps.visit();
|
|
17
|
+
MainMenuSteps.clickOnGraphQLPlayground();
|
|
18
|
+
// Then
|
|
19
|
+
ErrorSteps.verifyNoConnectedRepoMessage();
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
@@ -87,7 +87,7 @@ describe('GraphQL Playground', () => {
|
|
|
87
87
|
GraphiQLEditorToolsSteps.getGraphiQLEditorTabButton(1).contains('Headers');
|
|
88
88
|
|
|
89
89
|
// When: I change the language.
|
|
90
|
-
LanguageSelectorSteps.
|
|
90
|
+
LanguageSelectorSteps.switchToFr();
|
|
91
91
|
// Then: I expect to see GraphQL playground translated.
|
|
92
92
|
GraphiQLEditorToolsSteps.getGraphiQLEditorTabButton(1).contains('En-têtes');
|
|
93
93
|
});
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import {PlaygroundEditorSteps} from "../../steps/graphql/playground-editor-steps.js";
|
|
2
|
+
import {GraphqlPlaygroundSteps} from "../../steps/graphql/graphql-playground-steps.js";
|
|
3
|
+
|
|
4
|
+
describe('Graphiql Editor Themes', () => {
|
|
5
|
+
let repositoryId;
|
|
6
|
+
const THEME_PERSISTENCE_KEY = 'ls.workbench-settings';
|
|
7
|
+
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
repositoryId = 'graphiql-editor-themes-' + Date.now();
|
|
10
|
+
cy.createRepository({id: repositoryId});
|
|
11
|
+
cy.presetRepository(repositoryId);
|
|
12
|
+
cy.importServerFile(repositoryId, 'swapi-dataset.ttl');
|
|
13
|
+
cy.uploadGraphqlSchema(repositoryId, 'graphql/soml/swapi-schema.yaml', 'swapi');
|
|
14
|
+
cy.uploadGraphqlSchema(repositoryId, 'graphql/soml/swapi-schema-planets.yaml', 'swapi-planets');
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
afterEach(() => {
|
|
18
|
+
cy.deleteRepository(repositoryId);
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
it('should apply the default theme if theme is not persisted in local store', () => {
|
|
22
|
+
// GIVEN: I have opened the workbench and no theme is persisted in local storage.
|
|
23
|
+
|
|
24
|
+
// WHEN: I visit the GraphQL Playground page
|
|
25
|
+
GraphqlPlaygroundSteps.visit();
|
|
26
|
+
// THEN: the default "graphiql" theme class should be applied to the CodeMirror instances.
|
|
27
|
+
verifyTheme('graphiql');
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it('should apply the light theme if the light theme is persisted in local store', () => {
|
|
31
|
+
// GIVEN: I have opened the workbench and the light theme is persisted in local storage.
|
|
32
|
+
cy.setLocalStorage(THEME_PERSISTENCE_KEY, JSON.stringify({"theme":"default-theme","mode":"light"}));
|
|
33
|
+
|
|
34
|
+
// WHEN: I visit the GraphQL Playground page
|
|
35
|
+
GraphqlPlaygroundSteps.visit();
|
|
36
|
+
// THEN: the default "graphiql" theme class should be applied to the CodeMirror instances.
|
|
37
|
+
verifyTheme('graphiql');
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
it('should apply the moxer theme if the dark theme is persisted in local store', () => {
|
|
41
|
+
// GIVEN: I have opened the workbench and the dark theme is persisted in local storage.
|
|
42
|
+
cy.setLocalStorage(THEME_PERSISTENCE_KEY, JSON.stringify({"theme":"default-theme","mode":"dark"}));
|
|
43
|
+
|
|
44
|
+
/// WHEN: I visit the GraphQL Playground page
|
|
45
|
+
GraphqlPlaygroundSteps.visit();
|
|
46
|
+
// THEN: the "moxer" theme class should be applied to the CodeMirror instances.
|
|
47
|
+
verifyTheme('moxer');
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it('should not change the theme if the active endpoint is changed', () => {
|
|
51
|
+
// GIVEN: I have opened the workbench and the dark theme is persisted in local storage.
|
|
52
|
+
cy.setLocalStorage(THEME_PERSISTENCE_KEY, JSON.stringify({"theme":"default-theme","mode":"dark"}));
|
|
53
|
+
/// AND: I visit the GraphQL Playground page
|
|
54
|
+
GraphqlPlaygroundSteps.visit();
|
|
55
|
+
//the "moxer" theme class should be applied to the CodeMirror instances.
|
|
56
|
+
verifyTheme('moxer');
|
|
57
|
+
|
|
58
|
+
// WHEN: I change the active endpoint
|
|
59
|
+
GraphqlPlaygroundSteps.selectEndpoint('swapi-planets');
|
|
60
|
+
|
|
61
|
+
// THEN: the theme should not change, and the "moxer" theme class should still be applied to the CodeMirror instances.
|
|
62
|
+
verifyTheme('moxer');
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
const verifyTheme = (theme) => {
|
|
66
|
+
PlaygroundEditorSteps.getResponseCodeMirror().should('have.class', `cm-s-${theme}`);
|
|
67
|
+
PlaygroundEditorSteps.getGraphiqlEditorsCodeMirror().should('have.class', `cm-s-${theme}`);
|
|
68
|
+
PlaygroundEditorSteps.openVariables();
|
|
69
|
+
PlaygroundEditorSteps.getActiveGraphiqlEditorToolCodeMirror().should('have.class', `cm-s-${theme}`);
|
|
70
|
+
PlaygroundEditorSteps.openHeaders();
|
|
71
|
+
PlaygroundEditorSteps.getActiveGraphiqlEditorToolCodeMirror().should('have.class', `cm-s-${theme}`);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
@@ -73,7 +73,6 @@ describe('Graphql: import endpoint definitions', () => {
|
|
|
73
73
|
|
|
74
74
|
GraphqlEndpointManagementSteps.verifyEndpointInfo([
|
|
75
75
|
{
|
|
76
|
-
status: 'deleted',
|
|
77
76
|
id: 'swapi',
|
|
78
77
|
label: 'Ontotext Star Wars Ontology',
|
|
79
78
|
description: '',
|
|
@@ -167,7 +166,6 @@ describe('Graphql: import endpoint definitions', () => {
|
|
|
167
166
|
GraphqlEndpointManagementSteps.getEndpointsInfo().should('have.length', 3);
|
|
168
167
|
GraphqlEndpointManagementSteps.verifyEndpointInfo([
|
|
169
168
|
{
|
|
170
|
-
status: 'deleted',
|
|
171
169
|
id: 'swapi',
|
|
172
170
|
label: 'Ontotext Star Wars Ontology',
|
|
173
171
|
description: '',
|
|
@@ -178,7 +176,6 @@ describe('Graphql: import endpoint definitions', () => {
|
|
|
178
176
|
properties: 68
|
|
179
177
|
},
|
|
180
178
|
{
|
|
181
|
-
status: 'deleted',
|
|
182
179
|
id: 'swapi-planets',
|
|
183
180
|
label: 'Star Wars planets API',
|
|
184
181
|
description: '',
|
|
@@ -189,7 +186,6 @@ describe('Graphql: import endpoint definitions', () => {
|
|
|
189
186
|
properties: 10
|
|
190
187
|
},
|
|
191
188
|
{
|
|
192
|
-
status: 'deleted',
|
|
193
189
|
id: 'swapi-species',
|
|
194
190
|
label: 'Star Wars species API',
|
|
195
191
|
description: '',
|
|
@@ -233,7 +229,6 @@ describe('Graphql: import endpoint definitions', () => {
|
|
|
233
229
|
GraphqlEndpointManagementSteps.getEndpointsInfo().should('have.length', 2);
|
|
234
230
|
GraphqlEndpointManagementSteps.verifyEndpointInfo([
|
|
235
231
|
{
|
|
236
|
-
status: 'deleted',
|
|
237
232
|
id: 'swapi-planets',
|
|
238
233
|
label: 'Star Wars planets API',
|
|
239
234
|
description: '',
|
|
@@ -244,7 +239,6 @@ describe('Graphql: import endpoint definitions', () => {
|
|
|
244
239
|
properties: 10
|
|
245
240
|
},
|
|
246
241
|
{
|
|
247
|
-
status: 'deleted',
|
|
248
242
|
id: 'swapi-species',
|
|
249
243
|
label: 'Star Wars species API',
|
|
250
244
|
description: '',
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import {GuideSteps} from '../../../steps/guides/guide-steps.js';
|
|
2
|
+
import {GuideDialogSteps} from '../../../steps/guides/guide-dialog-steps.js';
|
|
3
|
+
import {MainMenuSteps} from '../../../steps/main-menu-steps.js';
|
|
4
|
+
import {AutocompleteSteps} from '../../../steps/setup/autocomplete-steps.js';
|
|
5
|
+
import {GuidesStubs} from '../../../stubs/guides/guides-stubs.js';
|
|
6
|
+
|
|
7
|
+
describe('Enable autocomplete guide steps', () => {
|
|
8
|
+
let repositoryId;
|
|
9
|
+
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
repositoryId = 'enable-autocomplete-guide-' + Date.now();
|
|
12
|
+
GuidesStubs.stubEnableAutocompleteGuide();
|
|
13
|
+
cy.createRepository({id: repositoryId});
|
|
14
|
+
cy.presetRepository(repositoryId);
|
|
15
|
+
|
|
16
|
+
GuideSteps.visit();
|
|
17
|
+
GuideSteps.verifyGuidesListExists();
|
|
18
|
+
cy.wait('@getGuides');
|
|
19
|
+
GuideSteps.runFirstGuide()
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
afterEach(() => {
|
|
23
|
+
cy.deleteRepository(repositoryId);
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it('Should enable autocomplete', () => {
|
|
27
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Enable autocomplete — 1/5');
|
|
28
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The following steps show how to use the Autocomplete index view to enable the autocomplete index.');
|
|
29
|
+
GuideDialogSteps.clickOnNextButton();
|
|
30
|
+
|
|
31
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Enable autocomplete — 2/5');
|
|
32
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Setup menu.');
|
|
33
|
+
MainMenuSteps.clickOnMenuSetup();
|
|
34
|
+
|
|
35
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Enable autocomplete — 3/5');
|
|
36
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Autocomplete menu.');
|
|
37
|
+
MainMenuSteps.clickOnSubmenuAutocomplete();
|
|
38
|
+
|
|
39
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Enable autocomplete — 4/5');
|
|
40
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the checkbox to enable the index.');
|
|
41
|
+
AutocompleteSteps.enableToggleAutocomplete();
|
|
42
|
+
|
|
43
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Enable autocomplete — 5/5');
|
|
44
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Wait until indexing finished.');
|
|
45
|
+
|
|
46
|
+
GuideDialogSteps.clickOnCloseButton();
|
|
47
|
+
GuideDialogSteps.assertDialogIsClosed();
|
|
48
|
+
});
|
|
49
|
+
});
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import {GuideSteps} from '../../../steps/guides/guide-steps.js';
|
|
2
|
+
import {GuideDialogSteps} from '../../../steps/guides/guide-dialog-steps.js';
|
|
3
|
+
import {MainMenuSteps} from '../../../steps/main-menu-steps.js';
|
|
4
|
+
import {GuidesStubs} from '../../../stubs/guides/guides-stubs.js';
|
|
5
|
+
import ClassViewsSteps from '../../../steps/class-views-steps.js';
|
|
6
|
+
|
|
7
|
+
describe('Class hierarchy guide steps', () => {
|
|
8
|
+
let repositoryId;
|
|
9
|
+
const FILE_TO_IMPORT = 'swapi-dataset.ttl';
|
|
10
|
+
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
repositoryId = 'class-hierarchy-guide-' + Date.now();
|
|
13
|
+
GuidesStubs.stubClassHierarchyGuide();
|
|
14
|
+
cy.createRepository({id: repositoryId});
|
|
15
|
+
cy.presetRepository(repositoryId);
|
|
16
|
+
cy.importServerFile(repositoryId, FILE_TO_IMPORT);
|
|
17
|
+
|
|
18
|
+
GuideSteps.visit();
|
|
19
|
+
GuideSteps.verifyGuidesListExists();
|
|
20
|
+
cy.wait('@getGuides');
|
|
21
|
+
GuideSteps.runFirstGuide();
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
afterEach(() => {
|
|
25
|
+
cy.deleteRepository(repositoryId);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it('Should test class hierarchy', () => {
|
|
29
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Class hierarchy instances — 1/7');
|
|
30
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on voc:Sentient to show its instances.');
|
|
31
|
+
ClassViewsSteps.selectClassElement('voc:Sentient');
|
|
32
|
+
|
|
33
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Class hierarchy instances — 2/7');
|
|
34
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The side panel shows the first 1,000 instances of the clicked class, voc:Sentient.');
|
|
35
|
+
GuideDialogSteps.clickOnNextButton();
|
|
36
|
+
|
|
37
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Class hierarchy instances — 3/7');
|
|
38
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('https://swapi.co/resource/aleena/47 is an instance of the class voc:Sentient.');
|
|
39
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('This is planet');
|
|
40
|
+
GuideDialogSteps.clickOnNextButton();
|
|
41
|
+
|
|
42
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Class hierarchy instances — 4/7');
|
|
43
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('This link shows the number of instances for the selected class, voc:Sentient. Click on the link to open the SPARQL editor with a preloaded query that selects all instances.');
|
|
44
|
+
ClassViewsSteps.clickInstanceCountLink();
|
|
45
|
+
|
|
46
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Class hierarchy instances — 5/7');
|
|
47
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('This SPARQL query selects all instances of the class voc:Sentient. The query was entered automatically when you clicked on the view instances link.');
|
|
48
|
+
GuideDialogSteps.clickOnNextButton();
|
|
49
|
+
|
|
50
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Class hierarchy instances — 6/7');
|
|
51
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The table shows the results. Note that in this particular case, the query was executed automatically.');
|
|
52
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Do not worry — there will be a dedicated section on the SPARQL editor later in the guide.');
|
|
53
|
+
GuideDialogSteps.clickOnNextButton();
|
|
54
|
+
|
|
55
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Class hierarchy instances — 7/7');
|
|
56
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('You can close the panel by clicking on the X icon.');
|
|
57
|
+
ClassViewsSteps.closeInfoSidePanel();
|
|
58
|
+
|
|
59
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Explore the class hierarchy — 1/7');
|
|
60
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The following steps show how to use the Class hierarchy view to inspect the class hierarchy and gain an insight on what the dataset contains.');
|
|
61
|
+
GuideDialogSteps.clickOnNextButton();
|
|
62
|
+
|
|
63
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Explore the class hierarchy — 2/7');
|
|
64
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Explore menu.');
|
|
65
|
+
MainMenuSteps.clickOnExplore();
|
|
66
|
+
|
|
67
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Explore the class hierarchy — 3/7');
|
|
68
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Class hierarchy menu.');
|
|
69
|
+
MainMenuSteps.clickOnSubmenuClassHierarchy();
|
|
70
|
+
|
|
71
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Explore the class hierarchy — 4/7');
|
|
72
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The biggest circle shows all top-level classes. Every class may have subclasses shown as smaller circles within their parent class. The size of each circle indicates the proportion of RDF resources that belong to that class. Thus, bigger circles are classes that have more instances.');
|
|
73
|
+
GuideDialogSteps.clickOnNextButton();
|
|
74
|
+
|
|
75
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Explore the class hierarchy — 5/7');
|
|
76
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('This is some extra content here');
|
|
77
|
+
GuideDialogSteps.clickOnNextButton();
|
|
78
|
+
|
|
79
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Explore the class hierarchy — 6/7');
|
|
80
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The class voc:Sentient is a parent class that has subclasses. Zoom inside to have a better view by scrolling up with the mouse inside the circle.');
|
|
81
|
+
GuideDialogSteps.clickOnNextButton();
|
|
82
|
+
|
|
83
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Explore the class hierarchy — 7/7');
|
|
84
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Within voc:Sentient are subclasses like voc:Human (humanoids), voc:Droid (mechanical intelligences), voc:Gungan (the Gungan species), and voc:Yodasspecies (Yoda’s lineage), highlighting the diverse forms of sentient life.');
|
|
85
|
+
|
|
86
|
+
GuideDialogSteps.clickOnCloseButton();
|
|
87
|
+
GuideDialogSteps.assertDialogIsClosed();
|
|
88
|
+
});
|
|
89
|
+
});
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import {GuideSteps} from '../../../steps/guides/guide-steps.js';
|
|
2
|
+
import {GuideDialogSteps} from '../../../steps/guides/guide-dialog-steps.js';
|
|
3
|
+
import {MainMenuSteps} from '../../../steps/main-menu-steps.js';
|
|
4
|
+
import {GuidesStubs} from '../../../stubs/guides/guides-stubs.js';
|
|
5
|
+
|
|
6
|
+
describe('Class relations guide steps', () => {
|
|
7
|
+
let repositoryId;
|
|
8
|
+
const FILE_TO_IMPORT = 'swapi-dataset.ttl';
|
|
9
|
+
const SECOND_FILE_TO_IMPORT = 'wine.rdf';
|
|
10
|
+
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
repositoryId = 'class-relations-guide-' + Date.now();
|
|
13
|
+
GuidesStubs.stubClassRelationsGuide();
|
|
14
|
+
cy.createRepository({id: repositoryId});
|
|
15
|
+
cy.presetRepository(repositoryId);
|
|
16
|
+
cy.importServerFile(repositoryId, FILE_TO_IMPORT);
|
|
17
|
+
cy.importServerFile(repositoryId, SECOND_FILE_TO_IMPORT, {context: 'http://wine.org/'});
|
|
18
|
+
|
|
19
|
+
GuideSteps.visit();
|
|
20
|
+
GuideSteps.verifyGuidesListExists();
|
|
21
|
+
cy.wait('@getGuides');
|
|
22
|
+
GuideSteps.runFirstGuide();
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
afterEach(() => {
|
|
26
|
+
cy.deleteRepository(repositoryId);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it('Should test class relations guide steps', () => {
|
|
30
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Explore the class relationships — 1/5');
|
|
31
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The following steps show how to use the Class relationships view to explore how classes are connected and understand the relationships between different types of data in your dataset.');
|
|
32
|
+
GuideDialogSteps.clickOnNextButton();
|
|
33
|
+
|
|
34
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Explore the class relationships — 2/5');
|
|
35
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Explore menu.');
|
|
36
|
+
MainMenuSteps.clickOnExplore();
|
|
37
|
+
|
|
38
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Explore the class relationships — 3/5');
|
|
39
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Class relationships menu.');
|
|
40
|
+
MainMenuSteps.clickOnSubmenuClassRelationships();
|
|
41
|
+
|
|
42
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Explore the class relationships — 4/5');
|
|
43
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('This view shows how data instances from different classes are connected based on real RDF statements.');
|
|
44
|
+
GuideDialogSteps.clickOnNextButton();
|
|
45
|
+
|
|
46
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Explore the class relationships — 5/5');
|
|
47
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Some extra info');
|
|
48
|
+
GuideDialogSteps.clickOnNextButton();
|
|
49
|
+
|
|
50
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Class relationships');
|
|
51
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Each connection line varies in thickness based on the number of links, color based on the class with more incoming links, and direction as links may go both ways (from class A to class B and vice versa).');
|
|
52
|
+
GuideDialogSteps.clickOnNextButton();
|
|
53
|
+
|
|
54
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Class relationships');
|
|
55
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on any connection line in the diagram to see the top predicates used between those two classes. This helps to understand what kind of relationships link them.');
|
|
56
|
+
GuideDialogSteps.clickOnNextButton();
|
|
57
|
+
|
|
58
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Class relationships');
|
|
59
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('If the repository contains more than one named graph, you can filter the view by opening the All graphs dropdown (next to the toolbar) and selecting the graph to explore.');
|
|
60
|
+
GuideDialogSteps.clickOnNextButton();
|
|
61
|
+
|
|
62
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Class relationships');
|
|
63
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The left panel shows all classes, sorted by number of links, displaying both incoming and outgoing connections.');
|
|
64
|
+
GuideDialogSteps.clickOnNextButton();
|
|
65
|
+
|
|
66
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Class relationships');
|
|
67
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('A green background behind a class name in the list indicates that it is currently shown in the diagram.');
|
|
68
|
+
GuideDialogSteps.clickOnNextButton();
|
|
69
|
+
|
|
70
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Class relationships');
|
|
71
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Use the + / – icons next to each class name to add or remove it from the diagram display.');
|
|
72
|
+
|
|
73
|
+
GuideDialogSteps.clickOnCloseButton();
|
|
74
|
+
GuideDialogSteps.assertDialogIsClosed();
|
|
75
|
+
});
|
|
76
|
+
});
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import {GuideSteps} from '../../../steps/guides/guide-steps.js';
|
|
2
|
+
import {GuideDialogSteps} from '../../../steps/guides/guide-dialog-steps.js';
|
|
3
|
+
import {GuidesStubs} from '../../../stubs/guides/guides-stubs.js';
|
|
4
|
+
import {ConnectorsSteps} from '../../../steps/setup/connectors-steps.js';
|
|
5
|
+
|
|
6
|
+
describe('Connectors guide', () => {
|
|
7
|
+
let repositoryId;
|
|
8
|
+
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
repositoryId = 'connectors-guide-' + Date.now();
|
|
11
|
+
cy.createRepository({id: repositoryId});
|
|
12
|
+
cy.presetRepository(repositoryId);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
afterEach(() => {
|
|
16
|
+
cy.deleteRepository(repositoryId);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
describe('General connectors guide steps', () => {
|
|
20
|
+
const instanceName = 'LuceneConnector';
|
|
21
|
+
beforeEach(() => {
|
|
22
|
+
GuidesStubs.stubConnectorsGuide();
|
|
23
|
+
cy.createConnector(repositoryId, 'lucene', instanceName);
|
|
24
|
+
|
|
25
|
+
GuideSteps.visit();
|
|
26
|
+
GuideSteps.verifyGuidesListExists();
|
|
27
|
+
cy.wait('@getGuides');
|
|
28
|
+
GuideSteps.runFirstGuide();
|
|
29
|
+
});
|
|
30
|
+
it('Should test connectors steps', () => {
|
|
31
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
|
|
32
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('GraphDB Connectors let you integrate external components and services with your repository data. They extend what your applications can do and stay automatically in sync with repository updates.');
|
|
33
|
+
GuideDialogSteps.clickOnNextButton();
|
|
34
|
+
|
|
35
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
|
|
36
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Specific GraphDB Connectors provide different connection possibilities.');
|
|
37
|
+
GuideDialogSteps.clickOnNextButton();
|
|
38
|
+
|
|
39
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
|
|
40
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Each section represents a single connector instance. For every instance, you can use the buttons on the right to copy, repair, or delete it.');
|
|
41
|
+
GuideDialogSteps.clickOnNextButton();
|
|
42
|
+
|
|
43
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
|
|
44
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('To view the configuration of a connector, click on its name. This will expand the connector details.');
|
|
45
|
+
ConnectorsSteps.expandConnector('Lucene', instanceName);
|
|
46
|
+
|
|
47
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
|
|
48
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The creation parameters for luc:createConnector define how a connector instance is created. They are provided in a JSON object with parameter names as keys. Some parameters are required, others optional, and values can be simple types, lists, or objects');
|
|
49
|
+
GuideDialogSteps.clickOnNextButton();
|
|
50
|
+
|
|
51
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
|
|
52
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('A parameter can define how an instance is created. Its value may be a simple type, a list, or an object, and it can be required or optional.');
|
|
53
|
+
GuideDialogSteps.clickOnNextButton();
|
|
54
|
+
|
|
55
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
|
|
56
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on View SPARQL Query to view the connector creation query.');
|
|
57
|
+
ConnectorsSteps.viewSPARQLQuery('Lucene', instanceName);
|
|
58
|
+
|
|
59
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
|
|
60
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The dialog displays the SPARQL query used to create the connector. You can copy it to execute manually or integrate it into automation scripts.');
|
|
61
|
+
GuideDialogSteps.clickOnNextButton();
|
|
62
|
+
|
|
63
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
|
|
64
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on close button to close the dialog');
|
|
65
|
+
ConnectorsSteps.closeSPARQLQueryDialog();
|
|
66
|
+
|
|
67
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('End of guide');
|
|
68
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('This guide has ended.');
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
describe('Lucene connector guide steps', () => {
|
|
73
|
+
const instanceName = 'NamedIndividuals';
|
|
74
|
+
beforeEach(() => {
|
|
75
|
+
GuidesStubs.stubLuceneConnectorsGuide();
|
|
76
|
+
cy.createConnector(repositoryId, 'lucene', instanceName);
|
|
77
|
+
|
|
78
|
+
GuideSteps.visit();
|
|
79
|
+
GuideSteps.verifyGuidesListExists();
|
|
80
|
+
cy.wait('@getGuides');
|
|
81
|
+
GuideSteps.runFirstGuide();
|
|
82
|
+
});
|
|
83
|
+
it('Should test Lucene connector steps', () => {
|
|
84
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
85
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The Lucene Connector in GraphDB enables extremely fast keyword and faceted (aggregation) searches. Unlike traditional setups where indexing is handled externally, this connector stays automatically synchronized with your repository data, ensuring accurate and up-to-date search results at all times.');
|
|
86
|
+
GuideDialogSteps.clickOnNextButton();
|
|
87
|
+
|
|
88
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
89
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('This is the Lucene connector named NamedIndividuals. You can copy, restart, or delete it using the icons on the right.');
|
|
90
|
+
GuideDialogSteps.clickOnNextButton();
|
|
91
|
+
|
|
92
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
93
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on NamedIndividuals to view its configuration.');
|
|
94
|
+
ConnectorsSteps.expandConnector('Lucene', instanceName);
|
|
95
|
+
|
|
96
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
97
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The fields define exactly what parts of each entity will be synchronized as well as the specific details on the connector side. The field is the smallest synchronization unit, and it maps a property chain from GraphDB to a field in Lucene. The fields are specified as a list of field objects. At least one field object is required.');
|
|
98
|
+
GuideDialogSteps.clickOnNextButton();
|
|
99
|
+
|
|
100
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
101
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The Field name defines the mapping on the connector side and is specified as a string. It is also used at query time to reference the field.');
|
|
102
|
+
GuideDialogSteps.clickOnNextButton();
|
|
103
|
+
|
|
104
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
105
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The Property chain defines the mapping on the GraphDB side. A property chain is a sequence of triples where the entity IRI is the subject of the first triple, its object is the subject of the next triple, and so on. A single-element property chain corresponds to a direct property. Property chains are specified as a list of IRIs, with at least one required.');
|
|
106
|
+
GuideDialogSteps.clickOnNextButton();
|
|
107
|
+
|
|
108
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
109
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The Indexed option determines whether the field is searchable with Lucene queries. By default, indexing is enabled.');
|
|
110
|
+
GuideDialogSteps.clickOnNextButton();
|
|
111
|
+
|
|
112
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
113
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The Stored option determines whether the field’s values are stored in Lucene. By default, fields are stored (true).');
|
|
114
|
+
GuideDialogSteps.clickOnNextButton();
|
|
115
|
+
|
|
116
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
117
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The Analyzed option determines whether literal fields are processed by the analyzer when indexed. IRIs are never analyzed. By default, fields are analyzed (true).');
|
|
118
|
+
GuideDialogSteps.clickOnNextButton();
|
|
119
|
+
|
|
120
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
121
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The Multivalued option specifies whether multiple values for RDF properties are synchronized to Lucene. True by default; if false, only a single value is synchronized.');
|
|
122
|
+
GuideDialogSteps.clickOnNextButton();
|
|
123
|
+
|
|
124
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
125
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The Facet option specifies whether the field is available for faceted searches in Lucene. Managed by the facet option (boolean, true by default).');
|
|
126
|
+
GuideDialogSteps.clickOnNextButton();
|
|
127
|
+
|
|
128
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
129
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('This lucene connector configuration contains multiple field mappings. They determine which values are searchable, filterable, or retrievable during query execution.');
|
|
130
|
+
GuideDialogSteps.clickOnNextButton();
|
|
131
|
+
|
|
132
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
133
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('For more information please visit GraphDB documentation');
|
|
134
|
+
GuideDialogSteps.getContentLink()
|
|
135
|
+
.should('have.attr', 'href')
|
|
136
|
+
.and('include', 'my-custom-link.html');
|
|
137
|
+
GuideDialogSteps.clickOnNextButton();
|
|
138
|
+
|
|
139
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
140
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The Languages option defines which RDF literal languages are mapped to the connector. You can provide a list of language ranges to include specific languages, or an empty range to include literals without a language tag.');
|
|
141
|
+
GuideDialogSteps.clickOnNextButton();
|
|
142
|
+
|
|
143
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
144
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The Types option specifies RDF types of entities to synchronize, given as a list of IRIs (at least one required).Special values: $any: sync entities with at least one RDF type.$untyped: sync entities even if they have no RDF type.');
|
|
145
|
+
GuideDialogSteps.clickOnNextButton();
|
|
146
|
+
|
|
147
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
148
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on View SPARQL Query to view the Lucene connector creation query.');
|
|
149
|
+
ConnectorsSteps.viewSPARQLQuery('Lucene', instanceName);
|
|
150
|
+
|
|
151
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
152
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The dialog displays the SPARQL query used to create the Lucene connector. You can copy it to execute manually or integrate it into automation scripts.');
|
|
153
|
+
GuideDialogSteps.clickOnNextButton();
|
|
154
|
+
|
|
155
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Connectors');
|
|
156
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on close button to close the dialog');
|
|
157
|
+
ConnectorsSteps.closeSPARQLQueryDialog();
|
|
158
|
+
|
|
159
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('End of guide');
|
|
160
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('This guide has ended.');
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
});
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import {GuideSteps} from '../../../steps/guides/guide-steps.js';
|
|
2
|
+
import {GuideDialogSteps} from '../../../steps/guides/guide-dialog-steps.js';
|
|
3
|
+
import {MainMenuSteps} from '../../../steps/main-menu-steps.js';
|
|
4
|
+
import {GuidesStubs} from '../../../stubs/guides/guides-stubs.js';
|
|
5
|
+
import {SimilarityIndexCreateSteps} from '../../../steps/explore/similarity-index-create-steps.js';
|
|
6
|
+
import {SimilarityIndexesSteps} from '../../../steps/explore/similarity-indexes-steps.js';
|
|
7
|
+
|
|
8
|
+
describe('Create similarity index guide steps', () => {
|
|
9
|
+
const FILE_TO_IMPORT = 'wine.rdf'
|
|
10
|
+
let repositoryId;
|
|
11
|
+
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
repositoryId = 'create-similarity-index-guide-' + Date.now();
|
|
14
|
+
GuidesStubs.stubCreateSimilarityIndexGuide();
|
|
15
|
+
cy.createRepository({id: repositoryId});
|
|
16
|
+
cy.importServerFile(repositoryId, FILE_TO_IMPORT);
|
|
17
|
+
cy.presetRepository(repositoryId);
|
|
18
|
+
|
|
19
|
+
GuideSteps.visit();
|
|
20
|
+
GuideSteps.verifyGuidesListExists();
|
|
21
|
+
cy.wait('@getGuides');
|
|
22
|
+
GuideSteps.runFirstGuide()
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
afterEach(() => {
|
|
26
|
+
cy.deleteRepository(repositoryId);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it('Should create similarity index', () => {
|
|
30
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 1/8');
|
|
31
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The following steps show how to create a Similarity index for your dataset.');
|
|
32
|
+
GuideDialogSteps.clickOnNextButton();
|
|
33
|
+
|
|
34
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 2/8');
|
|
35
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Explore menu.');
|
|
36
|
+
MainMenuSteps.clickOnExplore();
|
|
37
|
+
|
|
38
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 3/8');
|
|
39
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Similarity menu.');
|
|
40
|
+
MainMenuSteps.clickOnSubmenuSimilarity();
|
|
41
|
+
|
|
42
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 4/8');
|
|
43
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click the link to start creating a new Similarity index');
|
|
44
|
+
SimilarityIndexesSteps.clickCreateButton();
|
|
45
|
+
|
|
46
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 5/8');
|
|
47
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Type a name for the index. You will refer to it later.');
|
|
48
|
+
SimilarityIndexCreateSteps.typeSimilarityIndexName('new-similarity-index');
|
|
49
|
+
GuideDialogSteps.clickOnNextButton();
|
|
50
|
+
|
|
51
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 6/8');
|
|
52
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click the button to create the Similarity index.')
|
|
53
|
+
SimilarityIndexCreateSteps.create();
|
|
54
|
+
|
|
55
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 8/8');
|
|
56
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Wait for index to be created')
|
|
57
|
+
GuideDialogSteps.clickOnNextButton();
|
|
58
|
+
|
|
59
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Select by index name');
|
|
60
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('In the Existing Indexes table, you can now see the new-similarity-index which is the similarity index we created with the previous query.')
|
|
61
|
+
GuideDialogSteps.clickOnNextButton();
|
|
62
|
+
|
|
63
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Select by row index 0 (first row)');
|
|
64
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('In the Existing Indexes table, you can now see the created index.')
|
|
65
|
+
GuideDialogSteps.clickOnNextButton();
|
|
66
|
+
|
|
67
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Select default index 0 (first row)');
|
|
68
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('In the Existing Indexes table, you can now see the created index.')
|
|
69
|
+
GuideDialogSteps.clickOnNextButton();
|
|
70
|
+
|
|
71
|
+
GuideDialogSteps.clickOnCloseButton();
|
|
72
|
+
GuideDialogSteps.assertDialogIsClosed();
|
|
73
|
+
});
|
|
74
|
+
});
|