graphdb-workbench-tests 3.1.0-TR1 → 3.1.0-WBM-2
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 +5 -3
- 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}/setup/users-and-access/security-and-free-access.spec.js +4 -1
- package/{integration-flaky → e2e-flaky}/sparql-editor/yasr/table-plugin.spec.js +2 -1
- package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-multi-region.spec.js +4 -1
- package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-nodes.spec.js +4 -1
- package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration.spec.js +4 -1
- package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository-without-class-hierarchy.js +42 -0
- package/e2e-legacy/explore/class-hierarchy/class-hierarchy-with-selected-repository.js +43 -0
- package/e2e-legacy/explore/class-hierarchy/class-hierarchy-without-selected-repository.js +30 -0
- package/{integration/explore → e2e-legacy/explore/class-hierarchy}/class.hierarchy.spec.js +3 -2
- 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 +5 -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/{integration → e2e-legacy}/explore/visual-graph/graphs-config.spec.js +18 -5
- 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 +3 -2
- package/{integration → e2e-legacy}/graphql/activate-deactivate-graphql-endpoint.spec.js +1 -1
- package/{integration → e2e-legacy}/graphql/create-graphql-endpoint.spec.js +1 -1
- package/{integration → e2e-legacy}/graphql/delete-graphql-endpoint.spec.js +1 -1
- package/{integration → e2e-legacy}/graphql/edit-graphql-enpoint.spec.js +1 -1
- package/{integration → e2e-legacy}/graphql/export-graphql-endpoint-definition.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 +1 -1
- 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 +2 -2
- package/{integration → e2e-legacy}/graphql/import-graphql-endpoint-definitions.spec.js +1 -1
- package/{integration → e2e-legacy}/graphql/set-default-graphql-endpoint.spec.js +1 -1
- package/{integration → e2e-legacy}/guides/movies-interactive-guide.spec.js +5 -1
- package/{integration → e2e-legacy}/guides/star-wars-interactive-guide.js +6 -1
- package/{integration → e2e-legacy}/home/cookie-policy.spec.js +5 -1
- package/{integration → e2e-legacy}/home/create-repository.spec.js +6 -2
- package/{integration → e2e-legacy}/home/documentation-link.spec.js +4 -1
- package/e2e-legacy/home/home-page-with-selected-repository.spec.js +66 -0
- package/e2e-legacy/home/home-page-without-repositories.spec.js +91 -0
- package/e2e-legacy/home/home-page-without-selected-repository.spec.js +59 -0
- package/{integration → e2e-legacy}/home/language-change.spec.js +6 -3
- package/{integration → e2e-legacy}/home/language-selector.spec.js +4 -1
- package/{integration → e2e-legacy}/home/rdf-resource-search.spec.js +4 -1
- package/{integration → e2e-legacy}/home/view-resource-autocomplete.spec.js +6 -2
- package/{integration → e2e-legacy}/import/import-server-files-batch-operations.spec.js +2 -1
- package/{integration → e2e-legacy}/import/import-server-files.spec.js +2 -1
- package/{integration → e2e-legacy}/import/import-user-data-file-upload.spec.js +10 -3
- package/{integration → e2e-legacy}/import/import-user-data-text-snippet.spec.js +30 -8
- package/{integration → e2e-legacy}/import/import-user-data-url.spec.js +2 -1
- package/{integration → e2e-legacy}/import/import-user-data.spec.js +2 -1
- package/{integration → e2e-legacy}/import/import-view.spec.js +2 -1
- 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/{integration → e2e-legacy}/monitor/global-operation-statuses-component.spec.js +4 -1
- package/{integration → e2e-legacy}/monitor/monitor.queries.spec.js +4 -1
- package/{integration → e2e-legacy}/monitor/monitor.resources.spec.js +2 -1
- package/{integration → e2e-legacy}/repository/attach-remote-location.spec.js +4 -1
- package/{integration → e2e-legacy}/repository/ontop-repository.spec.js +12 -3
- package/{integration → e2e-legacy}/repository/repositories.spec.js +1 -1
- package/{integration → e2e-legacy}/resource/resource.spec.js +10 -3
- package/{integration → e2e-legacy}/setup/aclmanagement/create-rule.spec.js +3 -1
- package/{integration → e2e-legacy}/setup/aclmanagement/edit-rule.spec.js +2 -1
- package/{integration → e2e-legacy}/setup/aclmanagement/reorder-rules.spec.js +2 -1
- package/{integration → e2e-legacy}/setup/aclmanagement/revert-rules.spec.js +4 -1
- package/{integration → e2e-legacy}/setup/aclmanagement/scopes.spec.js +2 -1
- package/{integration → e2e-legacy}/setup/aclmanagement/update-rules.spec.js +16 -4
- package/{integration → e2e-legacy}/setup/autocomplete.spec.js +4 -1
- package/{integration → e2e-legacy}/setup/connectors-lucene.spec.js +2 -1
- package/{integration → e2e-legacy}/setup/my-settings.spec.js +4 -2
- package/{integration → e2e-legacy}/setup/namespaces.spec.js +4 -1
- package/{integration → e2e-legacy}/setup/plugins.spec.js +4 -1
- package/{integration → e2e-legacy}/setup/rdf-rank.spec.js +4 -1
- package/{integration → e2e-legacy}/setup/sparql-template-create.js +18 -5
- package/{integration → e2e-legacy}/setup/sparql-templates.spec.js +2 -1
- package/{integration → e2e-legacy}/setup/user-and-access.spec.js +9 -5
- package/{integration → e2e-legacy}/sparql-editor/actions/inferred-sameas.spec.js +3 -1
- package/{integration → e2e-legacy}/sparql-editor/internationalization.spec.js +4 -1
- package/{integration → e2e-legacy}/sparql-editor/saved-query/edit-query.spec.js +3 -0
- package/{integration → e2e-legacy}/sparql-editor/saved-query/share-query.spec.js +5 -1
- package/{integration → e2e-legacy}/sparql-editor/sparql-editor.spec.js +4 -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 +4 -1
- package/{integration → e2e-legacy}/ttyg/agent-list.spec.js +4 -1
- package/{integration → e2e-legacy}/ttyg/chat-list.spec.js +2 -1
- package/{integration → e2e-legacy}/ttyg/create-agent.spec.js +10 -3
- package/{integration → e2e-legacy}/ttyg/edit-agent.spec.js +1 -1
- package/e2e-legacy/ttyg/ttyg-permission.spec.js +69 -0
- package/{integration → e2e-legacy}/ttyg/ttyg-view.spec.js +2 -1
- package/fixtures/ttyg/autocomplete-response.json +154 -0
- package/npm-shrinkwrap.json +3540 -3815
- package/package.json +42 -42
- package/steps/class-views-steps.js +16 -0
- 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/home-steps.js +103 -13
- package/steps/import/import-user-data-steps.js +4 -0
- package/steps/language-selector-steps.js +2 -2
- package/steps/main-menu-steps.js +44 -6
- package/steps/repository-selector-steps.js +3 -3
- package/steps/repository-steps.js +7 -1
- package/steps/setup/user-and-access-steps.js +5 -1
- package/steps/visual-graph-steps.js +4 -0
- package/steps/widgets/active-repository-widget-steps.js +13 -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/repositories/repositories-stubs.js +4 -0
- package/stubs/repositories-stub.js +6 -6
- package/stubs/saved-queries-stubs.js +5 -0
- package/support/commands.js +19 -0
- package/support/repository-commands.js +6 -3
- package/Dockerfile +0 -11
- package/fixtures/repositories/get-remote-and-local-repositories.json +0 -34
- 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/workbench.home.spec.js +0 -30
- package/integration/setup/jdbc/jdbc-create.spec.js +0 -329
- package/integration/setup/jdbc/jdbc.spec.js +0 -161
- /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-properties.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}/cluster/edit-cluster-nodes-modal.spec.js +0 -0
- /package/{integration → e2e-legacy}/explore/visual-graph/visual-graph-node-labels.spec.js +0 -0
- /package/{integration → e2e-legacy}/help/system-information.spec.js +0 -0
- /package/{integration → e2e-legacy}/home/google-analytics.spec.js +0 -0
- /package/{integration → e2e-legacy}/import/import-user-data-settings-dialog.spec.js +0 -0
- /package/{integration → e2e-legacy}/license/license.spec.js +0 -0
- /package/{integration → e2e-legacy}/monitor/monitor.backup-and-restore.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/render-rules.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/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/saved-query/readonly-query.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/agent-select-menu.spec.js +0 -0
- /package/{integration → e2e-legacy}/ttyg/chat-panel.spec.js +0 -0
- /package/{integration → e2e-legacy}/ttyg/clone-agent.spec.js +0 -0
- /package/{integration → e2e-legacy}/ttyg/create-chat.spec.js +0 -0
- /package/{integration → e2e-legacy}/ttyg/delete-agent.spec.js +0 -0
- /package/support/{index.js → e2e.js} +0 -0
package/.editorconfig
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
root = true
|
|
2
|
+
|
|
3
|
+
[*]
|
|
4
|
+
|
|
5
|
+
indent_style = space
|
|
6
|
+
indent_size = 4
|
|
7
|
+
|
|
8
|
+
end_of_line = lf
|
|
9
|
+
charset = utf-8
|
|
10
|
+
trim_trailing_whitespace = true
|
|
11
|
+
insert_final_newline = true
|
|
12
|
+
|
|
13
|
+
[*.md]
|
|
14
|
+
trim_trailing_whitespace = false
|
|
15
|
+
|
|
16
|
+
[*.txt]
|
|
17
|
+
insert_final_newline = false
|
package/cypress-flaky.config.js
CHANGED
|
@@ -6,16 +6,27 @@ module.exports = defineConfig({
|
|
|
6
6
|
screenshotsFolder: 'report/screenshots',
|
|
7
7
|
videosFolder: 'report/videos',
|
|
8
8
|
video: true,
|
|
9
|
-
defaultCommandTimeout:
|
|
9
|
+
defaultCommandTimeout: 25000,
|
|
10
10
|
numTestsKeptInMemory: 10,
|
|
11
11
|
e2e: {
|
|
12
|
+
retries: {
|
|
13
|
+
runMode: 2,
|
|
14
|
+
openMode: 0
|
|
15
|
+
},
|
|
12
16
|
// We've imported your old cypress plugins here.
|
|
13
17
|
// You may want to clean this up later by importing these.
|
|
14
18
|
setupNodeEvents(on, config) {
|
|
15
|
-
return require('./plugins
|
|
19
|
+
return require('./plugins')(on, config);
|
|
16
20
|
},
|
|
17
21
|
baseUrl: 'http://localhost:9000',
|
|
18
|
-
specPattern: '
|
|
19
|
-
supportFile: 'support/
|
|
22
|
+
specPattern: 'e2e-flaky/**/*.{js,jsx,ts,tsx}',
|
|
23
|
+
supportFile: 'support/e2e.js',
|
|
24
|
+
reporter: "cypress-multi-reporters",
|
|
25
|
+
reporterOptions: {
|
|
26
|
+
configFile: 'cypress-reporter-config.json'
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
env: {
|
|
30
|
+
set_default_user_data: true
|
|
20
31
|
}
|
|
21
32
|
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const {defineConfig} = require('cypress');
|
|
2
|
+
|
|
3
|
+
module.exports = defineConfig({
|
|
4
|
+
projectId: 'v35btb',
|
|
5
|
+
fixturesFolder: 'fixtures',
|
|
6
|
+
screenshotsFolder: 'report/screenshots',
|
|
7
|
+
videosFolder: 'report/videos',
|
|
8
|
+
video: true,
|
|
9
|
+
defaultCommandTimeout: 25000,
|
|
10
|
+
numTestsKeptInMemory: 10,
|
|
11
|
+
e2e: {
|
|
12
|
+
retries: {
|
|
13
|
+
runMode: 2,
|
|
14
|
+
openMode: 0
|
|
15
|
+
},
|
|
16
|
+
// We've imported your old cypress plugins here.
|
|
17
|
+
// You may want to clean this up later by importing these.
|
|
18
|
+
setupNodeEvents(on, config) {
|
|
19
|
+
return require('./plugins')(on, config);
|
|
20
|
+
},
|
|
21
|
+
baseUrl: 'http://localhost:9000',
|
|
22
|
+
specPattern: 'e2e-legacy/**/*.{js,jsx,ts,tsx}',
|
|
23
|
+
supportFile: 'support/e2e.js',
|
|
24
|
+
reporter: "cypress-multi-reporters",
|
|
25
|
+
reporterOptions: {
|
|
26
|
+
configFile: 'cypress-reporter-config.json'
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
env: {
|
|
30
|
+
set_default_user_data: true
|
|
31
|
+
}
|
|
32
|
+
});
|
package/cypress.config.js
CHANGED
|
@@ -6,6 +6,8 @@ module.exports = defineConfig({
|
|
|
6
6
|
screenshotsFolder: 'report/screenshots',
|
|
7
7
|
videosFolder: 'report/videos',
|
|
8
8
|
video: true,
|
|
9
|
+
screenshotOnRunFailure: true,
|
|
10
|
+
trashAssetsBeforeRuns: true,
|
|
9
11
|
defaultCommandTimeout: 40000,
|
|
10
12
|
numTestsKeptInMemory: 10,
|
|
11
13
|
e2e: {
|
|
@@ -16,11 +18,11 @@ module.exports = defineConfig({
|
|
|
16
18
|
// We've imported your old cypress plugins here.
|
|
17
19
|
// You may want to clean this up later by importing these.
|
|
18
20
|
setupNodeEvents(on, config) {
|
|
19
|
-
return require('./plugins
|
|
21
|
+
return require('./plugins')(on, config);
|
|
20
22
|
},
|
|
21
23
|
baseUrl: 'http://localhost:9000',
|
|
22
|
-
specPattern: '
|
|
23
|
-
supportFile: 'support/
|
|
24
|
+
specPattern: 'e2e/**/*.{js,jsx,ts,tsx}',
|
|
25
|
+
supportFile: 'support/e2e.js',
|
|
24
26
|
reporter: "cypress-multi-reporters",
|
|
25
27
|
reporterOptions: {
|
|
26
28
|
configFile: 'cypress-reporter-config.json'
|
|
@@ -25,7 +25,10 @@ describe('Visual graph screen validation', () => {
|
|
|
25
25
|
cy.presetRepository(repositoryId);
|
|
26
26
|
});
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
/**
|
|
29
|
+
* TODO: Fix me. Broken due to migration (Error: unknown)
|
|
30
|
+
*/
|
|
31
|
+
it.skip('CRUD on saved graph', () => {
|
|
29
32
|
const graphConfigName = 'MyGraphConfig_' + Date.now();
|
|
30
33
|
const namedGraph = 'myGraph_' + Date.now();
|
|
31
34
|
const renamedGraph = 'myRenamedGraph_' + Date.now();
|
|
@@ -18,7 +18,7 @@ describe('Import server files - Operations', {retries: {runMode: 2}}, () => {
|
|
|
18
18
|
repositoryId = 'server-import-' + Date.now();
|
|
19
19
|
cy.createRepository({id: repositoryId});
|
|
20
20
|
ImportServerFilesSteps.visitServerImport(repositoryId);
|
|
21
|
-
ImportServerFilesSteps.getResources().should('have.length',
|
|
21
|
+
ImportServerFilesSteps.getResources().should('have.length', 18);
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
afterEach(() => {
|
|
@@ -6,6 +6,7 @@ import {MainMenuSteps} from "../../steps/main-menu-steps";
|
|
|
6
6
|
import {RepositorySelectorSteps} from "../../steps/repository-selector-steps";
|
|
7
7
|
import {SparqlTemplatesSteps} from "../../steps/setup/sparql-templates-steps";
|
|
8
8
|
|
|
9
|
+
// TODO: Fix me. Broken due to migration (Error: beforeEach)
|
|
9
10
|
describe('SPARQL create template', () => {
|
|
10
11
|
|
|
11
12
|
let repositoryId;
|
|
@@ -44,7 +45,10 @@ describe('SPARQL create template', () => {
|
|
|
44
45
|
SparqlCreateUpdateSteps.getInvalidQueryElement().contains('Invalid query');
|
|
45
46
|
});
|
|
46
47
|
|
|
47
|
-
|
|
48
|
+
/**
|
|
49
|
+
* TODO: Fix me. Broken due to migration (Repository selector changed)
|
|
50
|
+
*/
|
|
51
|
+
it.skip('should display confirm dialog I am updating a sparql template and change the repository', {
|
|
48
52
|
retries: {
|
|
49
53
|
runMode: 1,
|
|
50
54
|
openMode: 0
|
|
@@ -112,7 +116,10 @@ describe('SPARQL create template', () => {
|
|
|
112
116
|
RepositorySelectorSteps.getSelectedRepository().contains(repositoryId);
|
|
113
117
|
});
|
|
114
118
|
|
|
115
|
-
|
|
119
|
+
/**
|
|
120
|
+
* TODO: Fix me. Broken due to migration (Changes in main menu)
|
|
121
|
+
*/
|
|
122
|
+
it.skip('should confirm me before navigate when query is changed', {
|
|
116
123
|
retries: {
|
|
117
124
|
runMode: 1,
|
|
118
125
|
openMode: 0
|
package/{integration-flaky → e2e-flaky}/setup/users-and-access/security-and-free-access.spec.js
RENAMED
|
@@ -6,7 +6,10 @@ import {LoginSteps} from "../../../steps/login-steps";
|
|
|
6
6
|
|
|
7
7
|
const DEFAULT_ADMIN_PASSWORD = "root";
|
|
8
8
|
// Moved out of the standard test suite, because Cypress can't verify Free Access is ON in CI
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* TODO: Fix me. Broken due to migration (loader is not implemented)
|
|
11
|
+
*/
|
|
12
|
+
describe.skip('Security and Free Access', () => {
|
|
10
13
|
beforeEach(() => {
|
|
11
14
|
UserAndAccessSteps.visit();
|
|
12
15
|
cy.window();
|
|
@@ -5,7 +5,8 @@ import {YasrSteps} from "../../../steps/yasgui/yasr-steps";
|
|
|
5
5
|
import {ApplicationSteps} from "../../../steps/application-steps";
|
|
6
6
|
import {TablePluginSteps} from "../../../steps/yasgui/table-plugin-steps";
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
//TODO: Fix me. Broken due to migration (Error: beforeEach)
|
|
9
|
+
describe.skip('Yasr Table plugin', () => {
|
|
9
10
|
let repositoryId;
|
|
10
11
|
beforeEach(() => {
|
|
11
12
|
repositoryId = 'sparql-editor-' + Date.now();
|
|
@@ -6,7 +6,10 @@ import {ClusterConfigurationSteps} from "../../../steps/cluster/cluster-configur
|
|
|
6
6
|
import {ModalDialogSteps} from "../../../steps/modal-dialog-steps";
|
|
7
7
|
import {ApplicationSteps} from "../../../steps/application-steps";
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* TODO: Fix me. Broken due to migration (Error: unknown)
|
|
11
|
+
*/
|
|
12
|
+
describe.skip('Cluster configuration', () => {
|
|
10
13
|
let repositoryId;
|
|
11
14
|
|
|
12
15
|
beforeEach(() => {
|
package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration-nodes.spec.js
RENAMED
|
@@ -18,7 +18,10 @@ describe('Cluster configuration', () => {
|
|
|
18
18
|
RemoteLocationStubs.stubRemoteLocationStatusInCluster();
|
|
19
19
|
});
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
/**
|
|
22
|
+
* TODO: Fix me. Broken due to migration (Error: unknown)
|
|
23
|
+
*/
|
|
24
|
+
it.skip('should display the nodes list with correct node information in the modal', () => {
|
|
22
25
|
// Given I have opened the cluster management page
|
|
23
26
|
ClusterPageSteps.visit();
|
|
24
27
|
// When I click on edit properties and open Nodes tab
|
package/{integration → e2e-legacy}/cluster/cluster-configuration/cluster-configuration.spec.js
RENAMED
|
@@ -12,7 +12,10 @@ describe('Cluster configuration', () => {
|
|
|
12
12
|
GlobalOperationsStatusesStub.stubNoOperationsResponse(repositoryId);
|
|
13
13
|
});
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
/**
|
|
16
|
+
* TODO: Broken due to migration (Error: unknown)
|
|
17
|
+
*/
|
|
18
|
+
it.skip('Should display cluster configuration', () => {
|
|
16
19
|
// Given there is an existing cluster created
|
|
17
20
|
ClusterStubs.stubClusterConfig();
|
|
18
21
|
ClusterStubs.stubClusterGroupStatus();
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
2
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
3
|
+
import {RepositoryErrorsWidgetSteps} from "../../../steps/widgets/repository-errors-widget-steps";
|
|
4
|
+
import ClassViewsSteps from "../../../steps/class-views-steps";
|
|
5
|
+
|
|
6
|
+
describe('Initial state of the Class hierarchy view with a selected repository and without class hierarchy', () => {
|
|
7
|
+
|
|
8
|
+
let repositoryId;
|
|
9
|
+
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
repositoryId = 'class-hierarchy-' + Date.now();
|
|
12
|
+
cy.createRepository({id: repositoryId});
|
|
13
|
+
cy.presetRepository(repositoryId);
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
afterEach(() => {
|
|
17
|
+
cy.deleteRepository(repositoryId);
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('Should display the correct initial state when navigating via URL', () => {
|
|
21
|
+
// When: I visit the Class hierarchy page via URL with a repository selected and without class hierarchy
|
|
22
|
+
ClassViewsSteps.visit();
|
|
23
|
+
// Then:
|
|
24
|
+
verifyInitialStateWithSelectedRepository();
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it('Should display the correct initial state when navigating via the navigation bar', () => {
|
|
28
|
+
// When: I visit the Class hierarchy page via the navigation menu with a repository selected and without class hierarchy
|
|
29
|
+
HomeSteps.visit();
|
|
30
|
+
MainMenuSteps.clickOnClassHierarchy();
|
|
31
|
+
// Then:
|
|
32
|
+
verifyInitialStateWithSelectedRepository();
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
const verifyInitialStateWithSelectedRepository = () => {
|
|
36
|
+
RepositoryErrorsWidgetSteps.getWidget().should('be.hidden');
|
|
37
|
+
ClassViewsSteps.getNoHierarchyErrorElement().should('be.visible');
|
|
38
|
+
ClassViewsSteps.getToolbarHolder().should('be.hidden');
|
|
39
|
+
ClassViewsSteps.getSlider().should('be.hidden');
|
|
40
|
+
ClassViewsSteps.getRDFClassHierarchy().should('be.hidden');
|
|
41
|
+
};
|
|
42
|
+
});
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
2
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
3
|
+
import {RepositoryErrorsWidgetSteps} from "../../../steps/widgets/repository-errors-widget-steps";
|
|
4
|
+
import ClassViewsSteps from "../../../steps/class-views-steps";
|
|
5
|
+
|
|
6
|
+
describe('Initial state of the Class hierarchy view with a selected repository', () => {
|
|
7
|
+
const FILE_TO_IMPORT = 'wine.rdf';
|
|
8
|
+
let repositoryId;
|
|
9
|
+
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
repositoryId = 'class-hierarchy-' + Date.now();
|
|
12
|
+
cy.createRepository({id: repositoryId});
|
|
13
|
+
cy.presetRepository(repositoryId);
|
|
14
|
+
cy.importServerFile(repositoryId, FILE_TO_IMPORT);
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
afterEach(() => {
|
|
18
|
+
cy.deleteRepository(repositoryId);
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
it('Should display the correct initial state when navigating via URL', () => {
|
|
22
|
+
// When: I visit the Class hierarchy page via URL with a repository selected
|
|
23
|
+
ClassViewsSteps.visit();
|
|
24
|
+
// Then:
|
|
25
|
+
verifyInitialStateWithSelectedRepository();
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it('Should display the correct initial state when navigating via the navigation bar', () => {
|
|
29
|
+
// When: I visit the Class hierarchy page via the navigation menu with a repository selected
|
|
30
|
+
HomeSteps.visit();
|
|
31
|
+
MainMenuSteps.clickOnClassHierarchy();
|
|
32
|
+
// Then:
|
|
33
|
+
verifyInitialStateWithSelectedRepository();
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
const verifyInitialStateWithSelectedRepository = () => {
|
|
37
|
+
RepositoryErrorsWidgetSteps.getWidget().should('be.hidden');
|
|
38
|
+
ClassViewsSteps.getNoHierarchyErrorElement().should('be.hidden');
|
|
39
|
+
ClassViewsSteps.getToolbarHolder().should('be.visible');
|
|
40
|
+
ClassViewsSteps.getSlider().should('be.visible');
|
|
41
|
+
ClassViewsSteps.getRDFClassHierarchy().should('be.visible');
|
|
42
|
+
};
|
|
43
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
2
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
3
|
+
import {RepositoryErrorsWidgetSteps} from "../../../steps/widgets/repository-errors-widget-steps";
|
|
4
|
+
import ClassViewsSteps from "../../../steps/class-views-steps";
|
|
5
|
+
|
|
6
|
+
describe('Initial state of the Class hierarchy view without a selected repository', () => {
|
|
7
|
+
|
|
8
|
+
it('Should display the correct initial state when navigating via URL', () => {
|
|
9
|
+
// When: I visit the Class hierarchy page via URL without a repository selected
|
|
10
|
+
ClassViewsSteps.visit();
|
|
11
|
+
// Then:
|
|
12
|
+
verifyInitialStateWithoutSelectedRepository();
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it('Should display the correct initial state when navigating via the navigation bar', () => {
|
|
16
|
+
// When: I visit the Class hierarchy page via the navigation menu without a repository selected
|
|
17
|
+
HomeSteps.visit();
|
|
18
|
+
MainMenuSteps.clickOnClassHierarchy();
|
|
19
|
+
// Then:
|
|
20
|
+
verifyInitialStateWithoutSelectedRepository();
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
const verifyInitialStateWithoutSelectedRepository = () => {
|
|
24
|
+
RepositoryErrorsWidgetSteps.getWidget().should('be.visible');
|
|
25
|
+
ClassViewsSteps.getNoHierarchyErrorElement().should('be.hidden');
|
|
26
|
+
ClassViewsSteps.getToolbarHolder().should('be.hidden');
|
|
27
|
+
ClassViewsSteps.getSlider().should('be.hidden');
|
|
28
|
+
ClassViewsSteps.getRDFClassHierarchy().should('be.hidden');
|
|
29
|
+
};
|
|
30
|
+
});
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import ClassViewsSteps, {ALL_GRAPHS, GRAPH_FILE, NEWS_GRAPH} from "
|
|
1
|
+
import ClassViewsSteps, {ALL_GRAPHS, GRAPH_FILE, NEWS_GRAPH} from "../../../steps/class-views-steps";
|
|
2
2
|
|
|
3
3
|
const INITIAL_CLASS_COUNT = 50;
|
|
4
4
|
const CLASS_COUNT_OF_NEWS_GRAPH = 35;
|
|
5
5
|
const FILE_TO_IMPORT = 'wine.rdf';
|
|
6
6
|
const CLASS_HIERARCHY = 'class hierarchy';
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
// TODO: Fix me. Broken due to migration (Error: beforeEach)
|
|
9
|
+
describe.skip('Class hierarchy screen validation', () => {
|
|
9
10
|
let repositoryId;
|
|
10
11
|
|
|
11
12
|
beforeEach(() => {
|
package/e2e-legacy/explore/class-relationships/class-relationships-repository-with-data.spec.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import {ClassRelationshipsSteps} from "../../../steps/explore/class-relationships-steps";
|
|
2
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
3
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
4
|
+
|
|
5
|
+
describe('Class Relationships repository with date', () => {
|
|
6
|
+
let repositoryId
|
|
7
|
+
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
repositoryId = 'class-relationships-date-' + Date.now()
|
|
10
|
+
cy.createRepository({id: repositoryId});
|
|
11
|
+
cy.presetRepository(repositoryId);
|
|
12
|
+
cy.importServerFile(repositoryId, 'wine.rdf');
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
afterEach(() => {
|
|
16
|
+
cy.deleteRepository(repositoryId);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it('Should render Class Relationships with selected repository via URL', () => {
|
|
20
|
+
// Given, I visit the Class Relationships page via URL and I have a selected repository with data
|
|
21
|
+
ClassRelationshipsSteps.visit();
|
|
22
|
+
|
|
23
|
+
// Then
|
|
24
|
+
validateInitialStateWithData();
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it('Should render Class Relationships with selected repository via navigation menu', () => {
|
|
28
|
+
// Given, I visit the Class Relationships page via navigation menu and I have a selected repository with data
|
|
29
|
+
HomeSteps.visit();
|
|
30
|
+
MainMenuSteps.clickOnClassRelationships();
|
|
31
|
+
|
|
32
|
+
// Then
|
|
33
|
+
validateInitialStateWithData();
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
function validateInitialStateWithData() {
|
|
38
|
+
ClassRelationshipsSteps.verifyRelationsToolbarContent();
|
|
39
|
+
ClassRelationshipsSteps.getFilterField().should('be.visible');
|
|
40
|
+
ClassRelationshipsSteps.getDependenciesList().should('be.visible');
|
|
41
|
+
ClassRelationshipsSteps.getDependenciesDiagram().should('be.visible');
|
|
42
|
+
}
|
package/e2e-legacy/explore/class-relationships/class-relationships-with-selected-repository.spec.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
2
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
3
|
+
import {ClassRelationshipsSteps} from "../../../steps/explore/class-relationships-steps";
|
|
4
|
+
|
|
5
|
+
describe('Class Relationships with selected repository', () => {
|
|
6
|
+
let repositoryId;
|
|
7
|
+
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
repositoryId = 'class-relationships-' + Date.now();
|
|
10
|
+
cy.createRepository({id: repositoryId});
|
|
11
|
+
cy.presetRepository(repositoryId);
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
afterEach(() => {
|
|
15
|
+
cy.deleteRepository(repositoryId);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('Should render Class Relationships with selected repository via URL', () => {
|
|
19
|
+
// Given, I visit the Class Relationships page via URL and I have a selected repository
|
|
20
|
+
ClassRelationshipsSteps.visit();
|
|
21
|
+
// Then
|
|
22
|
+
validateNoRelationshipsClassRelationshipsPage();
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it('Should render Class Relationships with selected repository via navigation menu', () => {
|
|
26
|
+
// Given, I visit the Class Relationships page via navigation menu and I have a selected repository'
|
|
27
|
+
HomeSteps.visit();
|
|
28
|
+
MainMenuSteps.clickOnClassRelationships();
|
|
29
|
+
// Then
|
|
30
|
+
validateNoRelationshipsClassRelationshipsPage();
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
function validateNoRelationshipsClassRelationshipsPage() {
|
|
35
|
+
ClassRelationshipsSteps.getReloadDiagramButton().should('be.visible');
|
|
36
|
+
ClassRelationshipsSteps.getNoDataWarning()
|
|
37
|
+
.should('be.visible')
|
|
38
|
+
.and('contain', 'The currently selected repository contains no dependencies data. Please, reload the diagram if you have imported data recently.')
|
|
39
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {ClassRelationshipsSteps} from "../../../steps/explore/class-relationships-steps";
|
|
2
|
+
import HomeSteps from "../../../steps/home-steps";
|
|
3
|
+
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
4
|
+
import {ErrorSteps} from "../../../steps/error-steps";
|
|
5
|
+
|
|
6
|
+
describe('Class Relationships without selected repository', () => {
|
|
7
|
+
it('Should display the correct initial state when navigating via URL', () => {
|
|
8
|
+
// Given, I visit the Class Relationships page via URL without a repository selected
|
|
9
|
+
ClassRelationshipsSteps.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 Class Relationships page via the navigation menu without a repository selected
|
|
16
|
+
HomeSteps.visit();
|
|
17
|
+
MainMenuSteps.clickOnClassRelationships();
|
|
18
|
+
// Then,
|
|
19
|
+
ErrorSteps.verifyNoConnectedRepoMessage();
|
|
20
|
+
});
|
|
21
|
+
})
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import ClassViewsSteps, {ALL_GRAPHS, GRAPH_FILE, NEWS_GRAPH} from "
|
|
1
|
+
import ClassViewsSteps, {ALL_GRAPHS, GRAPH_FILE, NEWS_GRAPH} from "../../../steps/class-views-steps";
|
|
2
|
+
import {ClassRelationshipsSteps} from "../../../steps/explore/class-relationships-steps";
|
|
2
3
|
|
|
3
4
|
const FILE_TO_IMPORT = 'wine.rdf';
|
|
4
5
|
|
|
@@ -13,11 +14,10 @@ describe('Class relations screen validation', () => {
|
|
|
13
14
|
|
|
14
15
|
cy.importServerFile(repositoryId, FILE_TO_IMPORT);
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
cy.window();
|
|
17
|
+
ClassRelationshipsSteps.visit();
|
|
18
18
|
// The diagram and the list should be visible in order to assume the page is ready
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
ClassRelationshipsSteps.getDependenciesDiagram().should('be.visible');
|
|
20
|
+
ClassRelationshipsSteps.getDependenciesList().should('be.visible');
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
afterEach(() => {
|
|
@@ -26,47 +26,43 @@ describe('Class relations screen validation', () => {
|
|
|
26
26
|
|
|
27
27
|
it('Test initial state', function () {
|
|
28
28
|
// Filter field should be visible
|
|
29
|
-
getFilterField().should('be.visible');
|
|
29
|
+
ClassRelationshipsSteps.getFilterField().should('be.visible');
|
|
30
30
|
// Dependencies label should be present and showing proper text
|
|
31
|
-
|
|
31
|
+
ClassRelationshipsSteps.getAvailableDependenciesLabel()
|
|
32
32
|
.should('be.visible')
|
|
33
33
|
.contains('Showing the dependencies between 10 classes');
|
|
34
34
|
// Directions filter buttons should be visible
|
|
35
|
-
getDirectionFilter().should('be.visible');
|
|
35
|
+
ClassRelationshipsSteps.getDirectionFilter().should('be.visible');
|
|
36
36
|
// And the "All" radio button must be selected by default
|
|
37
|
-
verifySelectedDirectionFilter('all');
|
|
37
|
+
ClassRelationshipsSteps.verifySelectedDirectionFilter('all');
|
|
38
38
|
// The toolbar and its buttons should be visible
|
|
39
|
-
|
|
40
|
-
cy.get('.remove-all-classes-btn').should('be.visible');
|
|
41
|
-
cy.get('.reload-diagram-btn').should('be.visible');
|
|
42
|
-
cy.get('.export-diagram-btn').should('be.visible');
|
|
43
|
-
});
|
|
39
|
+
ClassRelationshipsSteps.verifyRelationsToolbarContent();
|
|
44
40
|
// Class relations list should be visible and have 10 classes selected
|
|
45
|
-
getDependenciesList().should('be.visible').within(() => {
|
|
41
|
+
ClassRelationshipsSteps.getDependenciesList().should('be.visible').within(() => {
|
|
46
42
|
cy.get('.item .row.active').should('have.length', 10);
|
|
47
43
|
});
|
|
48
44
|
// Diagram should be visible and showing 10 classes
|
|
49
|
-
|
|
45
|
+
ClassRelationshipsSteps.getDependenciesDiagram().should('be.visible').within(() => {
|
|
50
46
|
cy.get('.group').should('have.length', 10);
|
|
51
47
|
});
|
|
52
48
|
});
|
|
53
49
|
|
|
54
50
|
it('Search for a class', function () {
|
|
55
51
|
// Expect 39 rows initially to be visible
|
|
56
|
-
verifyListLength(39);
|
|
52
|
+
ClassRelationshipsSteps.verifyListLength(39);
|
|
57
53
|
// Filter by partial name
|
|
58
|
-
filterByClass(':Wine');
|
|
54
|
+
ClassRelationshipsSteps.filterByClass(':Wine');
|
|
59
55
|
// Expecting 6 rows to be present
|
|
60
|
-
verifyListLength(6);
|
|
56
|
+
ClassRelationshipsSteps.verifyListLength(6);
|
|
61
57
|
// Clear the filter and expect all rows to be visible again
|
|
62
|
-
getFilterField().clear();
|
|
63
|
-
verifyListLength(39);
|
|
58
|
+
ClassRelationshipsSteps.getFilterField().clear();
|
|
59
|
+
ClassRelationshipsSteps.verifyListLength(39);
|
|
64
60
|
});
|
|
65
61
|
|
|
66
62
|
it('Test class relationships for given graph', () => {
|
|
67
63
|
cy.importServerFile(repositoryId, GRAPH_FILE, {"context": NEWS_GRAPH});
|
|
68
64
|
// Should re-enter page to display Graph dropdown
|
|
69
|
-
|
|
65
|
+
ClassRelationshipsSteps.visit();
|
|
70
66
|
ClassViewsSteps.verifyDataChangedWarning();
|
|
71
67
|
ClassViewsSteps.verifyGraphIsDisplayed(ALL_GRAPHS);
|
|
72
68
|
|
|
@@ -79,32 +75,4 @@ describe('Class relations screen validation', () => {
|
|
|
79
75
|
ClassViewsSteps.selectGraphFromDropDown(NEWS_GRAPH);
|
|
80
76
|
ClassViewsSteps.verifyGraphIsDisplayed(NEWS_GRAPH);
|
|
81
77
|
});
|
|
82
|
-
|
|
83
|
-
function getFilterField() {
|
|
84
|
-
return cy.get('.search-filter-field');
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
function filterByClass(name) {
|
|
88
|
-
getFilterField().type(name);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
function getDirectionFilter() {
|
|
92
|
-
return cy.get('.direction-filter');
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
function verifySelectedDirectionFilter(name) {
|
|
96
|
-
getDirectionFilter().find('input[type=radio]:checked').should('have.value', name);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
function getRelationsToolbar() {
|
|
100
|
-
return cy.get('.relations-toolbar');
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
function getDependenciesList() {
|
|
104
|
-
return cy.get('#wb-dependencies-classInClasses');
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
function verifyListLength(count) {
|
|
108
|
-
getDependenciesList().find('.item .row').should('have.length', count);
|
|
109
|
-
}
|
|
110
78
|
});
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {YasrSteps} from "
|
|
2
|
-
import {GraphsOverviewSteps} from "
|
|
3
|
-
import {JsonLdModalSteps} from "
|
|
1
|
+
import {YasrSteps} from "../../../steps/yasgui/yasr-steps";
|
|
2
|
+
import {GraphsOverviewSteps} from "../../../steps/explore/graphs-overview-steps";
|
|
3
|
+
import {JsonLdModalSteps} from "../../../steps/json-ld-modal-steps";
|
|
4
4
|
|
|
5
5
|
const EXPORT_GRAPHS_TABLE_ID = '#export-graphs';
|
|
6
6
|
const ROWS_PER_PAGE_20 = '1';
|
|
7
7
|
const ROWS_PER_PAGE_50 = '2';
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
// TODO: Fix me. Broken due to migration (Error: beforeEach)
|
|
10
|
+
describe.skip('Graphs overview screen validation', () => {
|
|
10
11
|
|
|
11
12
|
let repositoryId;
|
|
12
13
|
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import {MainMenuSteps} from "../../../../steps/main-menu-steps";
|
|
2
|
+
import {GraphsOverviewSteps} from "../../../../steps/explore/graphs-overview-steps";
|
|
3
|
+
import HomeSteps from "../../../../steps/home-steps";
|
|
4
|
+
import {RepositoryErrorsWidgetSteps} from "../../../../steps/widgets/repository-errors-widget-steps";
|
|
5
|
+
|
|
6
|
+
describe('Initial state of the Graphs Overview view with a selected repository', () => {
|
|
7
|
+
|
|
8
|
+
let repositoryId;
|
|
9
|
+
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
repositoryId = 'repo' + Date.now();
|
|
12
|
+
cy.createRepository({id: repositoryId});
|
|
13
|
+
cy.presetRepository(repositoryId);
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
afterEach(() => {
|
|
17
|
+
cy.deleteRepository(repositoryId);
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('Should display the correct initial state when navigating via URL', () => {
|
|
21
|
+
// When: I visit the Graphs Overview page via URL with a repository selected
|
|
22
|
+
GraphsOverviewSteps.visit();
|
|
23
|
+
// Then:
|
|
24
|
+
verifyInitialStateWithSelectedRepository();
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it('Should display the correct initial state when navigating via the navigation bar', () => {
|
|
28
|
+
// When: I visit the Graphs Overview page via the navigation menu with a repository selected
|
|
29
|
+
HomeSteps.visit();
|
|
30
|
+
MainMenuSteps.clickOnGraphsOverview();
|
|
31
|
+
// Then:
|
|
32
|
+
verifyInitialStateWithSelectedRepository();
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
const verifyInitialStateWithSelectedRepository = () => {
|
|
36
|
+
RepositoryErrorsWidgetSteps.getWidget().should('be.hidden');
|
|
37
|
+
GraphsOverviewSteps.getGraphsSearchInput().should('be.visible');
|
|
38
|
+
GraphsOverviewSteps.getGraphsPaginator().should('be.visible');
|
|
39
|
+
GraphsOverviewSteps.getClearRepositoryButton().should('be.visible');
|
|
40
|
+
GraphsOverviewSteps.getExportRepositoryButton().should('be.visible');
|
|
41
|
+
GraphsOverviewSteps.getDownloadAllButtons().should('be.visible');
|
|
42
|
+
GraphsOverviewSteps.getResultsElement().should('be.visible');
|
|
43
|
+
};
|
|
44
|
+
});
|