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,20 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
import {BaseSteps} from "../base-steps";
|
|
2
|
+
|
|
3
|
+
export class NamespaceSteps extends BaseSteps {
|
|
2
4
|
static visit() {
|
|
3
5
|
cy.visit('/namespaces');
|
|
4
6
|
}
|
|
5
7
|
|
|
6
8
|
static getNamespacesView() {
|
|
7
|
-
return
|
|
9
|
+
return this.getByTestId('namespaces-page')
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
static getNamespacesContent() {
|
|
13
|
+
return this.getNamespacesView().getByTestId('namespaces-content');
|
|
8
14
|
}
|
|
9
15
|
|
|
10
16
|
// ------ Generic ------
|
|
11
17
|
|
|
12
18
|
static waitUntilPageIsLoaded() {
|
|
13
|
-
// Workbench loading screen should not be visible
|
|
14
|
-
cy.get('.ot-splash').should('not.be.visible');
|
|
15
|
-
|
|
16
19
|
// No active loader
|
|
17
|
-
cy.get('.ot-loader').should('not.be.visible');
|
|
20
|
+
cy.get('.ot-loader-new-content').should('not.be.visible');
|
|
18
21
|
|
|
19
22
|
this.getAddNamespaceForm().should('be.visible');
|
|
20
23
|
}
|
|
@@ -165,7 +168,7 @@ export class NamespaceSteps {
|
|
|
165
168
|
}
|
|
166
169
|
|
|
167
170
|
static typeInlineNamespacePrefix(index, prefix) {
|
|
168
|
-
this.getInlineNamespacePrefix(index).clear().type(prefix);
|
|
171
|
+
this.getInlineNamespacePrefix(index).click().clear().type(prefix);
|
|
169
172
|
}
|
|
170
173
|
|
|
171
174
|
static getInlineNamespaceValue(index) {
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import {BaseSteps} from "../base-steps";
|
|
2
|
+
|
|
3
|
+
export class PluginsSteps extends BaseSteps {
|
|
2
4
|
static visit() {
|
|
3
5
|
cy.visit('/plugins');
|
|
4
6
|
}
|
|
@@ -7,12 +9,17 @@ export class PluginsSteps {
|
|
|
7
9
|
return cy.get('#plugins');
|
|
8
10
|
}
|
|
9
11
|
|
|
10
|
-
static
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
static getSearchPluginBar() {
|
|
13
|
+
return this.getPluginsView().getByTestId('search-plugins-bar');
|
|
14
|
+
}
|
|
13
15
|
|
|
16
|
+
static getPluginsList() {
|
|
17
|
+
return this.getPluginsView().getByTestId('plugins-list');
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
static waitUntilPluginsPageIsLoaded() {
|
|
14
21
|
// No active loader
|
|
15
|
-
cy.get('.ot-loader').should('not.exist');
|
|
22
|
+
cy.get('.ot-loader-new-content').should('not.exist');
|
|
16
23
|
|
|
17
24
|
// Repository is active
|
|
18
25
|
cy.get('.repository-errors').should('not.be.visible');
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import {BaseSteps} from "../base-steps";
|
|
1
2
|
|
|
2
|
-
export class RdfRankSteps {
|
|
3
|
+
export class RdfRankSteps extends BaseSteps {
|
|
3
4
|
static visit() {
|
|
4
5
|
cy.visit('/rdfrank');
|
|
5
6
|
}
|
|
@@ -9,11 +10,8 @@ export class RdfRankSteps {
|
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
static waitUntilRdfRankPageIsLoaded() {
|
|
12
|
-
// Workbench loading screen should not be visible
|
|
13
|
-
cy.get('.ot-splash').should('not.be.visible');
|
|
14
|
-
|
|
15
13
|
// No active loader
|
|
16
|
-
cy.get('.ot-loader').should('not.exist');
|
|
14
|
+
cy.get('.ot-loader-new-content').should('not.exist');
|
|
17
15
|
|
|
18
16
|
// Repository is active
|
|
19
17
|
cy.get('.repository-errors').should('not.be.visible');
|
|
@@ -27,6 +25,26 @@ export class RdfRankSteps {
|
|
|
27
25
|
return cy.get('#rdfRank');
|
|
28
26
|
}
|
|
29
27
|
|
|
28
|
+
static getRDFRankPage() {
|
|
29
|
+
return this.getByTestId('rdf-rank-page');
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
static getRDFRankContent() {
|
|
33
|
+
return this.getRDFRankPage().getByTestId('rdf-rank-content');
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
static getRDFRankLabel() {
|
|
37
|
+
return this.getRDFRankPage().getByTestId('rdf-rank-status-label');
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
static getRDFRandComputeButton() {
|
|
41
|
+
return this.getRDFRankPage().getByTestId('compute-rdf-rank-btn');
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
static getFilter() {
|
|
45
|
+
return this.getRdfRankPage().getByTestId('filter-content');
|
|
46
|
+
}
|
|
47
|
+
|
|
30
48
|
static getRdfStatusHeader() {
|
|
31
49
|
return this.getRdfRankPage().find('#toggleIndex');
|
|
32
50
|
}
|
|
@@ -102,8 +120,4 @@ export class RdfRankSteps {
|
|
|
102
120
|
static getExcludedPredicatesFilter() {
|
|
103
121
|
return this.getFilteringConfig().find('.excluded-predicates-filter');
|
|
104
122
|
}
|
|
105
|
-
|
|
106
|
-
static getToast() {
|
|
107
|
-
return cy.get('#toast-container');
|
|
108
|
-
}
|
|
109
123
|
}
|
|
@@ -1,14 +1,113 @@
|
|
|
1
|
+
import {EnvironmentStubs} from "../../stubs/environment-stubs";
|
|
2
|
+
|
|
1
3
|
export class SettingsSteps {
|
|
2
4
|
static visit() {
|
|
3
5
|
cy.visit('/settings');
|
|
4
6
|
}
|
|
5
7
|
|
|
8
|
+
static visitInProdMode() {
|
|
9
|
+
cy.visit('/settings', {
|
|
10
|
+
onBeforeLoad: (win) => {
|
|
11
|
+
EnvironmentStubs.stubWbProdMode();
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
static visitInDevMode() {
|
|
17
|
+
cy.visit('/settings', {
|
|
18
|
+
onBeforeLoad: (win) => {
|
|
19
|
+
EnvironmentStubs.stubWbDevMode();
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
static getSettingsPage() {
|
|
25
|
+
return cy.get('#wb-user');
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
static getLoginPanel() {
|
|
29
|
+
return this.getSettingsPage().find('.login-credentials')
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
static getPasswordField() {
|
|
33
|
+
return this.getLoginPanel().find('#wb-user-password:password');
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
static getConfirmPasswordField() {
|
|
37
|
+
return this.getLoginPanel().find('#wb-user-confirmpassword:password');
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
static getSparqlEditorPanel() {
|
|
41
|
+
return this.getSettingsPage()
|
|
42
|
+
.find('.sparql-editor-settings');
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
static getSameAsLabel() {
|
|
46
|
+
return this.getSparqlEditorPanel().find('.sameas-label')
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
static getSameAsToggle() {
|
|
50
|
+
return this.getSparqlEditorPanel()
|
|
51
|
+
.find('#sameas-on')
|
|
52
|
+
.find('.switch:checkbox');
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
static getInferenceToggle() {
|
|
56
|
+
return this.getSparqlEditorPanel()
|
|
57
|
+
.find('#inference-on')
|
|
58
|
+
.find('.switch:checkbox');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
static getInferenceLabel() {
|
|
62
|
+
return this.getSparqlEditorPanel().find('.inference-label');
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
static getCountCheckbox() {
|
|
66
|
+
return this.getSparqlEditorPanel().find('#defaultCount:checkbox');
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
static getIgnoreSharedCheckbox() {
|
|
70
|
+
return this.getSparqlEditorPanel().find('#ignore-shared:checkbox');
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
static getUserRolePanel() {
|
|
74
|
+
return this.getSettingsPage().find('.user-role');
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
static getUserRoleRadioButton() {
|
|
78
|
+
return this.getUserRolePanel().find('#roleAdmin:radio');
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
static getRepoManagerRadioButton() {
|
|
82
|
+
return this.getUserRolePanel().find('#roleRepoAdmin:radio');
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
static getAdminRadioButton() {
|
|
86
|
+
return this.getUserRolePanel().find('#roleUser:radio');
|
|
87
|
+
}
|
|
88
|
+
|
|
6
89
|
static getCookiePolicyButton() {
|
|
7
|
-
return
|
|
90
|
+
return this.getSettingsPage().find('.show-cookie-policy-btn');
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
static getUserRepositoryTable() {
|
|
94
|
+
return this.getSettingsPage().find('.user-repositories .table');
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
static getUserRepository(name) {
|
|
98
|
+
return this.getUserRepositoryTable().find(`.repository-name:contains('${name}')`).closest('tr');
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
static getReadRightsCheckbox(repositoryId) {
|
|
102
|
+
return this.getUserRepository(repositoryId).find('.read-rights .read:checkbox');
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
static getWriteRightsCheckbox(repositoryId) {
|
|
106
|
+
return this.getUserRepository(repositoryId).find('.write-rights .write:checkbox');
|
|
8
107
|
}
|
|
9
108
|
|
|
10
109
|
static clickCookiePolicyLink() {
|
|
11
|
-
return
|
|
110
|
+
return this.getCookiePolicyButton().click();
|
|
12
111
|
}
|
|
13
112
|
|
|
14
113
|
static getCookiePolicyModal() {
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import {BaseSteps} from "../base-steps";
|
|
2
|
+
|
|
3
|
+
export class SparqlTemplatesSteps extends BaseSteps {
|
|
2
4
|
|
|
3
5
|
static visit() {
|
|
4
6
|
cy.visit('/sparql-templates');
|
|
@@ -8,6 +10,22 @@ export class SparqlTemplatesSteps {
|
|
|
8
10
|
cy.url().should('include', '/sparql-templates');
|
|
9
11
|
}
|
|
10
12
|
|
|
13
|
+
static getSparqlTemplatesPage() {
|
|
14
|
+
return this.getByTestId('sparql-templates-page');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
static getSparqlTemplatesContent() {
|
|
18
|
+
return this.getSparqlTemplatesPage().getByTestId('sparql-templates-content');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
static getSparqlTemplatesCreateLink() {
|
|
22
|
+
return this.getSparqlTemplatesPage().getByTestId('create-sparql-template-link');
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
static getNoSparqlTemplatesMessage() {
|
|
26
|
+
return this.getSparqlTemplatesPage().getByTestId('no-sparql-templates-message');
|
|
27
|
+
}
|
|
28
|
+
|
|
11
29
|
static getSparqlTemplatesListContainer() {
|
|
12
30
|
return cy.get('.sparql-templates-list');
|
|
13
31
|
}
|
|
@@ -1,14 +1,32 @@
|
|
|
1
|
+
import {EnvironmentStubs} from "../../stubs/environment-stubs";
|
|
2
|
+
|
|
1
3
|
export class UserAndAccessSteps {
|
|
2
4
|
static visit() {
|
|
3
5
|
cy.visit('/users');
|
|
4
6
|
}
|
|
5
7
|
|
|
8
|
+
static visitInProdMode() {
|
|
9
|
+
cy.visit('/users', {
|
|
10
|
+
onBeforeLoad: () => {
|
|
11
|
+
EnvironmentStubs.stubWbProdMode();
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
static getUsersCatalogContainer() {
|
|
17
|
+
return cy.get('#wb-users');
|
|
18
|
+
}
|
|
19
|
+
|
|
6
20
|
static getUrl() {
|
|
7
21
|
return cy.url();
|
|
8
22
|
}
|
|
9
23
|
|
|
24
|
+
static isUsersUrlLoaded() {
|
|
25
|
+
return this.getUrl().should('include', '/users');
|
|
26
|
+
}
|
|
27
|
+
|
|
10
28
|
static getSplashLoader() {
|
|
11
|
-
return cy.get('.ot-
|
|
29
|
+
return cy.get('.ot-loader-new-content');
|
|
12
30
|
}
|
|
13
31
|
|
|
14
32
|
static getCreateNewUserButton() {
|
|
@@ -91,6 +109,10 @@ export class UserAndAccessSteps {
|
|
|
91
109
|
.closest('tr').as('user');
|
|
92
110
|
}
|
|
93
111
|
|
|
112
|
+
static getUserCustomRoles(userRow) {
|
|
113
|
+
return cy.get(userRow).getByTestId('custom-roles').getByTestId('custom-role');
|
|
114
|
+
}
|
|
115
|
+
|
|
94
116
|
static getUsernameField() {
|
|
95
117
|
return cy.get('#wb-user-username');
|
|
96
118
|
}
|
|
@@ -151,14 +173,30 @@ export class UserAndAccessSteps {
|
|
|
151
173
|
cy.get('.write').click();
|
|
152
174
|
}
|
|
153
175
|
|
|
154
|
-
static
|
|
155
|
-
return cy.get('
|
|
176
|
+
static getCustomRoleFieldError() {
|
|
177
|
+
return cy.get('#user-custom-roles').find('small');
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Returns the feedback <div> for the given login field error.
|
|
182
|
+
* @param field One of "username", "password", "confirmPassword"
|
|
183
|
+
*/
|
|
184
|
+
static getUserFieldError(field) {
|
|
185
|
+
return cy.get(`.login-credentials [ng-show="${field}Error"].form-control-feedback`);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
static getRepositoryRightsError() {
|
|
189
|
+
return cy.get('#user-repos [ng-show="repositoryCheckError"].form-control-feedback');
|
|
156
190
|
}
|
|
157
191
|
|
|
158
192
|
static getError() {
|
|
159
193
|
return cy.get('.alert-danger');
|
|
160
194
|
}
|
|
161
195
|
|
|
196
|
+
static getPermissionError() {
|
|
197
|
+
return cy.getByTestId('restricted-access-banner');
|
|
198
|
+
}
|
|
199
|
+
|
|
162
200
|
static getModal() {
|
|
163
201
|
return cy.get('.modal-dialog');
|
|
164
202
|
}
|
|
@@ -256,15 +294,15 @@ export class UserAndAccessSteps {
|
|
|
256
294
|
}
|
|
257
295
|
|
|
258
296
|
static findReadIconAlias(repoLineAlias) {
|
|
259
|
-
return cy.get(repoLineAlias).find('.
|
|
297
|
+
return cy.get(repoLineAlias).find('.ri-eye-line');
|
|
260
298
|
}
|
|
261
299
|
|
|
262
300
|
static findWriteIconAlias(repoLineAlias) {
|
|
263
|
-
return cy.get(repoLineAlias).find('.
|
|
301
|
+
return cy.get(repoLineAlias).find('.ri-edit-line');
|
|
264
302
|
}
|
|
265
303
|
|
|
266
304
|
static findGraphqlIconAlias(repoLineAlias) {
|
|
267
|
-
return cy.get(repoLineAlias).find('.
|
|
305
|
+
return cy.get(repoLineAlias).find('.icon-graphql');
|
|
268
306
|
}
|
|
269
307
|
|
|
270
308
|
static openEditUserPage(username) {
|
|
@@ -329,19 +367,15 @@ export class UserAndAccessSteps {
|
|
|
329
367
|
}
|
|
330
368
|
|
|
331
369
|
static clickFreeWriteAccessRepo(repoName) {
|
|
332
|
-
cy.get('.repo-fields')
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
.find('.write')
|
|
336
|
-
.realClick();
|
|
370
|
+
cy.get('.repo-fields').contains(repoName).parent('.row').as('row');
|
|
371
|
+
cy.get('@row').scrollIntoView();
|
|
372
|
+
cy.get('@row').find('.write').realClick();
|
|
337
373
|
}
|
|
338
374
|
|
|
339
375
|
static clickFreeGraphqlAccessRepo(repoName) {
|
|
340
|
-
cy.get('.repo-fields')
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
.find('.graphql')
|
|
344
|
-
.realClick();
|
|
376
|
+
cy.get('.repo-fields').contains(repoName).parent('.row').as('row');
|
|
377
|
+
cy.get('@row').scrollIntoView();
|
|
378
|
+
cy.get('@row').find('.graphql').realClick();
|
|
345
379
|
}
|
|
346
380
|
|
|
347
381
|
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Basic steps for interacting with the onto-dialog component. This class is designed to be extended by more specific
|
|
3
|
+
* dialog steps classes.
|
|
4
|
+
*/
|
|
5
|
+
export class SharedModalDialogSteps {
|
|
6
|
+
/**
|
|
7
|
+
* Returns the onto-dialog element.
|
|
8
|
+
* This is the generic method to get the dialog element.
|
|
9
|
+
*/
|
|
10
|
+
static getDialog() {
|
|
11
|
+
return cy.get('onto-dialog');
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Returns a child component of the dialog based on the provided CSS class. The onto-dialog component is designed to
|
|
16
|
+
* be flexible and can contain be composed of various child components included in different slots: header, body,
|
|
17
|
+
* and footer.
|
|
18
|
+
* The purpose of this method is to allow selection of specific dialog in case there are multiple dialogs in the page.
|
|
19
|
+
* @param cssClass - The CSS class of the child component to retrieve. Defaults to '.dialog', which will return the
|
|
20
|
+
* dialog itself.
|
|
21
|
+
*/
|
|
22
|
+
static getDialogComponent(cssClass = '.dialog') {
|
|
23
|
+
return cy.get(cssClass);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
static getHeader() {
|
|
27
|
+
return this.getDialog().find('.dialog-header');
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
static getBody() {
|
|
31
|
+
return this.getDialog().find('.dialog-body');
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
static getFooter() {
|
|
35
|
+
return this.getDialog().find('.dialog-footer');
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
static getCloseButton() {
|
|
39
|
+
return this.getHeader().find('.close');
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
static close() {
|
|
43
|
+
this.getCloseButton().click();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -1,19 +1,38 @@
|
|
|
1
1
|
import {YasqeSteps} from "./yasgui/yasqe-steps";
|
|
2
|
+
import {YasrSteps} from './yasgui/yasr-steps.js';
|
|
2
3
|
|
|
3
4
|
const VIEW_URL = '/sparql';
|
|
4
5
|
|
|
5
6
|
export class SparqlEditorSteps {
|
|
6
|
-
static visitSparqlEditorPage() {
|
|
7
|
-
|
|
7
|
+
static visitSparqlEditorPage(urlParameters) {
|
|
8
|
+
const url = urlParameters ? `${VIEW_URL}?${urlParameters}` : VIEW_URL;
|
|
9
|
+
cy.visit(url);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
static visitSparqlEditorPageAndWaitForEditor(urlParameters ) {
|
|
13
|
+
SparqlEditorSteps.visitSparqlEditorPage(urlParameters);
|
|
8
14
|
// Because we use angularjs less than 1.7.3 we use additional library ng-custom-element.umd.js to solve problem with property bindings
|
|
9
15
|
// This library make additional call to ontotext-yasgui-web-component and the component that's way the component renders twice when page loaded.
|
|
10
16
|
// This is bad because in tests cypress can find an element when it is rendered from first call and try to click it for example.
|
|
11
17
|
// If time of clicking such element is when second call to the component is done then exception that element is detached will be thrown.
|
|
12
18
|
// We will wait a little , to give a chance page is loaded correctly before test start.
|
|
19
|
+
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
|
13
20
|
cy.wait(1000);
|
|
14
21
|
YasqeSteps.waitUntilQueryIsVisible();
|
|
15
22
|
}
|
|
16
23
|
|
|
24
|
+
static visitSparqlEditorPageAndWaitForResults(urlParameters ) {
|
|
25
|
+
SparqlEditorSteps.visitSparqlEditorPage(urlParameters);
|
|
26
|
+
// Because we use angularjs less than 1.7.3 we use additional library ng-custom-element.umd.js to solve problem with property bindings
|
|
27
|
+
// This library make additional call to ontotext-yasgui-web-component and the component that's way the component renders twice when page loaded.
|
|
28
|
+
// This is bad because in tests cypress can find an element when it is rendered from first call and try to click it for example.
|
|
29
|
+
// If time of clicking such element is when second call to the component is done then exception that element is detached will be thrown.
|
|
30
|
+
// We will wait a little , to give a chance page is loaded correctly before test start.
|
|
31
|
+
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
|
32
|
+
cy.wait(1000);
|
|
33
|
+
YasrSteps.waitUntilResultsIsVisible();
|
|
34
|
+
}
|
|
35
|
+
|
|
17
36
|
static verifyUrl() {
|
|
18
37
|
cy.url().should('include', `${Cypress.config('baseUrl')}${VIEW_URL}`);
|
|
19
38
|
}
|
package/steps/sparql-steps.js
CHANGED
|
@@ -63,8 +63,12 @@ class SparqlSteps {
|
|
|
63
63
|
this.getLoader().should('not.exist');
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
+
static getActiveTabPanel() {
|
|
67
|
+
return cy.get('.tabPanel.active');
|
|
68
|
+
}
|
|
69
|
+
|
|
66
70
|
static getRunQueryButton() {
|
|
67
|
-
return
|
|
71
|
+
return this.getActiveTabPanel().find('.yasqe_queryButton');
|
|
68
72
|
}
|
|
69
73
|
|
|
70
74
|
static getNoQueryRunInfo() {
|
|
@@ -124,6 +128,14 @@ class SparqlSteps {
|
|
|
124
128
|
return cy.get('#saveAsBtn');
|
|
125
129
|
}
|
|
126
130
|
|
|
131
|
+
static getVisualBtn() {
|
|
132
|
+
return this.getActiveTabPanel().find('.explore-visual-graph-button');
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
static visualizeConstructQuery() {
|
|
136
|
+
this.getVisualBtn().click();
|
|
137
|
+
}
|
|
138
|
+
|
|
127
139
|
static getEditorAndResultsBtn() {
|
|
128
140
|
return cy.get('.editor-and-results-btn');
|
|
129
141
|
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import {BaseSteps} from "./base-steps";
|
|
2
|
+
|
|
3
|
+
export class SystemInformationSteps extends BaseSteps {
|
|
4
|
+
|
|
5
|
+
static visit() {
|
|
6
|
+
cy.visit('sysinfo');
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
static getSystemInformationView() {
|
|
10
|
+
return this.getByTestId('system-info-page');
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
static getSystemInformationContent() {
|
|
14
|
+
return this.getSystemInformationView().getByTestId('system-info-content');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/////////////////////////////
|
|
18
|
+
// Application Info Tab
|
|
19
|
+
/////////////////////////////
|
|
20
|
+
static getApplicationInfoTab() {
|
|
21
|
+
return this.getSystemInformationContent().getByTestId('application-info-tab');
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
static getGraphDBInfo() {
|
|
25
|
+
return this.getApplicationInfoTab().getByTestId('graphdb-info');
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
static getOperatingSystemInfo() {
|
|
29
|
+
return this.getApplicationInfoTab().getByTestId('operation-system-info');
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
static getServerReport() {
|
|
33
|
+
return this.getApplicationInfoTab().getByTestId('server-report');
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
static getNewReportButton() {
|
|
37
|
+
return this.getServerReport().getByTestId('new-report-btn');
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
static getServerReportDownloadButton() {
|
|
41
|
+
return this.getServerReport().getByTestId('download-report-btn');
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/////////////////////////////
|
|
45
|
+
// JVM Arguments Tab
|
|
46
|
+
/////////////////////////////
|
|
47
|
+
static getJVMArgumentsTab() {
|
|
48
|
+
return this.getSystemInformationContent().getByTestId('jvm-arguments-tab');
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
////////////////////////////////
|
|
52
|
+
// Configuration Parameters Tab
|
|
53
|
+
////////////////////////////////
|
|
54
|
+
static getConfigurationParametersTab() {
|
|
55
|
+
return this.getSystemInformationContent().getByTestId('configuration-parameters-tab');
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static verifyInitialState() {
|
|
59
|
+
this.getSystemInformationView().should('exist');
|
|
60
|
+
this.getSystemInformationContent().should('be.visible');
|
|
61
|
+
this.getApplicationInfoTab().should('exist');
|
|
62
|
+
this.getGraphDBInfo().should('exist');
|
|
63
|
+
this.getJVMArgumentsTab().should('exist');
|
|
64
|
+
this.getConfigurationParametersTab().should('exist');
|
|
65
|
+
this.getOperatingSystemInfo().should('exist');
|
|
66
|
+
this.getServerReport().should('exist');
|
|
67
|
+
this.getServerReportDownloadButton().should('exist');
|
|
68
|
+
this.getNewReportButton().should('exist');
|
|
69
|
+
}
|
|
70
|
+
}
|
package/steps/toaster-steps.js
CHANGED
|
@@ -1,24 +1,28 @@
|
|
|
1
1
|
export class ToasterSteps {
|
|
2
2
|
static getToast() {
|
|
3
|
-
return cy.get('
|
|
3
|
+
return cy.get('.toast');
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
static verifyTitle(title) {
|
|
7
|
-
ToasterSteps.getToast()
|
|
7
|
+
return ToasterSteps.getToast()
|
|
8
8
|
.find('.toast-title')
|
|
9
9
|
.should('be.visible')
|
|
10
10
|
.and('contain', title);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
static verifySuccess(successMessage) {
|
|
14
|
-
ToasterSteps.getToast()
|
|
14
|
+
return ToasterSteps.getToast()
|
|
15
15
|
.should('exist')
|
|
16
16
|
.find('.toast-message')
|
|
17
17
|
.and('contain', successMessage);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
static getToasterMessage() {
|
|
21
|
+
return ToasterSteps.getToast().find('.toast-message')
|
|
22
|
+
}
|
|
23
|
+
|
|
20
24
|
static verifyWarning(warningMessage) {
|
|
21
|
-
ToasterSteps.getToast()
|
|
25
|
+
return ToasterSteps.getToast()
|
|
22
26
|
.find('.toast-warning')
|
|
23
27
|
.should('be.visible')
|
|
24
28
|
.find('.toast-message')
|
|
@@ -26,9 +30,17 @@ export class ToasterSteps {
|
|
|
26
30
|
}
|
|
27
31
|
|
|
28
32
|
static verifyError(errorMessage) {
|
|
29
|
-
ToasterSteps.getToast()
|
|
30
|
-
.
|
|
33
|
+
return ToasterSteps.getToast()
|
|
34
|
+
.should('be.visible')
|
|
35
|
+
.and('have.class', 'toast-error')
|
|
36
|
+
.find('.toast-message')
|
|
37
|
+
.and('contain', errorMessage);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
static verifyNewToasterError(errorMessage) {
|
|
41
|
+
return ToasterSteps.getToast()
|
|
31
42
|
.should('be.visible')
|
|
43
|
+
.and('have.class', 'toast error')
|
|
32
44
|
.find('.toast-message')
|
|
33
45
|
.and('contain', errorMessage);
|
|
34
46
|
}
|