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
package/package.json
CHANGED
|
@@ -1,44 +1,60 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
|
|
2
|
+
"name": "graphdb-workbench-tests",
|
|
3
|
+
"version": "3.4.0-TR5",
|
|
4
|
+
"description": "Cypress tests for GraphDB workbench",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"prepack": "npm shrinkwrap",
|
|
8
|
+
"postpack": "mv npm-shrinkwrap.json package-lock.json",
|
|
9
|
+
"cy:open": "cypress open",
|
|
10
|
+
"cy:open-legacy": "cypress open --config-file cypress-legacy.config.js",
|
|
11
|
+
"cy:open-security": "cypress open --config-file cypress-security.config.js",
|
|
12
|
+
"cy:open-flaky": "cypress open --config-file cypress-flaky.config.js",
|
|
13
|
+
"cy:guides": "cypress run --config-file cypress-legacy.config.js --spec \"e2e-legacy/guides/**/*.spec.js\" --browser chrome",
|
|
14
|
+
"cy:run": "npm run cy:run-legacy && cypress run",
|
|
15
|
+
"cy:run:partial": "cypress run --config-file cypress-legacy.config.js --spec \"e2e-legacy/**/jdbc-create.spec.js\" --browser chrome",
|
|
16
|
+
"cy:run-legacy": "cypress run --config-file cypress-legacy.config.js --browser chrome",
|
|
17
|
+
"cy:run-security": "cypress run --config-file cypress-security.config.js --browser chrome",
|
|
18
|
+
"cy:run-legacy:coverage": "cypress run --config-file cypress-legacy.config.js --browser chrome",
|
|
19
|
+
"cy:run-flaky": "cypress run --config-file cypress-flaky.config.js --browser chrome",
|
|
20
|
+
"test": "npm run cy:run-legacy",
|
|
21
|
+
"test:core": "cypress run --spec e2e-legacy/repository/**,e2e-legacy/import/**,e2e-legacy/sparql-editor/**,e2e-legacy/monitor/**,e2e-legacy/cluster/**,e2e-legacy/ttyg/**",
|
|
22
|
+
"lint": "eslint '**/*.{js,mjs,cjs}'"
|
|
23
|
+
},
|
|
24
|
+
"author": {
|
|
25
|
+
"name": "Ontotext AD",
|
|
26
|
+
"url": "https://www.ontotext.com/"
|
|
27
|
+
},
|
|
28
|
+
"license": "Apache-2.0",
|
|
29
|
+
"keywords": [
|
|
30
|
+
"graphdb",
|
|
31
|
+
"workbench"
|
|
32
|
+
],
|
|
33
|
+
"repository": {
|
|
34
|
+
"type": "git",
|
|
35
|
+
"url": "git+https://github.com/Ontotext-AD/graphdb-workbench.git"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@bahmutov/cypress-code-coverage": "^2.7.2",
|
|
39
|
+
"@cypress/webpack-preprocessor": "^7.0.1",
|
|
40
|
+
"@eslint/js": "^9.33.0",
|
|
41
|
+
"babel-loader": "^10.0.0",
|
|
42
|
+
"babel-plugin-istanbul": "^7.0.0",
|
|
43
|
+
"cypress": "15.9.0",
|
|
44
|
+
"cypress-failed-log": "^2.10.0",
|
|
45
|
+
"cypress-file-upload": "^5.0.8",
|
|
46
|
+
"cypress-localstorage-commands": "^2.2.7",
|
|
47
|
+
"cypress-multi-reporters": "^2.0.5",
|
|
48
|
+
"cypress-real-events": "^1.14.0",
|
|
49
|
+
"cypress-terminal-report": "^7.2.0",
|
|
50
|
+
"cypress-wait-until": "^3.0.2",
|
|
51
|
+
"del": "^8.0.0",
|
|
52
|
+
"dotenv": "^17.0.1",
|
|
53
|
+
"eslint": "^9.33.0",
|
|
54
|
+
"eslint-plugin-cypress": "^5.1.0",
|
|
55
|
+
"globals": "^17.1.0",
|
|
56
|
+
"minimist": "^1.2.8",
|
|
57
|
+
"mocha-junit-reporter": "^2.2.1",
|
|
58
|
+
"path-browserify": "^1.0.1"
|
|
59
|
+
}
|
|
44
60
|
}
|
package/plugins/index.js
CHANGED
|
@@ -11,17 +11,20 @@
|
|
|
11
11
|
// This function is called when a project is opened or re-opened (e.g. due to
|
|
12
12
|
// the project's config changing)
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
import { deleteSync } from 'del';
|
|
15
|
+
import failed from 'cypress-failed-log/src/failed.js';
|
|
16
|
+
import installLogsPrinter from 'cypress-terminal-report/src/installLogsPrinter.js';
|
|
17
|
+
|
|
15
18
|
const retryTracker = {};
|
|
16
19
|
|
|
17
|
-
|
|
20
|
+
export default (on, config) => {
|
|
18
21
|
// `on` is used to hook into various events Cypress emits
|
|
19
22
|
// `config` is the resolved Cypress config
|
|
20
23
|
on('task', {
|
|
21
|
-
failed:
|
|
24
|
+
failed: failed()
|
|
22
25
|
});
|
|
23
26
|
|
|
24
|
-
|
|
27
|
+
installLogsPrinter(on, {
|
|
25
28
|
logToFilesOnAfterRun: true,
|
|
26
29
|
printLogsToConsole: 'onFail',
|
|
27
30
|
outputRoot: config.projectRoot + '/logs/',
|
|
@@ -64,7 +67,7 @@ module.exports = (on, config) => {
|
|
|
64
67
|
test.attempts.some((attempt) => attempt.state === 'failed')
|
|
65
68
|
);
|
|
66
69
|
if (!failures) {
|
|
67
|
-
return
|
|
70
|
+
return deleteSync(results.video);
|
|
68
71
|
}
|
|
69
72
|
}
|
|
70
73
|
});
|
|
@@ -95,4 +98,6 @@ module.exports = (on, config) => {
|
|
|
95
98
|
printGroup('[FAIL] Broken tests', broken);
|
|
96
99
|
console.log('====================================================================================================\n');
|
|
97
100
|
});
|
|
101
|
+
|
|
102
|
+
return config;
|
|
98
103
|
};
|
|
@@ -1,29 +1,31 @@
|
|
|
1
|
+
import {ToasterSteps} from "./toaster-steps";
|
|
2
|
+
|
|
1
3
|
export class ApplicationSteps {
|
|
2
4
|
|
|
3
5
|
// notifications
|
|
4
6
|
static getNotifications() {
|
|
5
|
-
return
|
|
7
|
+
return ToasterSteps.getToast()
|
|
6
8
|
}
|
|
7
9
|
|
|
8
10
|
static getSuccessNotifications() {
|
|
9
|
-
return this.getNotifications().
|
|
11
|
+
return this.getNotifications().filter('.toast-success');
|
|
10
12
|
}
|
|
11
13
|
|
|
12
14
|
static getErrorNotifications() {
|
|
13
|
-
return this.getNotifications().
|
|
15
|
+
return this.getNotifications().filter('.toast-error');
|
|
14
16
|
}
|
|
15
17
|
|
|
16
18
|
static getInfoNotification() {
|
|
17
|
-
return this.getNotifications().
|
|
19
|
+
return this.getNotifications().filter('.toast-info');
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
static getWarningNotification() {
|
|
21
|
-
return this.getNotifications().
|
|
23
|
+
return this.getNotifications().filter('.toast-warning');
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
// navigation via main menu
|
|
25
27
|
static openImportPage() {
|
|
26
|
-
cy.get('
|
|
28
|
+
cy.get('onto-navbar .menu-element').eq(0).click();
|
|
27
29
|
}
|
|
28
30
|
|
|
29
31
|
static geLoader() {
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export class BaseSteps {
|
|
2
|
+
static visit(page) {
|
|
3
|
+
cy.visit(page);
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
static clickOutsideElement() {
|
|
7
|
+
cy.get('body').click(0,0);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
static reloadPage(force = false) {
|
|
11
|
+
cy.reload(force);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
static getByTestId(testId) {
|
|
15
|
+
return cy.getByTestId(testId);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
static typeEscapeKey() {
|
|
19
|
+
cy.get('body').type('{esc}');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
static getUrl() {
|
|
23
|
+
return cy.url();
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
static validateUrl(url) {
|
|
27
|
+
this.getUrl().should('include', url);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Reusable functions for interacting with graph dropdown on Class hierarchy and relationships pages.
|
|
3
3
|
*/
|
|
4
|
+
import {ToasterSteps} from "./toaster-steps";
|
|
5
|
+
import {BaseSteps} from './base-steps.js';
|
|
4
6
|
|
|
5
7
|
export const GRAPH_FILE = 'graphdb-news-dataset.zip';
|
|
6
8
|
export const ALL_GRAPHS = 'All graphs';
|
|
7
9
|
export const NEWS_GRAPH = 'http://example.org/news';
|
|
8
10
|
|
|
9
|
-
class ClassViewsSteps {
|
|
11
|
+
class ClassViewsSteps extends BaseSteps {
|
|
10
12
|
static visit() {
|
|
11
13
|
cy.visit('/hierarchy');
|
|
12
14
|
cy.window();
|
|
@@ -21,6 +23,14 @@ class ClassViewsSteps {
|
|
|
21
23
|
});
|
|
22
24
|
}
|
|
23
25
|
|
|
26
|
+
static getClassViewsComponent() {
|
|
27
|
+
return cy.get('.explore');
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
static getExploreResults() {
|
|
31
|
+
return this.getClassViewsComponent().find('.explore_results');
|
|
32
|
+
}
|
|
33
|
+
|
|
24
34
|
static getClassChart() {
|
|
25
35
|
return cy.get('#classChart');
|
|
26
36
|
}
|
|
@@ -106,7 +116,7 @@ class ClassViewsSteps {
|
|
|
106
116
|
}
|
|
107
117
|
|
|
108
118
|
static getReturnButton() {
|
|
109
|
-
return cy.get('.
|
|
119
|
+
return cy.get('.ri-arrow-left-circle-line');
|
|
110
120
|
}
|
|
111
121
|
|
|
112
122
|
static goBack() {
|
|
@@ -122,7 +132,7 @@ class ClassViewsSteps {
|
|
|
122
132
|
}
|
|
123
133
|
|
|
124
134
|
static searchForClass() {
|
|
125
|
-
return cy.get('.toolbar-holder .icon
|
|
135
|
+
return cy.get('.toolbar-holder .search-icon').click();
|
|
126
136
|
}
|
|
127
137
|
|
|
128
138
|
static getSearchInput() {
|
|
@@ -149,7 +159,7 @@ class ClassViewsSteps {
|
|
|
149
159
|
|
|
150
160
|
static selectGraphFromDropDown(graph) {
|
|
151
161
|
cy.get('#selectGraphDropdown .dropdown-item')
|
|
152
|
-
.each(($el
|
|
162
|
+
.each(($el) => {
|
|
153
163
|
if ($el.text().trim() === graph) {
|
|
154
164
|
cy.wrap($el).click();
|
|
155
165
|
}
|
|
@@ -173,9 +183,7 @@ class ClassViewsSteps {
|
|
|
173
183
|
}
|
|
174
184
|
|
|
175
185
|
static verifyDataChangedWarning() {
|
|
176
|
-
|
|
177
|
-
.should('be.visible')
|
|
178
|
-
.and('contain', 'Repository data has changed');
|
|
186
|
+
ToasterSteps.verifyTitle('Repository data has changed');
|
|
179
187
|
}
|
|
180
188
|
|
|
181
189
|
static confirmReload() {
|
|
@@ -186,6 +194,26 @@ class ClassViewsSteps {
|
|
|
186
194
|
static reloadDiagram() {
|
|
187
195
|
cy.get('.reload-diagram-btn').click();
|
|
188
196
|
}
|
|
197
|
+
|
|
198
|
+
static getNoHierarchyErrorElement() {
|
|
199
|
+
return this.getExploreResults().find('.no-hierarchy-error');
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
static getRDFClassHierarchy() {
|
|
203
|
+
return this.getExploreResults().find('.rdf-class-hierarchy');
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
static getClassElement(className) {
|
|
207
|
+
return this.getByTestId(`class-${className}`)
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
static selectClassElement(className) {
|
|
211
|
+
this.getClassElement(className).click({force: true});
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
static clickInstanceCountLink() {
|
|
215
|
+
this.getByTestId('instances-count-link').click();
|
|
216
|
+
}
|
|
189
217
|
}
|
|
190
218
|
|
|
191
219
|
export default ClassViewsSteps;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import {BaseSteps} from "../base-steps";
|
|
2
|
+
|
|
3
|
+
export class ClusterPageSteps extends BaseSteps {
|
|
2
4
|
static visit() {
|
|
3
5
|
cy.visit('/cluster');
|
|
4
6
|
}
|
|
@@ -7,6 +9,10 @@ export class ClusterPageSteps {
|
|
|
7
9
|
return cy.get('.cluster-view');
|
|
8
10
|
}
|
|
9
11
|
|
|
12
|
+
static getNoClusterImage() {
|
|
13
|
+
return this.getClusterPage().find('.no-cluster')
|
|
14
|
+
}
|
|
15
|
+
|
|
10
16
|
static getCreateClusterButton() {
|
|
11
17
|
return cy.get('.cluster-zone');
|
|
12
18
|
}
|
|
@@ -47,8 +53,12 @@ export class ClusterPageSteps {
|
|
|
47
53
|
this.getPreviewClusterConfigButton().click();
|
|
48
54
|
}
|
|
49
55
|
|
|
56
|
+
static getLegendButton() {
|
|
57
|
+
return this.getByTestId('toggle-legend-button');
|
|
58
|
+
}
|
|
59
|
+
|
|
50
60
|
static openLegend() {
|
|
51
|
-
return
|
|
61
|
+
return this.getLegendButton().click();
|
|
52
62
|
}
|
|
53
63
|
|
|
54
64
|
static getLegend() {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export class CookieConsentBannerSteps {
|
|
2
|
+
static getCookieConsentBanner() {
|
|
3
|
+
return cy.get('.cookie-consent-banner');
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
static getCookieConsentButton() {
|
|
7
|
+
return this.getCookieConsentBanner().find('button');
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
static giveCookieConsent() {
|
|
11
|
+
return this.getCookieConsentButton().click();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
static getCookiePolicyLink() {
|
|
15
|
+
return cy.get('.cookie-consent-content a');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
static clickCookiePolicyLink() {
|
|
19
|
+
return this.getCookiePolicyLink().click();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import {SharedModalDialogSteps} from '../shared-modal-dialog-steps';
|
|
2
|
+
|
|
3
|
+
export class CookiePolicyModalSteps extends SharedModalDialogSteps {
|
|
4
|
+
static getDialogComponent(cssClass = '.cookie-policy-modal') {
|
|
5
|
+
return super.getDialogComponent(cssClass);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
static getStatisticCookiesToggle() {
|
|
9
|
+
return this.getBody().find('.statistic-cookies-toggle .toggle-switch');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
static getStatisticCookiesCheckbox() {
|
|
13
|
+
return this.getStatisticCookiesToggle().find('input');
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
static toggleStatisticCookies() {
|
|
17
|
+
this.getStatisticCookiesToggle().click();
|
|
18
|
+
// Wait here is intentional because there is a debounce before the checkbox state is updated
|
|
19
|
+
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
|
20
|
+
cy.wait(500);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
static getThirdPartyCookiesToggle() {
|
|
24
|
+
return this.getBody().find('.third-party-cookies-toggle .toggle-switch');
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
static getThirdPartyCookiesCheckbox() {
|
|
28
|
+
return this.getThirdPartyCookiesToggle().find('input');
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
static toggleThirdPartyCookies() {
|
|
32
|
+
this.getThirdPartyCookiesToggle().click();
|
|
33
|
+
// Wait here is intentional because there is a debounce before the checkbox state is updated
|
|
34
|
+
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
|
35
|
+
cy.wait(500);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
static closeDialog() {
|
|
39
|
+
this.getFooter().find('.close-btn').click();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Validates the cookie policy dialog by checking the visibility of the dialog and the state of the checkboxes for
|
|
44
|
+
* analytic and third party cookies.
|
|
45
|
+
* @param {boolean} expectedStatisticChecked
|
|
46
|
+
* @param {boolean} expectedThirdPartyChecked
|
|
47
|
+
*/
|
|
48
|
+
static validateCookiePolicyDialog(expectedStatisticChecked, expectedThirdPartyChecked) {
|
|
49
|
+
// I should see the cookie policy
|
|
50
|
+
CookiePolicyModalSteps.getDialogComponent().should('be.visible');
|
|
51
|
+
CookiePolicyModalSteps.getBody().should('be.visible');
|
|
52
|
+
// And I expect to see that analytic and third party cookies are allowed
|
|
53
|
+
CookiePolicyModalSteps.getStatisticCookiesCheckbox().should(expectedStatisticChecked ? 'be.checked' : 'not.be.checked');
|
|
54
|
+
CookiePolicyModalSteps.getThirdPartyCookiesCheckbox().should(expectedThirdPartyChecked ? 'be.checked' : 'not.be.checked');
|
|
55
|
+
}
|
|
56
|
+
}
|
package/steps/error-steps.js
CHANGED
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
export class ErrorSteps {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
static getRepositoryErrors() {
|
|
4
|
+
return cy.get('.card.repository-errors')
|
|
4
5
|
}
|
|
5
6
|
|
|
6
7
|
static verifyError(errorMessage) {
|
|
7
|
-
ErrorSteps.
|
|
8
|
+
ErrorSteps.getRepositoryErrors().contains(errorMessage);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
static getNoConnectedRepoMessage() {
|
|
12
|
+
return this.getRepositoryErrors().find('.alert.lead.alert-info');
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
static verifyNoConnectedRepoMessage() {
|
|
16
|
+
this.getRepositoryErrors().should('be.visible');
|
|
17
|
+
this.getNoConnectedRepoMessage()
|
|
18
|
+
.should('be.visible')
|
|
19
|
+
.and('contain', 'Some functionalities are not available because you are not connected to any repository.');
|
|
8
20
|
}
|
|
9
21
|
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export class ClassRelationshipsSteps {
|
|
2
|
+
static visit() {
|
|
3
|
+
cy.visit('/relationships');
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
static getFilterField() {
|
|
7
|
+
return cy.get('.search-filter-field');
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
static filterByClass(name) {
|
|
11
|
+
this.getFilterField().type(name);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
static getDirectionFilter() {
|
|
15
|
+
return cy.get('.direction-filter');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
static verifySelectedDirectionFilter(name) {
|
|
19
|
+
this.getDirectionFilter().find('input[type=radio]:checked').should('have.value', name);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
static getRelationsToolbar() {
|
|
23
|
+
return cy.get('.relations-toolbar');
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
static verifyRelationsToolbarContent() {
|
|
27
|
+
this.getRelationsToolbar().should('be.visible');
|
|
28
|
+
this.removeAllClassesButton().should('be.visible');
|
|
29
|
+
this.getReloadDiagramButton().should('be.visible');
|
|
30
|
+
this.getExportDiagramButton().should('be.visible');
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
static getDependenciesList() {
|
|
34
|
+
return cy.get('#wb-dependencies-classInClasses');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
static verifyListLength(count) {
|
|
38
|
+
this.getDependenciesList().find('.item .row').should('have.length', count);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
static getNoDataWarning() {
|
|
42
|
+
return cy.get('div.alert.alert-warning');
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
static getReloadDiagramButton() {
|
|
46
|
+
return cy.get('.reload-diagram-btn');
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
static getExportDiagramButton() {
|
|
50
|
+
return this.getRelationsToolbar().find('.export-diagram-btn');
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
static removeAllClassesButton() {
|
|
54
|
+
return this.getRelationsToolbar().find('.remove-all-classes-btn');
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
static getDependenciesDiagram() {
|
|
58
|
+
return cy.get('#dependencies-chord');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
static getAvailableDependenciesLabel() {
|
|
62
|
+
return cy.get('.available-dependencies-label');
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -10,8 +10,16 @@ export class GraphsOverviewSteps {
|
|
|
10
10
|
cy.url().should('eq', `${Cypress.config('baseUrl')}${VIEW_URL}`);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
static getGraphsOverviewComponent() {
|
|
14
|
+
return cy.get('#wb-export');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
static getResultsElement() {
|
|
18
|
+
return cy.get('#export-graphs');
|
|
19
|
+
}
|
|
20
|
+
|
|
13
21
|
static getResults() {
|
|
14
|
-
return
|
|
22
|
+
return this.getResultsElement().find('tbody tr');
|
|
15
23
|
}
|
|
16
24
|
|
|
17
25
|
static getResult(row = 0) {
|
|
@@ -73,4 +81,16 @@ export class GraphsOverviewSteps {
|
|
|
73
81
|
static clickOnDownloadAllButton() {
|
|
74
82
|
this.getDownloadAllButtons().click();
|
|
75
83
|
}
|
|
84
|
+
|
|
85
|
+
static getGraphsSearchInput() {
|
|
86
|
+
return this.getGraphsOverviewComponent().find('.search-graphs');
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
static getGraphsPaginator() {
|
|
90
|
+
return this.getGraphsOverviewComponent().find('.graphs-overview-paginator');
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
static getClearRepositoryButton() {
|
|
94
|
+
return this.getGraphsOverviewComponent().find('.clear-repository-btn');
|
|
95
|
+
}
|
|
76
96
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import {BaseSteps} from '../base-steps.js';
|
|
2
|
+
|
|
3
|
+
export class SimilarityIndexCreateSteps extends BaseSteps {
|
|
2
4
|
|
|
3
5
|
static visit() {
|
|
4
6
|
cy.visit('/similarity/index/create');
|
|
@@ -17,7 +19,7 @@ export class SimilarityIndexCreateSteps {
|
|
|
17
19
|
}
|
|
18
20
|
|
|
19
21
|
static getCreateButton() {
|
|
20
|
-
return
|
|
22
|
+
return this.getByTestId('create-similarity-index-btn');
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
static create() {
|
|
@@ -33,7 +35,7 @@ export class SimilarityIndexCreateSteps {
|
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
static getSimilarityIndexNameInput() {
|
|
36
|
-
return
|
|
38
|
+
return this.getByTestId('similarity-index-name');
|
|
37
39
|
}
|
|
38
40
|
|
|
39
41
|
static typeSimilarityIndexName(similarityIndexName) {
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import {BaseSteps} from "../base-steps";
|
|
2
|
+
|
|
3
|
+
export class SimilarityIndexesSteps extends BaseSteps{
|
|
2
4
|
|
|
3
5
|
static visit() {
|
|
4
6
|
cy.visit('/similarity');
|
|
@@ -8,8 +10,12 @@ export class SimilarityIndexesSteps {
|
|
|
8
10
|
cy.url().should('eq', `${Cypress.config('baseUrl')}/similarity`);
|
|
9
11
|
}
|
|
10
12
|
|
|
13
|
+
static getExistingSimilarityIndexes() {
|
|
14
|
+
return this.getByTestId('existing-indexes');
|
|
15
|
+
}
|
|
16
|
+
|
|
11
17
|
static getSimilarityIndexRow(similarityIndexName) {
|
|
12
|
-
return
|
|
18
|
+
return this.getExistingSimilarityIndexes().find('.index-row').contains(similarityIndexName).parent().parent();
|
|
13
19
|
}
|
|
14
20
|
|
|
15
21
|
static getEditButton(similarityIndexName) {
|
|
@@ -41,4 +47,12 @@ export class SimilarityIndexesSteps {
|
|
|
41
47
|
this.clickResultTypeDropdown();
|
|
42
48
|
cy.get('.dropdown-result-type .dropdown-item').contains(type).click();
|
|
43
49
|
}
|
|
50
|
+
|
|
51
|
+
static getCreateButton() {
|
|
52
|
+
return this.getExistingSimilarityIndexes().getByTestId('create-similarity-index-btn');
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
static clickCreateButton() {
|
|
56
|
+
this.getCreateButton().click();
|
|
57
|
+
}
|
|
44
58
|
}
|
|
@@ -35,7 +35,7 @@ export class GraphqlEndpointManagementSteps {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
static getEndpointsInfo() {
|
|
38
|
-
|
|
38
|
+
return this.getEndpointTable().find('tbody tr');
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
static getEndpointLink(index) {
|
|
@@ -89,7 +89,7 @@ export class GraphqlEndpointManagementSteps {
|
|
|
89
89
|
const endpointInfo = data[index];
|
|
90
90
|
cy.wrap($row).within(() => {
|
|
91
91
|
const statusCheck = endpointInfo.status === 'deleted' ? 'not.exist' : 'be.visible';
|
|
92
|
-
cy.get('td').eq(
|
|
92
|
+
cy.get('td').eq(2).find('.endpoint-link').should(statusCheck);
|
|
93
93
|
cy.get('td').eq(2).should('contain', endpointInfo.id);
|
|
94
94
|
cy.get('td').eq(3).should('contain', endpointInfo.label);
|
|
95
95
|
const isDefaultCheck = endpointInfo.default ? 'be.checked' : 'not.be.checked'
|