graphdb-workbench-tests 3.0.2 → 3.1.0-TR2
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/cypress-flaky.config.js +15 -4
- package/cypress-legacy.config.js +32 -0
- package/cypress.config.js +8 -4
- package/{integration-flaky → e2e-flaky}/explore/visual.graph.spec.js +4 -1
- package/{integration-flaky → e2e-flaky}/import/import-server-files-operations.spec.js +1 -1
- package/{integration-flaky → e2e-flaky}/setup/sparql-template-create.js +9 -2
- package/{integration-flaky → e2e-flaky}/sparql-editor/yasr/table-plugin.spec.js +2 -1
- package/{integration → e2e-legacy}/cluster/edit-cluster-nodes-modal.spec.js +44 -0
- 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} +18 -50
- package/{integration/explore → e2e-legacy/explore/graphs-overview}/graphs.overview.spec.js +3 -3
- 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 +1 -6
- 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 +2 -7
- 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/e2e-legacy/graphql/graphql-endpoint management-without-selected-repository.spec.js +21 -0
- 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.jsx +39 -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/{integration → e2e-legacy}/graphql/import-graphql-endpoint-definitions.spec.js +4 -7
- 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/{integration → e2e-legacy/help}/guides/movies-interactive-guide.spec.js +3 -3
- package/{integration → e2e-legacy/help}/guides/star-wars-interactive-guide.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/{integration → e2e-legacy}/home/cookie-policy.spec.js +6 -7
- package/{integration → e2e-legacy}/home/documentation-link.spec.js +27 -23
- 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 +149 -0
- package/e2e-legacy/home/view-resource-autocomplete.spec.js +65 -0
- package/{integration → e2e-legacy}/import/import-user-data-file-upload.spec.js +16 -10
- package/{integration → e2e-legacy}/import/import-user-data-text-snippet.spec.js +0 -2
- package/{integration → e2e-legacy}/import/import-user-data.spec.js +9 -2
- 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/{integration → e2e-legacy}/repository/repositories.spec.js +34 -45
- package/{integration → e2e-legacy}/resource/resource.spec.js +16 -1
- package/e2e-legacy/setup/aclmanagement/acl-management-with-selected repository.spec.js +40 -0
- package/e2e-legacy/setup/aclmanagement/acl-management-without-repositories.spec.js +21 -0
- package/{integration → e2e-legacy}/setup/aclmanagement/create-rule.spec.js +1 -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 +2 -2
- 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/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 +1 -1
- 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/{integration/setup → e2e-legacy/setup/settings}/my-settings.spec.js +5 -75
- package/{integration/setup → e2e-legacy/setup/sparql-template}/sparql-template-create.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 +50 -15
- package/e2e-legacy/setup/users-and-access/users-and-access-initial-state.spec.js +25 -0
- package/{integration → e2e-legacy}/sparql-editor/actions/inferred-sameas.spec.js +3 -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 +7 -13
- package/{integration → e2e-legacy}/sparql-editor/saved-query/share-query.spec.js +3 -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}/ttyg/agent-list.spec.js +20 -0
- package/{integration → e2e-legacy}/ttyg/agent-select-menu.spec.js +24 -0
- package/{integration → e2e-legacy}/ttyg/chat-panel.spec.js +29 -3
- package/{integration → e2e-legacy}/ttyg/create-chat.spec.js +3 -1
- package/{integration → e2e-legacy}/ttyg/edit-agent.spec.js +19 -9
- 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 +43 -0
- package/e2e-legacy/ttyg/ttyg-initial-state-without-repositories.spec.js +21 -0
- package/e2e-legacy/ttyg/ttyg-permission.spec.js +66 -0
- package/{integration → e2e-legacy}/ttyg/ttyg-view.spec.js +1 -0
- package/fixtures/locale-en.json +22 -4
- package/fixtures/repositories/free-access.json +13 -0
- package/fixtures/ttyg/agent/get-agent-list-with-incompatible-agents.json +79 -0
- package/fixtures/ttyg/chats/ask-question.json +12 -2
- package/fixtures/ttyg/chats/get-chat.json +6 -1
- package/npm-shrinkwrap.json +3557 -3815
- package/package.json +42 -42
- package/plugins/index.js +2 -2
- package/steps/application-steps.js +1 -1
- package/steps/base-steps.js +21 -0
- package/steps/class-views-steps.js +16 -0
- package/steps/cluster/cluster-page-steps.js +12 -2
- package/steps/error-steps.js +15 -0
- package/steps/explore/class-relationships-steps.js +64 -0
- package/steps/explore/graphs-overview-steps.js +21 -1
- package/steps/explore/similarity-indexes-steps.js +12 -2
- package/steps/graphql/graphql-endpoint-management-steps.js +2 -2
- package/steps/guides/guide-steps.js +20 -1
- package/steps/home-steps.js +137 -48
- package/steps/import/import-steps.js +11 -15
- package/steps/import/import-user-data-steps.js +4 -0
- package/steps/language-selector-steps.js +2 -2
- package/steps/license-steps.js +91 -9
- package/steps/login-steps.js +3 -3
- package/steps/main-menu-steps.js +198 -13
- package/steps/modal-dialog-steps.js +20 -0
- 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/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 +17 -12
- package/steps/resource/resource-steps.js +4 -0
- package/steps/rest-api-documentation-steps.js +15 -0
- package/steps/setup/autocomplete-steps.js +13 -6
- package/steps/setup/connectors-steps.js +19 -0
- package/steps/setup/jdbc-steps.js +18 -4
- package/steps/setup/namespace-steps.js +9 -6
- package/steps/setup/plugins-steps.js +11 -4
- package/steps/setup/rdf-rank-steps.js +22 -4
- package/steps/setup/settings-steps.js +82 -1
- package/steps/setup/sparql-templates-steps.js +19 -1
- package/steps/setup/user-and-access-steps.js +9 -1
- package/steps/system-information-steps.js +70 -0
- package/steps/ttyg/chat-panel-steps.js +1 -1
- package/steps/ttyg/ttyg-agent-settings-modal.steps.js +8 -12
- package/steps/ttyg/ttyg-view-steps.js +59 -8
- package/steps/visual-graph-steps.js +4 -0
- package/steps/widgets/active-repository-widget-steps.js +25 -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/stubs/autocomplete/autocomplete-stubs.js +7 -0
- package/stubs/browser-stubs.js +31 -0
- package/stubs/environment-stubs.js +9 -1
- package/stubs/license-stubs.js +51 -0
- package/stubs/repositories/repositories-stubs.js +8 -0
- package/stubs/repositories-stub.js +6 -6
- package/stubs/saved-queries-stubs.js +5 -0
- package/stubs/ttyg/ttyg-stubs.js +4 -7
- package/support/commands.js +19 -0
- package/support/repository-commands.js +20 -4
- package/Dockerfile +0 -11
- 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/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-flaky/setup/users-and-access/security-and-free-access.spec.js +0 -54
- package/{integration-flaky → e2e-flaky}/import/import-user-data-batch-operations.spec.js +0 -0
- package/{integration-flaky → e2e-flaky}/import/import.server.files.spec.js +0 -0
- package/{integration-flaky → e2e-flaky}/sparql-editor/actions/execute-update-query.spec.js +0 -0
- package/{integration-flaky → e2e-flaky}/sparql-editor/actions/share-query.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-flaky → e2e-flaky}/ttyg/ttyg-permission.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/cluster-states.spec.js +0 -0
- package/{integration → e2e-legacy}/explore/visual-graph/visual-graph-node-labels.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}/home/google-analytics.spec.js +0 -0
- package/{integration → e2e-legacy}/import/import-server-files-batch-operations.spec.js +0 -0
- package/{integration → e2e-legacy}/import/import-server-files.spec.js +0 -0
- package/{integration → e2e-legacy}/import/import-user-data-settings-dialog.spec.js +0 -0
- package/{integration → e2e-legacy}/import/import-user-data-url.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/ontop-repository.spec.js +0 -0
- /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/connectors-lucene.spec.js +0 -0
- /package/{integration → e2e-legacy}/setup/jdbc/jdbc-create.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/expand-results-over-sameas.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/actions/include-inferred-statements.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/actions/save-query.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/actions/show-saved-queries.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/internationalization.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/saved-query/abort-query.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/yasgui-tabs.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/yasr/download-as.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/yasr/pagination.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/yasr/table-plugin.spec.js +0 -0
- /package/{integration → e2e-legacy}/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +0 -0
- /package/{integration → e2e-legacy}/ttyg/chat-list.spec.js +0 -0
- /package/{integration → e2e-legacy}/ttyg/clone-agent.spec.js +0 -0
- /package/{integration → e2e-legacy}/ttyg/create-agent.spec.js +0 -0
- /package/{integration → e2e-legacy}/ttyg/delete-agent.spec.js +0 -0
- /package/support/{index.js → e2e.js} +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {ErrorSteps} from "../../../steps/error-steps";
|
|
2
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
3
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
4
|
+
import {ConnectorsSteps} from "../../../steps/setup/connectors-steps";
|
|
5
|
+
|
|
6
|
+
describe('Connectors initial state without repositories', () => {
|
|
7
|
+
it('Should display the correct initial state when navigating via URL', () => {
|
|
8
|
+
// Given, I visit the Connectors page via URL without a repository selected
|
|
9
|
+
ConnectorsSteps.visit();
|
|
10
|
+
// Then,
|
|
11
|
+
ErrorSteps.verifyNoConnectedRepoMessage();
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it('Should display the correct initial state when navigating via the navigation menu', () => {
|
|
15
|
+
// Given, I visit the Connectors page via the navigation menu without a repository selected
|
|
16
|
+
HomeSteps.visit();
|
|
17
|
+
MainMenuSteps.clickOnConnectors();
|
|
18
|
+
// Then,
|
|
19
|
+
ErrorSteps.verifyNoConnectedRepoMessage();
|
|
20
|
+
});
|
|
21
|
+
})
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
2
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
3
|
+
import {JdbcSteps} from "../../../steps/setup/jdbc-steps";
|
|
4
|
+
|
|
5
|
+
describe('JDBC with selected repository', () => {
|
|
6
|
+
let repositoryId;
|
|
7
|
+
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
repositoryId = 'jdbc-init-' + Date.now();
|
|
10
|
+
cy.createRepository({id: repositoryId});
|
|
11
|
+
cy.presetRepository(repositoryId);
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
afterEach(() => {
|
|
15
|
+
cy.deleteRepository(repositoryId);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('Should display the correct initial state when navigating via URL', () => {
|
|
19
|
+
// Given, I visit the JDBC page via URL with a repository selected
|
|
20
|
+
JdbcSteps.visit();
|
|
21
|
+
// Then,
|
|
22
|
+
verifyInitialStateWithSelectedRepository();
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it('Should display the correct initial state when navigating via the navigation bar', () => {
|
|
26
|
+
// Given, I visit the JDBC page via the navigation menu with a repository selected
|
|
27
|
+
HomeSteps.visit();
|
|
28
|
+
MainMenuSteps.clickOnJDBC();
|
|
29
|
+
// Then,
|
|
30
|
+
verifyInitialStateWithSelectedRepository();
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
const verifyInitialStateWithSelectedRepository = () => {
|
|
34
|
+
JdbcSteps.getJDBCPage().should('exist');
|
|
35
|
+
JdbcSteps.getJDBCConfiguration().should('exist');
|
|
36
|
+
JdbcSteps.getCreateSQLTableConfigurationButton().should('exist');
|
|
37
|
+
JdbcSteps.getNoSQLConfigurationsMessage().should('exist');
|
|
38
|
+
};
|
|
39
|
+
})
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {ErrorSteps} from "../../../steps/error-steps";
|
|
2
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
3
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
4
|
+
import {JdbcSteps} from "../../../steps/setup/jdbc-steps";
|
|
5
|
+
|
|
6
|
+
describe('JDBC without selected repository', () => {
|
|
7
|
+
it('Should display the correct initial state when navigating via URL', () => {
|
|
8
|
+
// Given, I visit the JDBC page via URL without a repository selected
|
|
9
|
+
JdbcSteps.visit();
|
|
10
|
+
// Then,
|
|
11
|
+
verifyInitialStateWithoutSelectedRepository();
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it('Should display the correct initial state when navigating via the navigation menu', () => {
|
|
15
|
+
// Given, I visit the JDBC page via the navigation menu without a repository selected
|
|
16
|
+
HomeSteps.visit();
|
|
17
|
+
MainMenuSteps.clickOnJDBC();
|
|
18
|
+
// Then,
|
|
19
|
+
verifyInitialStateWithoutSelectedRepository();
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
const verifyInitialStateWithoutSelectedRepository = () => {
|
|
23
|
+
ErrorSteps.verifyNoConnectedRepoMessage();
|
|
24
|
+
JdbcSteps.getJDBCPage().should('exist');
|
|
25
|
+
JdbcSteps.getJDBCConfiguration().should('not.exist');
|
|
26
|
+
};
|
|
27
|
+
})
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
2
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
3
|
+
import {NamespaceSteps} from "../../../steps/setup/namespace-steps";
|
|
4
|
+
|
|
5
|
+
describe('Namespaces with selected repository', () => {
|
|
6
|
+
let repositoryId;
|
|
7
|
+
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
repositoryId = 'namespaces-init-' + Date.now();
|
|
10
|
+
cy.createRepository({id: repositoryId});
|
|
11
|
+
cy.presetRepository(repositoryId);
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
afterEach(() => {
|
|
15
|
+
cy.deleteRepository(repositoryId);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('Should display the correct initial state when navigating via URL', () => {
|
|
19
|
+
// Given, I visit the Namespaces page via URL with a repository selected
|
|
20
|
+
NamespaceSteps.visit();
|
|
21
|
+
// Then,
|
|
22
|
+
verifyInitialStateWithSelectedRepository();
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it('Should display the correct initial state when navigating via the navigation bar', () => {
|
|
26
|
+
// Given, I visit the Namespaces page via the navigation menu with a repository selected
|
|
27
|
+
HomeSteps.visit();
|
|
28
|
+
MainMenuSteps.clickOnNamespaces();
|
|
29
|
+
// Then,
|
|
30
|
+
verifyInitialStateWithSelectedRepository();
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
const verifyInitialStateWithSelectedRepository = () => {
|
|
34
|
+
NamespaceSteps.getNamespacesView().should('exist');
|
|
35
|
+
NamespaceSteps.getNamespacesContent().should('exist');
|
|
36
|
+
NamespaceSteps.getAddNamespaceForm().should('be.visible');
|
|
37
|
+
NamespaceSteps.getNamespacePrefixField().should('be.visible');
|
|
38
|
+
NamespaceSteps.getNamespaceValueField().should('be.visible');
|
|
39
|
+
NamespaceSteps.getAddNamespaceButton().should('be.visible');
|
|
40
|
+
NamespaceSteps.getNamespacesPerPageMenu().should('be.visible');
|
|
41
|
+
NamespaceSteps.getNamespacesFilterField().should('be.visible');
|
|
42
|
+
NamespaceSteps.getNamespacesTable().should('be.visible');
|
|
43
|
+
};
|
|
44
|
+
})
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {ErrorSteps} from "../../../steps/error-steps";
|
|
2
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
3
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
4
|
+
import {NamespaceSteps} from "../../../steps/setup/namespace-steps";
|
|
5
|
+
|
|
6
|
+
describe('Namespaces without selected repository', () => {
|
|
7
|
+
it('Should display the correct initial state when navigating via URL', () => {
|
|
8
|
+
// Given, I visit the Namespaces page via URL without a repository selected
|
|
9
|
+
NamespaceSteps.visit();
|
|
10
|
+
// Then,
|
|
11
|
+
verifyInitialStateWithoutSelectedRepository();
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it('Should display the correct initial state when navigating via the navigation menu', () => {
|
|
15
|
+
// Given, I visit the Namespaces page via the navigation menu without a repository selected
|
|
16
|
+
HomeSteps.visit();
|
|
17
|
+
MainMenuSteps.clickOnNamespaces();
|
|
18
|
+
// Then,
|
|
19
|
+
verifyInitialStateWithoutSelectedRepository()
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
const verifyInitialStateWithoutSelectedRepository = () => {
|
|
23
|
+
ErrorSteps.verifyNoConnectedRepoMessage();
|
|
24
|
+
NamespaceSteps.getNamespacesView().should('exist');
|
|
25
|
+
NamespaceSteps.getNamespacesContent().should('not.be.visible');
|
|
26
|
+
};
|
|
27
|
+
})
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {NamespaceSteps} from "
|
|
2
|
-
import {ApplicationSteps} from "
|
|
3
|
-
import {NamespaceStubs} from "
|
|
4
|
-
import {ModalDialogSteps} from "
|
|
1
|
+
import {NamespaceSteps} from "../../../steps/setup/namespace-steps";
|
|
2
|
+
import {ApplicationSteps} from "../../../steps/application-steps";
|
|
3
|
+
import {NamespaceStubs} from "../../../stubs/namespace-stubs";
|
|
4
|
+
import {ModalDialogSteps} from "../../../steps/modal-dialog-steps";
|
|
5
5
|
|
|
6
6
|
describe('Namespaces', () => {
|
|
7
7
|
|
|
@@ -235,8 +235,9 @@ describe('Namespaces', () => {
|
|
|
235
235
|
ApplicationSteps.getErrorNotifications().should('be.visible')
|
|
236
236
|
.and('contain', 'Internal Server Error');
|
|
237
237
|
// And the prefix and namespace fields should not be cleared to allow user to correct the error
|
|
238
|
+
// writing in the field above should clear the field first
|
|
238
239
|
NamespaceSteps.getInlineNamespacePrefix(0).should('have.value', 'test1');
|
|
239
|
-
|
|
240
|
+
NamespaceSteps.getInlineNamespaceValue(0).should('have.value', 'http://test.com');
|
|
240
241
|
});
|
|
241
242
|
|
|
242
243
|
it('Should allow to delete existing namespaces', () => {
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
2
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
3
|
+
import {PluginsSteps} from "../../../steps/setup/plugins-steps";
|
|
4
|
+
|
|
5
|
+
describe('Plugins with selected repository', () => {
|
|
6
|
+
let repositoryId;
|
|
7
|
+
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
repositoryId = 'plugins-init-' + Date.now();
|
|
10
|
+
cy.createRepository({id: repositoryId});
|
|
11
|
+
cy.presetRepository(repositoryId);
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
afterEach(() => {
|
|
15
|
+
cy.deleteRepository(repositoryId);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('Should display the correct initial state when navigating via URL', () => {
|
|
19
|
+
// Given, I visit the Plugins page via URL with a repository selected
|
|
20
|
+
PluginsSteps.visit();
|
|
21
|
+
// Then,
|
|
22
|
+
verifyInitialStateWithSelectedRepository();
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it('Should display the correct initial state when navigating via the navigation bar', () => {
|
|
26
|
+
// Given, I visit the Plugins page via the navigation menu with a repository selected
|
|
27
|
+
HomeSteps.visit();
|
|
28
|
+
MainMenuSteps.clickOnPlugins();
|
|
29
|
+
// Then,
|
|
30
|
+
verifyInitialStateWithSelectedRepository();
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
const verifyInitialStateWithSelectedRepository = () => {
|
|
34
|
+
PluginsSteps.getPluginsView().should('be.visible');
|
|
35
|
+
PluginsSteps.getSearchPluginBar().should('be.visible');
|
|
36
|
+
PluginsSteps.getPluginsList().should('exist');
|
|
37
|
+
};
|
|
38
|
+
})
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import {ErrorSteps} from "../../../steps/error-steps";
|
|
2
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
3
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
4
|
+
import {PluginsSteps} from "../../../steps/setup/plugins-steps";
|
|
5
|
+
|
|
6
|
+
describe('Plugins without selected repository', () => {
|
|
7
|
+
it('Should display the correct initial state when navigating via URL', () => {
|
|
8
|
+
// Given, I visit the Plugins page via URL without a repository selected
|
|
9
|
+
PluginsSteps.visit();
|
|
10
|
+
// Then,
|
|
11
|
+
verifyInitialStateWithoutSelectedRepository();
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it('Should display the correct initial state when navigating via the navigation menu', () => {
|
|
15
|
+
// Given, I visit the Plugins page via the navigation menu without a repository selected
|
|
16
|
+
HomeSteps.visit();
|
|
17
|
+
MainMenuSteps.clickOnPlugins();
|
|
18
|
+
// Then,
|
|
19
|
+
verifyInitialStateWithoutSelectedRepository()
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
const verifyInitialStateWithoutSelectedRepository = () => {
|
|
23
|
+
ErrorSteps.verifyNoConnectedRepoMessage();
|
|
24
|
+
PluginsSteps.getPluginsView().should('be.visible');
|
|
25
|
+
PluginsSteps.getSearchPluginBar().should('not.be.visible');
|
|
26
|
+
PluginsSteps.getPluginsList().should('not.exist');
|
|
27
|
+
};
|
|
28
|
+
})
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {PluginsSteps} from "
|
|
2
|
-
import {PluginsStubs} from "
|
|
3
|
-
import {LicenseStubs} from "
|
|
1
|
+
import {PluginsSteps} from "../../../steps/setup/plugins-steps";
|
|
2
|
+
import {PluginsStubs} from "../../../stubs/setup/plugins-stubs";
|
|
3
|
+
import {LicenseStubs} from "../../../stubs/license-stubs";
|
|
4
4
|
|
|
5
5
|
describe('Plugins view', () => {
|
|
6
6
|
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
2
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
3
|
+
import {RdfRankSteps} from "../../../steps/setup/rdf-rank-steps";
|
|
4
|
+
|
|
5
|
+
describe('RDF Rank with selected repository', () => {
|
|
6
|
+
let repositoryId;
|
|
7
|
+
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
repositoryId = 'rdf-rank-init-' + Date.now();
|
|
10
|
+
cy.createRepository({id: repositoryId});
|
|
11
|
+
cy.presetRepository(repositoryId);
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
afterEach(() => {
|
|
15
|
+
cy.deleteRepository(repositoryId);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('Should display the correct initial state when navigating via URL', () => {
|
|
19
|
+
// Given, I visit the RDF Rank page via URL with a repository selected
|
|
20
|
+
RdfRankSteps.visit();
|
|
21
|
+
// Then,
|
|
22
|
+
verifyInitialStateWithSelectedRepository();
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it('Should display the correct initial state when navigating via the navigation bar', () => {
|
|
26
|
+
// Given, I visit the RDF Rank page via the navigation menu with a repository selected
|
|
27
|
+
HomeSteps.visit();
|
|
28
|
+
MainMenuSteps.clickOnRDFRank();
|
|
29
|
+
// Then,
|
|
30
|
+
verifyInitialStateWithSelectedRepository();
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
const verifyInitialStateWithSelectedRepository = () => {
|
|
34
|
+
RdfRankSteps.getRDFRankPage().should('be.visible');
|
|
35
|
+
RdfRankSteps.getRDFRankContent().should('be.visible');
|
|
36
|
+
RdfRankSteps.getRDFRankLabel().should('be.visible');
|
|
37
|
+
RdfRankSteps.getRDFRandComputeButton().should('be.visible');
|
|
38
|
+
RdfRankSteps.getFilter().should('be.visible');
|
|
39
|
+
};
|
|
40
|
+
})
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import {ErrorSteps} from "../../../steps/error-steps";
|
|
2
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
3
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
4
|
+
import {RdfRankSteps} from "../../../steps/setup/rdf-rank-steps";
|
|
5
|
+
|
|
6
|
+
describe('Rdf Rank without selected repository', () => {
|
|
7
|
+
it('Should display the correct initial state when navigating via URL', () => {
|
|
8
|
+
// Given, I visit the Rdf Rank page via URL without a repository selected
|
|
9
|
+
RdfRankSteps.visit();
|
|
10
|
+
// Then,
|
|
11
|
+
verifyInitialStateWithoutSelectedRepository();
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it('Should display the correct initial state when navigating via the navigation menu', () => {
|
|
15
|
+
// Given, I visit the Rdf Rank page via the navigation menu without a repository selected
|
|
16
|
+
HomeSteps.visit();
|
|
17
|
+
MainMenuSteps.clickOnRDFRank();
|
|
18
|
+
// Then,
|
|
19
|
+
verifyInitialStateWithoutSelectedRepository();
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
const verifyInitialStateWithoutSelectedRepository = () => {
|
|
23
|
+
ErrorSteps.verifyNoConnectedRepoMessage();
|
|
24
|
+
RdfRankSteps.getRDFRankPage().should('exist');
|
|
25
|
+
RdfRankSteps.getRDFRankContent().should('not.be.visible');
|
|
26
|
+
RdfRankSteps.getRDFRankLabel().should('not.be.visible');
|
|
27
|
+
RdfRankSteps.getRDFRandComputeButton().should('not.be.visible');
|
|
28
|
+
RdfRankSteps.getFilter().should('not.be.visible');
|
|
29
|
+
};
|
|
30
|
+
})
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import {RepositorySteps} from "../../../steps/repository-steps";
|
|
2
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
3
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
4
|
+
|
|
5
|
+
function verifyInitialRepositoriesState() {
|
|
6
|
+
RepositorySteps.getRepositoriesList().should('be.visible');
|
|
7
|
+
RepositorySteps.getLocalGraphDBTable()
|
|
8
|
+
.should('be.visible')
|
|
9
|
+
.and('have.length', 1)
|
|
10
|
+
.and('contain', 'repository-');
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
describe('Repositories view initial state', () => {
|
|
14
|
+
let repositoryId;
|
|
15
|
+
|
|
16
|
+
beforeEach(() => {
|
|
17
|
+
repositoryId = 'repository-' + Date.now();
|
|
18
|
+
cy.createRepository({id: repositoryId});
|
|
19
|
+
cy.presetRepository(repositoryId);
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
afterEach(() => {
|
|
23
|
+
cy.deleteRepository(repositoryId);
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it('should display the correct initial state when navigating via URL', () => {
|
|
27
|
+
// Given, I visit the Repositories page via URL
|
|
28
|
+
RepositorySteps.visit();
|
|
29
|
+
// Then,
|
|
30
|
+
verifyInitialRepositoriesState();
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it('should display the correct initial state when navigating via the navigation menu', () => {
|
|
34
|
+
// Given, I visit the Repositories page via the navigation menu
|
|
35
|
+
HomeSteps.visit();
|
|
36
|
+
MainMenuSteps.clickOnRepositories();
|
|
37
|
+
// Then,
|
|
38
|
+
verifyInitialRepositoriesState();
|
|
39
|
+
})
|
|
40
|
+
})
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import {RepositorySteps} from "../../../steps/repository-steps";
|
|
2
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
3
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
4
|
+
|
|
5
|
+
function verifyInitialRepositoriesState() {
|
|
6
|
+
RepositorySteps.getRepositoriesList().should('not.exist');
|
|
7
|
+
RepositorySteps.getLocalGraphDBTable()
|
|
8
|
+
.should('be.visible')
|
|
9
|
+
.and('have.length', 1)
|
|
10
|
+
.and('contain', 'There are no repositories in the current location');
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
describe('Repositories view initial state', () => {
|
|
14
|
+
it('should display the correct initial state when navigating via URL', () => {
|
|
15
|
+
// Given, I visit the Repositories page via URL
|
|
16
|
+
RepositorySteps.visit();
|
|
17
|
+
// Then,
|
|
18
|
+
verifyInitialRepositoriesState();
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
it('should display the correct initial state when navigating via the navigation menu', () => {
|
|
22
|
+
// Given, I visit the Repositories page via the navigation menu
|
|
23
|
+
HomeSteps.visit();
|
|
24
|
+
MainMenuSteps.clickOnRepositories();
|
|
25
|
+
// Then,
|
|
26
|
+
verifyInitialRepositoriesState();
|
|
27
|
+
})
|
|
28
|
+
})
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
2
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
3
|
+
import {SettingsSteps} from "../../../steps/setup/settings-steps";
|
|
4
|
+
|
|
5
|
+
function verifyInitialState(repositoryId) {
|
|
6
|
+
// Password change field is for admin.
|
|
7
|
+
// explicitly state that the fields must be of type password
|
|
8
|
+
SettingsSteps.getPasswordField().should('be.visible')
|
|
9
|
+
.and('have.value', '')
|
|
10
|
+
.and('have.attr', 'placeholder', 'New password');
|
|
11
|
+
SettingsSteps.getConfirmPasswordField().should('be.visible')
|
|
12
|
+
.and('have.value', '')
|
|
13
|
+
.and('have.attr', 'placeholder', 'Confirm password');
|
|
14
|
+
|
|
15
|
+
// SPARQL settings are as follows:
|
|
16
|
+
// -Expand over sameAs is on
|
|
17
|
+
// -Inference is on
|
|
18
|
+
// -Count total results is checked
|
|
19
|
+
// -Ignore saved queries is not checked
|
|
20
|
+
SettingsSteps.getSparqlEditorPanel().should('be.visible');
|
|
21
|
+
SettingsSteps.getSameAsToggle().should('be.checked');
|
|
22
|
+
SettingsSteps.getSameAsLabel().should('be.visible')
|
|
23
|
+
.and('contain', 'Expand results over owl:SameAs is')
|
|
24
|
+
.find('.tag').should('be.visible')
|
|
25
|
+
.and('contain', 'ON');
|
|
26
|
+
SettingsSteps.getInferenceToggle().should('be.checked');
|
|
27
|
+
SettingsSteps.getInferenceLabel().should('be.visible')
|
|
28
|
+
.and('contain', 'Inference is')
|
|
29
|
+
.find('.tag').should('be.visible')
|
|
30
|
+
.and('contain', 'ON');
|
|
31
|
+
SettingsSteps.getCountCheckbox().should('be.checked');
|
|
32
|
+
SettingsSteps.getIgnoreSharedCheckbox().should('not.be.checked');
|
|
33
|
+
|
|
34
|
+
// User role
|
|
35
|
+
// - User role is administrator (both cannot be changed)
|
|
36
|
+
SettingsSteps.getUserRoleRadioButton()
|
|
37
|
+
.should('be.checked')
|
|
38
|
+
.and('be.disabled')
|
|
39
|
+
.and('have.value', 'admin');
|
|
40
|
+
SettingsSteps.getRepoManagerRadioButton()
|
|
41
|
+
.should('not.be.checked')
|
|
42
|
+
.and('be.disabled');
|
|
43
|
+
SettingsSteps.getAdminRadioButton()
|
|
44
|
+
.should('not.be.checked')
|
|
45
|
+
.and('be.disabled');
|
|
46
|
+
|
|
47
|
+
// Repository rights
|
|
48
|
+
// - Admin has read and write access to all repositories."
|
|
49
|
+
SettingsSteps.getUserRepositoryTable().should('be.visible');
|
|
50
|
+
SettingsSteps.getReadRightsCheckbox(repositoryId)
|
|
51
|
+
.should('be.visible')
|
|
52
|
+
.and('be.checked')
|
|
53
|
+
.and('be.disabled');
|
|
54
|
+
SettingsSteps.getWriteRightsCheckbox(repositoryId)
|
|
55
|
+
.should('be.visible')
|
|
56
|
+
.and('be.checked')
|
|
57
|
+
.and('be.disabled');
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
describe('My Settings initial state', () => {
|
|
61
|
+
let repositoryId;
|
|
62
|
+
beforeEach(() => {
|
|
63
|
+
repositoryId = 'my-settings-' + Date.now();
|
|
64
|
+
cy.createRepository({id: repositoryId});
|
|
65
|
+
cy.presetRepository(repositoryId);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
afterEach(() => {
|
|
69
|
+
cy.deleteRepository(repositoryId);
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
it('Should display the correct initial state when navigating via URL', () => {
|
|
73
|
+
// Given, I visit the My Settings page via URL
|
|
74
|
+
SettingsSteps.visit();
|
|
75
|
+
// Then,
|
|
76
|
+
verifyInitialState(repositoryId);
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
it('Should display the correct initial state when navigating via the navigation bar', () => {
|
|
80
|
+
// Given, I visit the My Settings page via the navigation menu
|
|
81
|
+
HomeSteps.visit();
|
|
82
|
+
MainMenuSteps.clickOnMySettings();
|
|
83
|
+
// Then,
|
|
84
|
+
verifyInitialState(repositoryId);
|
|
85
|
+
});
|
|
86
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {SparqlEditorSteps} from "
|
|
2
|
-
import {YasqeSteps} from "
|
|
3
|
-
import {SecurityStubs} from "
|
|
4
|
-
import {VisualGraphSteps} from "
|
|
1
|
+
import {SparqlEditorSteps} from "../../../steps/sparql-editor-steps";
|
|
2
|
+
import {YasqeSteps} from "../../../steps/yasgui/yasqe-steps";
|
|
3
|
+
import {SecurityStubs} from "../../../stubs/security-stubs";
|
|
4
|
+
import {VisualGraphSteps} from "../../../steps/visual-graph-steps";
|
|
5
5
|
|
|
6
6
|
describe('My Settings', () => {
|
|
7
7
|
|
|
@@ -14,6 +14,7 @@ describe('My Settings', () => {
|
|
|
14
14
|
beforeEach(() => {
|
|
15
15
|
repositoryId = 'my-settings-' + Date.now();
|
|
16
16
|
cy.createRepository({id: repositoryId});
|
|
17
|
+
cy.presetRepository(repositoryId);
|
|
17
18
|
cy.importServerFile(repositoryId, FILE_TO_IMPORT);
|
|
18
19
|
cy.setDefaultUserData();
|
|
19
20
|
visitSettingsView();
|
|
@@ -23,60 +24,6 @@ describe('My Settings', () => {
|
|
|
23
24
|
cy.deleteRepository(repositoryId);
|
|
24
25
|
});
|
|
25
26
|
|
|
26
|
-
it('Initial state', () => {
|
|
27
|
-
// Password change field is for admin.
|
|
28
|
-
// explicitly state that the fields must be of type password
|
|
29
|
-
cy.get('#wb-user-password:password').should('be.visible')
|
|
30
|
-
.and('have.value', '')
|
|
31
|
-
.and('have.attr', 'placeholder', 'New password');
|
|
32
|
-
cy.get('#wb-user-confirmpassword:password').should('be.visible')
|
|
33
|
-
.and('have.value', '')
|
|
34
|
-
.and('have.attr', 'placeholder', 'Confirm password');
|
|
35
|
-
|
|
36
|
-
// SPARQL settings are as follows:
|
|
37
|
-
// -Expand over sameAs is on
|
|
38
|
-
// -Inference is on
|
|
39
|
-
// -Count total results is checked
|
|
40
|
-
// -Ignore saved queries is not checked
|
|
41
|
-
cy.get('.sparql-editor-settings').should('be.visible');
|
|
42
|
-
cy.get('#sameas-on').find('.switch:checkbox').should('be.checked');
|
|
43
|
-
cy.get('.sameas-label').should('be.visible')
|
|
44
|
-
.and('contain', 'Expand results over owl:SameAs is')
|
|
45
|
-
.find('.tag').should('be.visible')
|
|
46
|
-
.and('contain', 'ON');
|
|
47
|
-
cy.get('#inference-on').find('.switch:checkbox').should('be.checked');
|
|
48
|
-
cy.get('.inference-label').should('be.visible')
|
|
49
|
-
.and('contain', 'Inference is')
|
|
50
|
-
.find('.tag').should('be.visible')
|
|
51
|
-
.and('contain', 'ON');
|
|
52
|
-
cy.get('#defaultCount:checkbox').should('be.checked');
|
|
53
|
-
cy.get('#ignore-shared:checkbox').should('not.be.checked');
|
|
54
|
-
|
|
55
|
-
// User role
|
|
56
|
-
// - User role is administrator (both cannot be changed)
|
|
57
|
-
getUserRoleButtonGroup().should('be.visible')
|
|
58
|
-
.find('#roleAdmin:radio')
|
|
59
|
-
.should('be.checked')
|
|
60
|
-
.and('be.disabled')
|
|
61
|
-
.and('have.value', 'admin');
|
|
62
|
-
getUserRoleButtonGroup().find('#roleRepoAdmin:radio')
|
|
63
|
-
.should('not.be.checked')
|
|
64
|
-
.and('be.disabled');
|
|
65
|
-
getUserRoleButtonGroup().find('#roleUser:radio')
|
|
66
|
-
.should('not.be.checked')
|
|
67
|
-
.and('be.disabled');
|
|
68
|
-
|
|
69
|
-
// Repository rights
|
|
70
|
-
// - Admin has read and write access to all repositories."
|
|
71
|
-
getUserRepositoryTable().should('be.visible');
|
|
72
|
-
getUserRepository(repositoryId).find('.read-rights .read:checkbox').should('be.visible')
|
|
73
|
-
.and('be.checked')
|
|
74
|
-
.and('be.disabled');
|
|
75
|
-
getUserRepository(repositoryId).find('.write-rights .write:checkbox').should('be.visible')
|
|
76
|
-
.and('be.checked')
|
|
77
|
-
.and('be.disabled');
|
|
78
|
-
});
|
|
79
|
-
|
|
80
27
|
it('should change settings for admin and verify changes are reflected in SPARQL editor', () => {
|
|
81
28
|
SecurityStubs.resetGetAdminUserStub();
|
|
82
29
|
cy.get('.sparql-editor-settings').should('be.visible');
|
|
@@ -221,18 +168,6 @@ describe('My Settings', () => {
|
|
|
221
168
|
.should('not.be.visible');
|
|
222
169
|
});
|
|
223
170
|
|
|
224
|
-
function getUserRepositoryTable() {
|
|
225
|
-
return cy.get('.user-repositories .table');
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
function getUserRepository(name) {
|
|
229
|
-
return getUserRepositoryTable().find(`.repository-name:contains('${name}')`).closest('tr');
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
function getUserRoleButtonGroup() {
|
|
233
|
-
return cy.get('.user-role');
|
|
234
|
-
}
|
|
235
|
-
|
|
236
171
|
function getSaveButton() {
|
|
237
172
|
return cy.get('#wb-user-submit').scrollIntoView().should('be.visible');
|
|
238
173
|
}
|
|
@@ -265,11 +200,6 @@ describe('My Settings', () => {
|
|
|
265
200
|
.and('have.attr', 'readonly', 'readonly');
|
|
266
201
|
}
|
|
267
202
|
|
|
268
|
-
function visitVisualGraphView() {
|
|
269
|
-
cy.visit('/graphs-visualizations');
|
|
270
|
-
cy.window();
|
|
271
|
-
}
|
|
272
|
-
|
|
273
203
|
function clickLabelBtn(btnId) {
|
|
274
204
|
return cy.get(btnId)
|
|
275
205
|
.find('.switch.mr-0').scrollIntoView().should('be.visible').click();
|