graphdb-workbench-tests 3.1.0-WBM-7 → 3.1.0-WBM-8

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.
Files changed (77) hide show
  1. package/e2e-legacy/cluster/cluster-configuration/cluster-configuration-multi-region.spec.js +1 -4
  2. package/e2e-legacy/cluster/cluster-configuration/cluster-configuration-nodes.spec.js +1 -4
  3. package/e2e-legacy/cluster/cluster-configuration/cluster-configuration.spec.js +1 -4
  4. package/e2e-legacy/explore/similarity-index/similarity-index-with-repository.spec.js +38 -0
  5. package/e2e-legacy/explore/similarity-index/similarity-index-without-repository.spec.js +21 -0
  6. package/e2e-legacy/home/language-change.spec.js +1 -4
  7. package/e2e-legacy/import/import-user-data-file-upload.spec.js +19 -20
  8. package/e2e-legacy/import/import-user-data-text-snippet.spec.js +8 -32
  9. package/e2e-legacy/license/license-with-repository.spec.js +113 -0
  10. package/e2e-legacy/license/license-without-repository.spec.js +103 -0
  11. package/e2e-legacy/license/license.spec.js +4 -4
  12. package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-with-repository.spec.js +36 -0
  13. package/e2e-legacy/monitor/backup-and-restore/backup-and-restore-without-repository.spec.js +25 -0
  14. package/e2e-legacy/monitor/{monitor.backup-and-restore.spec.js → backup-and-restore/backup-and-restore.spec.js} +2 -2
  15. package/e2e-legacy/monitor/query-and-updates/queries-and-updates-with-repository.spec.js +39 -0
  16. package/e2e-legacy/monitor/query-and-updates/queries-and-updates-without-repository.spec.js +21 -0
  17. package/e2e-legacy/monitor/{monitor.resources.spec.js → system/monitor.resources.spec.js} +4 -4
  18. package/e2e-legacy/monitor/system/system-monitoring-with-repository.spec.js +32 -0
  19. package/e2e-legacy/monitor/system/system-monitoring-without-repository.spec.js +20 -0
  20. package/e2e-legacy/resource/resource.spec.js +19 -11
  21. package/e2e-legacy/setup/aclmanagement/acl-management-with-selected repository.spec.js +40 -0
  22. package/e2e-legacy/setup/aclmanagement/acl-management-without-repositories.spec.js +21 -0
  23. package/e2e-legacy/setup/aclmanagement/revert-rules.spec.js +1 -4
  24. package/e2e-legacy/setup/aclmanagement/update-rules.spec.js +4 -16
  25. package/e2e-legacy/setup/autocomplete.spec.js +1 -4
  26. package/e2e-legacy/setup/connectors/connectors-initial-state-with-selected-repository.spec.js +41 -0
  27. package/e2e-legacy/setup/connectors/connectors-initial-state-without-repositories.spec.js +21 -0
  28. package/e2e-legacy/setup/jdbc/jdbc-create.spec.js +329 -0
  29. package/e2e-legacy/setup/jdbc/jdbc-with-repository.spec.js +39 -0
  30. package/e2e-legacy/setup/jdbc/jdbc-without-repository.spec.js +27 -0
  31. package/e2e-legacy/setup/jdbc/jdbc.spec.js +161 -0
  32. package/e2e-legacy/setup/namespaces.spec.js +1 -4
  33. package/e2e-legacy/setup/plugins.spec.js +1 -4
  34. package/e2e-legacy/setup/rdf-rank/rdf-rank-with-repository.spec.js +40 -0
  35. package/e2e-legacy/setup/rdf-rank/rdf-rank-without-repository.spec.js +30 -0
  36. package/e2e-legacy/setup/{rdf-rank.spec.js → rdf-rank/rdf-rank.spec.js} +2 -5
  37. package/e2e-legacy/setup/repositories/repositories-view-with-repositories.spec.js +40 -0
  38. package/e2e-legacy/setup/repositories/repositories-view-without-repositories.spec.js +28 -0
  39. package/e2e-legacy/setup/settings/my-settings-initial-state.spec.js +86 -0
  40. package/e2e-legacy/setup/{my-settings.spec.js → settings/my-settings.spec.js} +7 -79
  41. package/e2e-legacy/setup/{sparql-template-create.js → sparql-template/sparql-template-create.js} +11 -23
  42. package/e2e-legacy/setup/sparql-template/sparql-template-with-repository.spec.js +39 -0
  43. package/e2e-legacy/setup/sparql-template/sparql-template-without-repository.spec.js +29 -0
  44. package/e2e-legacy/setup/{sparql-templates.spec.js → sparql-template/sparql-templates.spec.js} +5 -6
  45. package/e2e-legacy/setup/{user-and-access.spec.js → users-and-access/user-and-access.spec.js} +9 -8
  46. package/e2e-legacy/setup/users-and-access/users-and-access-initial-state.spec.js +25 -0
  47. package/e2e-legacy/sparql-editor/internationalization.spec.js +1 -4
  48. package/e2e-legacy/sparql-editor/yasgui-tabs.spec.js +1 -4
  49. package/npm-shrinkwrap.json +2 -2
  50. package/package.json +1 -1
  51. package/steps/application-steps.js +1 -1
  52. package/steps/base-steps.js +17 -0
  53. package/steps/explore/similarity-indexes-steps.js +12 -2
  54. package/steps/home-steps.js +0 -2
  55. package/steps/import/import-steps.js +3 -12
  56. package/steps/license-steps.js +91 -9
  57. package/steps/main-menu-steps.js +88 -4
  58. package/steps/monitoring/backup-and-restore-steps.js +9 -3
  59. package/steps/monitoring/queries-and-updates-steps.js +20 -0
  60. package/steps/monitoring/system-monitoring-steps.js +40 -0
  61. package/steps/repository-steps.js +1 -1
  62. package/steps/resource/resource-steps.js +4 -0
  63. package/steps/setup/autocomplete-steps.js +0 -3
  64. package/steps/setup/connectors-steps.js +19 -0
  65. package/steps/setup/jdbc-steps.js +18 -4
  66. package/steps/setup/namespace-steps.js +0 -3
  67. package/steps/setup/plugins-steps.js +0 -3
  68. package/steps/setup/rdf-rank-steps.js +22 -4
  69. package/steps/setup/settings-steps.js +82 -1
  70. package/steps/setup/sparql-templates-steps.js +19 -1
  71. package/stubs/license-stubs.js +51 -0
  72. package/support/commands.js +1 -1
  73. package/e2e-legacy/home/language-selector.spec.js +0 -22
  74. package/e2e-legacy/monitor/monitor.queries.spec.js +0 -34
  75. /package/e2e-legacy/explore/class-hierarchy/{class-hierarchy-with-selected-repository-without-class-hierarchy.js → class-hierarchy-with-selected-repository-without-class-hierarchy.spec.js} +0 -0
  76. /package/e2e-legacy/explore/class-hierarchy/{class-hierarchy-with-selected-repository.js → class-hierarchy-with-selected-repository.spec.js} +0 -0
  77. /package/e2e-legacy/explore/class-hierarchy/{class-hierarchy-without-selected-repository.js → class-hierarchy-without-selected-repository.spec.js} +0 -0
@@ -6,10 +6,7 @@ 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
- /**
10
- * TODO: Fix me. Broken due to migration (Error: unknown)
11
- */
12
- describe.skip('Cluster configuration', () => {
9
+ describe('Cluster configuration', () => {
13
10
  let repositoryId;
14
11
 
15
12
  beforeEach(() => {
@@ -18,10 +18,7 @@ describe('Cluster configuration', () => {
18
18
  RemoteLocationStubs.stubRemoteLocationStatusInCluster();
19
19
  });
20
20
 
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', () => {
21
+ it('should display the nodes list with correct node information in the modal', () => {
25
22
  // Given I have opened the cluster management page
26
23
  ClusterPageSteps.visit();
27
24
  // When I click on edit properties and open Nodes tab
@@ -12,10 +12,7 @@ describe('Cluster configuration', () => {
12
12
  GlobalOperationsStatusesStub.stubNoOperationsResponse(repositoryId);
13
13
  });
14
14
 
15
- /**
16
- * TODO: Broken due to migration (Error: unknown)
17
- */
18
- it.skip('Should display cluster configuration', () => {
15
+ it('Should display cluster configuration', () => {
19
16
  // Given there is an existing cluster created
20
17
  ClusterStubs.stubClusterConfig();
21
18
  ClusterStubs.stubClusterGroupStatus();
@@ -0,0 +1,38 @@
1
+ import HomeSteps from "../../../steps/home-steps";
2
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
+ import {SimilarityIndexesSteps} from "../../../steps/explore/similarity-indexes-steps";
4
+
5
+ describe('Similarity indexes with selected repository', () => {
6
+ let repositoryId;
7
+
8
+ beforeEach(() => {
9
+ repositoryId = 'similarity-index-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 Similarity indexes page via URL with a repository selected
20
+ SimilarityIndexesSteps.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 Similarity indexes page via the navigation menu with a repository selected
27
+ HomeSteps.visit();
28
+ MainMenuSteps.clickOnSimilarity();
29
+ // Then,
30
+ verifyInitialStateWithSelectedRepository();
31
+ });
32
+
33
+ const verifyInitialStateWithSelectedRepository = () => {
34
+
35
+ SimilarityIndexesSteps.getExistingSimilarityIndexes().contains('Select one of your existing indexes to search in it');
36
+ SimilarityIndexesSteps.getCreateButton().should('be.visible');
37
+ };
38
+ })
@@ -0,0 +1,21 @@
1
+ import {ErrorSteps} from "../../../steps/error-steps";
2
+ import HomeSteps from "../../../steps/home-steps";
3
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
4
+ import {SimilarityIndexesSteps} from "../../../steps/explore/similarity-indexes-steps";
5
+
6
+ describe('Similarity indexes without selected repository', () => {
7
+ it('Should display the correct initial state when navigating via URL', () => {
8
+ // Given, I visit the Similarity indexes page via URL without a repository selected
9
+ SimilarityIndexesSteps.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 Similarity indexes page via the navigation menu without a repository selected
16
+ HomeSteps.visit();
17
+ MainMenuSteps.clickOnSimilarity();
18
+ // Then,
19
+ ErrorSteps.verifyNoConnectedRepoMessage();
20
+ });
21
+ })
@@ -1,10 +1,7 @@
1
1
  import HomeSteps from '../../steps/home-steps';
2
2
  import {LanguageSelectorSteps} from "../../steps/language-selector-steps";
3
3
 
4
- /**
5
- * TODO: Fix me. Broken due to migration (The language selector is changed)
6
- */
7
- describe.skip('Home screen language validation', () => {
4
+ describe('Home screen language validation', () => {
8
5
  let repositoryId;
9
6
 
10
7
  beforeEach(() => {
@@ -14,9 +14,7 @@ const jsonld = JSON.stringify({
14
14
  "ab:email": "richard491@hotmail.com"
15
15
  });
16
16
 
17
- // TODO: Fix me. Broken due to migration (Error: beforeEach)
18
- describe.skip('Import user data: File upload', () => {
19
-
17
+ describe('Import user data: File upload', () => {
20
18
  let repositoryId;
21
19
  const testFiles = [
22
20
  'bnodes.ttl',
@@ -40,7 +38,8 @@ describe.skip('Import user data: File upload', () => {
40
38
  // Given there are no files uploaded yet
41
39
  ImportUserDataSteps.getResourcesTable().should('be.hidden');
42
40
  // When I start to upload a file
43
- ImportUserDataSteps.selectFile(ImportUserDataSteps.createFile(testFiles[0], bnodes));
41
+ const file1 = ImportUserDataSteps.createFile(testFiles[0], bnodes);
42
+ ImportUserDataSteps.selectFile(file1);
44
43
  // Then the import settings dialog should open automatically
45
44
  ImportSettingsDialogSteps.getDialog().should('be.visible');
46
45
  ImportSettingsDialogSteps.import();
@@ -64,7 +63,8 @@ describe.skip('Import user data: File upload', () => {
64
63
  // Given there are no files uploaded yet
65
64
  ImportUserDataSteps.getResourcesTable().should('be.hidden');
66
65
  // And I have selected to upload a file
67
- ImportUserDataSteps.selectFile(ImportUserDataSteps.createFile(testFiles[0], bnodes));
66
+ const file = ImportUserDataSteps.createFile(testFiles[0], bnodes);
67
+ ImportUserDataSteps.selectFile(file);
68
68
  ImportSettingsDialogSteps.getDialog().should('be.visible');
69
69
  // When I cancel the file upload via the cancel button
70
70
  ImportSettingsDialogSteps.cancelUpload();
@@ -73,7 +73,7 @@ describe.skip('Import user data: File upload', () => {
73
73
  // And there should be no files uploaded
74
74
  ImportUserDataSteps.getResourcesTable().should('be.hidden');
75
75
  // When I select to upload a file again
76
- ImportUserDataSteps.selectFile(ImportUserDataSteps.createFile(testFiles[0], bnodes));
76
+ ImportUserDataSteps.selectFile(file);
77
77
  // Then the import settings dialog should open
78
78
  ImportSettingsDialogSteps.getDialog().should('be.visible');
79
79
  // And I close the file upload dialog via the close button
@@ -88,7 +88,8 @@ describe.skip('Import user data: File upload', () => {
88
88
  // Given there are no files uploaded yet
89
89
  ImportUserDataSteps.getResourcesTable().should('be.hidden');
90
90
  // When I start to upload a file
91
- ImportUserDataSteps.selectFile(ImportUserDataSteps.createFile(testFiles[0], bnodes));
91
+ const file = ImportUserDataSteps.createFile(testFiles[0], bnodes);
92
+ ImportUserDataSteps.selectFile(file);
92
93
  // Then the import settings dialog should open automatically
93
94
  ImportSettingsDialogSteps.getDialog().should('be.visible');
94
95
  // And the option for replace graph should be active
@@ -99,21 +100,24 @@ describe.skip('Import user data: File upload', () => {
99
100
  // Given there are no files uploaded yet
100
101
  ImportUserDataSteps.getResourcesTable().should('be.hidden');
101
102
  // When I upload a file
102
- ImportUserDataSteps.selectFile(ImportUserDataSteps.createFile(testFiles[0], bnodes));
103
+ const file = ImportUserDataSteps.createFile(testFiles[0], bnodes);
104
+ ImportUserDataSteps.selectFile(file);
103
105
  // Then the import settings dialog should open automatically
104
106
  ImportSettingsDialogSteps.getDialog().should('be.visible');
105
107
  ImportSettingsDialogSteps.import();
106
108
  // Then I should see the uploaded file
107
109
  ImportUserDataSteps.checkImportedResource(0, 'bnodes.ttl');
108
110
  // When I upload another file
109
- ImportUserDataSteps.selectFile(ImportUserDataSteps.createFile(testFiles[1], jsonld));
111
+ const file2 = ImportUserDataSteps.createFile(testFiles[1], jsonld);
112
+ ImportUserDataSteps.selectFile(file2);
110
113
  ImportSettingsDialogSteps.getDialog().should('be.visible');
111
114
  ImportSettingsDialogSteps.import();
112
115
  // Then I should see the uploaded file - it becomes first in the list
113
116
  ImportUserDataSteps.checkImportedResource(0, 'jsonld.jsonld');
114
117
  ImportUserDataSteps.checkImportedResource(1, 'bnodes.ttl');
115
118
  // When I override the first file
116
- ImportUserDataSteps.selectFile(ImportUserDataSteps.createFile(testFiles[0], bnodes));
119
+ const file3 = ImportUserDataSteps.createFile(testFiles[0], bnodes);
120
+ ImportUserDataSteps.selectFile(file3);
117
121
  FileOverwriteDialogSteps.overwrite();
118
122
  ImportSettingsDialogSteps.getDialog().should('be.visible');
119
123
  ImportSettingsDialogSteps.import();
@@ -122,7 +126,7 @@ describe.skip('Import user data: File upload', () => {
122
126
  ImportUserDataSteps.checkImportedResource(0, 'jsonld.jsonld');
123
127
  ImportUserDataSteps.checkImportedResource(1, 'bnodes.ttl');
124
128
  // When I override the second file
125
- ImportUserDataSteps.selectFile(ImportUserDataSteps.createFile(testFiles[1], jsonld));
129
+ ImportUserDataSteps.selectFile(file2);
126
130
  FileOverwriteDialogSteps.overwrite();
127
131
  ImportSettingsDialogSteps.getDialog().should('be.visible');
128
132
  ImportSettingsDialogSteps.import();
@@ -131,14 +135,12 @@ describe.skip('Import user data: File upload', () => {
131
135
  ImportUserDataSteps.checkImportedResource(1, 'bnodes.ttl');
132
136
  });
133
137
 
134
- /**
135
- * TODO: Fix me. Broken due to migration (Changes in main menu)
136
- */
137
- it.skip('should be able to only upload a single file without importing it', () => {
138
+ it('should be able to only upload a single file without importing it', () => {
138
139
  // Given there are no files uploaded yet
139
140
  ImportUserDataSteps.getResourcesTable().should('be.hidden');
140
141
  // When I start to upload a file
141
- ImportUserDataSteps.selectFile(ImportUserDataSteps.createFile(testFiles[0], bnodes));
142
+ const file = ImportUserDataSteps.createFile(testFiles[0], bnodes);
143
+ ImportUserDataSteps.selectFile(file);
142
144
  // Then the import settings dialog should open automatically
143
145
  ImportSettingsDialogSteps.getDialog().should('be.visible');
144
146
  ImportSettingsDialogSteps.uploadOnly();
@@ -151,10 +153,7 @@ describe.skip('Import user data: File upload', () => {
151
153
  ImportUserDataSteps.getResources().should('have.length', 1);
152
154
  });
153
155
 
154
- /**
155
- * TODO: Fix me. Broken due to migration (Changes in main menu)
156
- */
157
- it.skip('Should be able to upload multiple unique files', () => {
156
+ it('Should be able to upload multiple unique files', () => {
158
157
  // Given there are no files uploaded yet
159
158
  ImportUserDataSteps.getResourcesTable().should('be.hidden');
160
159
  // When I upload a file
@@ -1,8 +1,7 @@
1
1
  import {ImportUserDataSteps} from "../../steps/import/import-user-data-steps";
2
2
  import {ImportSettingsDialogSteps} from "../../steps/import/import-settings-dialog-steps";
3
3
 
4
- // TODO: Fix me. Broken due to migration (Error: beforeEach)
5
- describe.skip('Import user data: Text snippet', () => {
4
+ describe('Import user data: Text snippet', () => {
6
5
 
7
6
  let repositoryId;
8
7
  const INITIAL_DATA = "<urn:s1> <urn:p1> <urn:o1>.";
@@ -115,10 +114,7 @@ describe.skip('Import user data: Text snippet', () => {
115
114
  ImportUserDataSteps.checkImportedResource(0, TEXT_SNIPPET);
116
115
  });
117
116
 
118
- /**
119
- * TODO: Fix me. Broken due to migration (problem with '/graphs' view)
120
- */
121
- it.skip('Should import RDF text snippet successfully with filled base URI and context', () => {
117
+ it('Should import RDF text snippet successfully with filled base URI and context', () => {
122
118
  ImportUserDataSteps.openImportTextSnippetDialog();
123
119
  ImportUserDataSteps.fillRDFTextSnippet(RDF_TEXT_SNIPPET_2);
124
120
  ImportUserDataSteps.clickImportTextSnippetButton();
@@ -131,7 +127,6 @@ describe.skip('Import user data: Text snippet', () => {
131
127
 
132
128
  // Go to Graphs overview
133
129
  cy.visit('/graphs');
134
- cy.get('.ot-splash').should('not.be.visible');
135
130
 
136
131
  const graphName = CONTEXT.slice(0, CONTEXT.lastIndexOf('.'));
137
132
 
@@ -140,10 +135,7 @@ describe.skip('Import user data: Text snippet', () => {
140
135
  cy.get('#export-graphs').should('be.visible').should('contain', graphName);
141
136
  });
142
137
 
143
- /**
144
- * TODO: Fix me. Broken due to migration (problem with '/graphs' view)
145
- */
146
- it.skip('Should import RDF snippet in the default graph (from data) and replace data in the default graph', () => {
138
+ it('Should import RDF snippet in the default graph (from data) and replace data in the default graph', () => {
147
139
  ImportUserDataSteps.openImportTextSnippetDialog();
148
140
  ImportUserDataSteps.fillRDFTextSnippet(INITIAL_DATA);
149
141
  ImportUserDataSteps.selectRDFFormat("TriG");
@@ -160,10 +152,7 @@ describe.skip('Import user data: Text snippet', () => {
160
152
  ImportUserDataSteps.verifyGraphData("The default graph", "urn:replaced-s1", "urn:replaced-p1", "urn:replaced-o1", "http://www.ontotext.com/explicit", true, "urn:s1");
161
153
  });
162
154
 
163
- /**
164
- * TODO: Fix me. Broken due to migration (problem with '/graphs' view)
165
- */
166
- it.skip('Should import RDF snippet with a custom graph (from data) and replace data in the custom graph', () => {
155
+ it('Should import RDF snippet with a custom graph (from data) and replace data in the custom graph', () => {
167
156
  ImportUserDataSteps.openImportTextSnippetDialog();
168
157
  ImportUserDataSteps.fillRDFTextSnippet(PRE_DEFINED_INITIAL_GRAPH_DATA);
169
158
  ImportUserDataSteps.selectRDFFormat("TriG");
@@ -180,10 +169,7 @@ describe.skip('Import user data: Text snippet', () => {
180
169
  ImportUserDataSteps.verifyGraphData("urn:graph1", "urn:replaced-s1-custom", "urn:replaced-p1-custom", "urn:replaced-o1-custom", "urn:graph1", true, "urn:s1-custom");
181
170
  });
182
171
 
183
- /**
184
- * TODO: Fix me. Broken due to migration (problem with '/graphs' view)
185
- */
186
- it.skip('Should import RDF snippet in the default graph (The default graph) and replace data in the default graph', () => {
172
+ it('Should import RDF snippet in the default graph (The default graph) and replace data in the default graph', () => {
187
173
  ImportUserDataSteps.openImportTextSnippetDialog();
188
174
  ImportUserDataSteps.fillRDFTextSnippet(INITIAL_DATA);
189
175
  ImportUserDataSteps.selectRDFFormat("TriG");
@@ -200,10 +186,7 @@ describe.skip('Import user data: Text snippet', () => {
200
186
  ImportUserDataSteps.verifyGraphData("The default graph", "urn:replaced-s1", "urn:replaced-p1", "urn:replaced-o1", "http://www.ontotext.com/explicit", true, "urn:s1");
201
187
  });
202
188
 
203
- /**
204
- * TODO: Fix me. Broken due to migration (problem with '/graphs' view)
205
- */
206
- it.skip('Should import RDF snippet in a named graph (Named graph) and replace data in the named graph', () => {
189
+ it('Should import RDF snippet in a named graph (Named graph) and replace data in the named graph', () => {
207
190
  ImportUserDataSteps.openImportTextSnippetDialog();
208
191
  ImportUserDataSteps.fillRDFTextSnippet(INITIAL_DATA);
209
192
  ImportUserDataSteps.selectRDFFormat("TriG");
@@ -220,10 +203,7 @@ describe.skip('Import user data: Text snippet', () => {
220
203
  ImportUserDataSteps.verifyGraphData("http://graph1", "urn:replaced-s1", "urn:replaced-p1", "urn:replaced-o1", "http://graph1", true, "urn:s1");
221
204
  });
222
205
 
223
- /**
224
- * TODO: Fix me. Broken due to migration (problem with '/graphs' view)
225
- */
226
- it.skip('Should import JSON-LD text snippet successfully without URI', () => {
206
+ it('Should import JSON-LD text snippet successfully without URI', () => {
227
207
  ImportUserDataSteps.openImportTextSnippetDialog();
228
208
  ImportUserDataSteps.fillRDFTextSnippet(JSONLD_TEXT_SNIPPET);
229
209
  ImportUserDataSteps.selectRDFFormat(JSONLD_FORMAT);
@@ -235,7 +215,6 @@ describe.skip('Import user data: Text snippet', () => {
235
215
 
236
216
  // Go to Graphs overview
237
217
  cy.visit('/graphs');
238
- cy.get('.ot-splash').should('not.be.visible');
239
218
 
240
219
  const graphName = CONTEXT.slice(0, CONTEXT.lastIndexOf('.'));
241
220
 
@@ -244,10 +223,7 @@ describe.skip('Import user data: Text snippet', () => {
244
223
  cy.get('#export-graphs').should('be.visible').should('contain', graphName);
245
224
  });
246
225
 
247
- /**
248
- * TODO: Fix me. Broken due to migration (problem with '/graphs' view)
249
- */
250
- it.skip('Should import JSON-LD text snippet successfully with URI and context', () => {
226
+ it('Should import JSON-LD text snippet successfully with URI and context', () => {
251
227
  ImportUserDataSteps.openImportTextSnippetDialog();
252
228
  ImportUserDataSteps.fillRDFTextSnippet(JSONLD_TEXT_SNIPPET);
253
229
  ImportUserDataSteps.selectRDFFormat(JSONLD_FORMAT);
@@ -0,0 +1,113 @@
1
+ import HomeSteps from "../../steps/home-steps";
2
+ import {MainMenuSteps} from "../../steps/main-menu-steps";
3
+ import {LicenseSteps} from "../../steps/license-steps";
4
+ import {LicenseStubs} from "../../stubs/license-stubs";
5
+
6
+ describe('License with selected repository', () => {
7
+ let repositoryId;
8
+
9
+ beforeEach(() => {
10
+ repositoryId = 'license-init-' + Date.now();
11
+ cy.createRepository({id: repositoryId});
12
+ cy.presetRepository(repositoryId);
13
+ });
14
+
15
+ afterEach(() => {
16
+ cy.deleteRepository(repositoryId);
17
+ });
18
+
19
+ it('Should display the correct initial state when navigating via URL and there is no license', () => {
20
+ LicenseStubs.stubLicenseHardcoded(false)
21
+ LicenseStubs.stubLicenseNotSet();
22
+ // Given, I visit the License page via URL with a repository selected and there is no license
23
+ LicenseSteps.visit();
24
+ // Then,
25
+ LicenseSteps.verifyLicenseNotSet();
26
+ });
27
+
28
+ it('Should display the correct initial state when navigating via the navigation bar and there is no license', () => {
29
+ LicenseStubs.stubLicenseHardcoded(false)
30
+ LicenseStubs.stubLicenseNotSet();
31
+ // Given, I visit the License page via the navigation menu with a repository selected and there is no license
32
+ HomeSteps.visit();
33
+ MainMenuSteps.clickOnLicense();
34
+ // Then,
35
+ LicenseSteps.verifyLicenseNotSet();
36
+ });
37
+
38
+ it('Should display the correct initial state when navigating via URL and there is no valid license', () => {
39
+ LicenseStubs.stubLicenseHardcoded(false);
40
+ LicenseStubs.stubNoValidLicense();
41
+ // Given, I visit the License page via URL with a repository selected and there is no valid license
42
+ LicenseSteps.visit();
43
+ // Then,
44
+ LicenseSteps.verifyNoValidLicense();
45
+ });
46
+
47
+ it('Should display the correct initial state when navigating via the navigation bar and there is no valid license', () => {
48
+ LicenseStubs.stubLicenseHardcoded(false);
49
+ LicenseStubs.stubNoValidLicense();
50
+ // Given, I visit the License page via the navigation menu with a repository selected and there is no valid license
51
+ HomeSteps.visit();
52
+ MainMenuSteps.clickOnLicense();
53
+ // Then,
54
+ LicenseSteps.verifyNoValidLicense();
55
+ });
56
+
57
+ it('Should display the correct initial state when navigating via URL and there is no valid hardcoded license', () => {
58
+ LicenseStubs.stubLicenseHardcoded(true);
59
+ LicenseStubs.stubNoValidLicense();
60
+ // Given, I visit the License page via URL with a repository selected and there is no valid hardcoded license
61
+ LicenseSteps.visit();
62
+ // Then,
63
+ LicenseSteps.verifyNoValidLicenseHardcoded();
64
+ });
65
+
66
+ it('Should display the correct initial state when navigating via the navigation bar and there is no valid hardcoded license', () => {
67
+ LicenseStubs.stubLicenseHardcoded(true);
68
+ LicenseStubs.stubNoValidLicense();
69
+ // Given, I visit the License page via the navigation menu with a repository selected and there is no valid license
70
+ HomeSteps.visit();
71
+ MainMenuSteps.clickOnLicense();
72
+ // Then,
73
+ LicenseSteps.verifyNoValidLicenseHardcoded();
74
+ });
75
+
76
+ it('Should display the correct initial state when navigating via URL and there is valid license', () => {
77
+ LicenseStubs.stubLicenseHardcoded(false);
78
+ LicenseStubs.stubEnterpriseLicense();
79
+ // Given, I visit the License page via URL with a repository selected and there is valid license
80
+ LicenseSteps.visit();
81
+ // Then,
82
+ LicenseSteps.verifyValidLicense();
83
+ });
84
+
85
+ it('Should display the correct initial state when navigating via the navigation bar and there is valid license', () => {
86
+ LicenseStubs.stubLicenseHardcoded(false);
87
+ LicenseStubs.stubEnterpriseLicense();
88
+ // Given, I visit the License page via the navigation menu with a repository selected and there is valid license
89
+ HomeSteps.visit();
90
+ MainMenuSteps.clickOnLicense();
91
+ // Then,
92
+ LicenseSteps.verifyValidLicense();
93
+ });
94
+
95
+ it('Should display the correct initial state when navigating via URL and there is valid hardcoded license', () => {
96
+ LicenseStubs.stubLicenseHardcoded(true);
97
+ LicenseStubs.stubEnterpriseLicense();
98
+ // Given, I visit the License page via URL with a repository selected and there is valid hardcoded license
99
+ LicenseSteps.visit();
100
+ // Then,
101
+ LicenseSteps.verifyValidLicenseHardcoded();
102
+ });
103
+
104
+ it('Should display the correct initial state when navigating via the navigation bar and there is valid hardcoded license', () => {
105
+ LicenseStubs.stubLicenseHardcoded(true);
106
+ LicenseStubs.stubEnterpriseLicense();
107
+ // Given, I visit the License page via the navigation menu with a repository selected and there is valid hardcoded license
108
+ HomeSteps.visit();
109
+ MainMenuSteps.clickOnLicense();
110
+ // Then,
111
+ LicenseSteps.verifyValidLicenseHardcoded();
112
+ });
113
+ })
@@ -0,0 +1,103 @@
1
+ import HomeSteps from "../../steps/home-steps";
2
+ import {MainMenuSteps} from "../../steps/main-menu-steps";
3
+ import {LicenseSteps} from "../../steps/license-steps";
4
+ import {LicenseStubs} from "../../stubs/license-stubs";
5
+
6
+ describe('License without selected repository', () => {
7
+
8
+ it('Should display the correct initial state when navigating via URL and there is no license', () => {
9
+ LicenseStubs.stubLicenseHardcoded(false)
10
+ LicenseStubs.stubLicenseNotSet();
11
+ // Given, I visit the License page via URL without a repository selected and there is no license
12
+ LicenseSteps.visit();
13
+ // Then,
14
+ LicenseSteps.verifyLicenseNotSet();
15
+ });
16
+
17
+ it('Should display the correct initial state when navigating via the navigation menu and there is no license', () => {
18
+ LicenseStubs.stubLicenseHardcoded(false)
19
+ LicenseStubs.stubLicenseNotSet();
20
+ // Given, I visit the License page via the navigation menu without a repository selected and there is no license
21
+ HomeSteps.visit();
22
+ MainMenuSteps.clickOnLicense();
23
+ // Then,
24
+ LicenseSteps.verifyLicenseNotSet();
25
+ });
26
+
27
+ it('Should display the correct initial state when navigating via URL and there is no valid license', () => {
28
+ LicenseStubs.stubLicenseHardcoded(false);
29
+ LicenseStubs.stubNoValidLicense();
30
+ // Given, I visit the License page via URL without a repository selected and there is no valid license
31
+ LicenseSteps.visit();
32
+ // Then,
33
+ LicenseSteps.verifyNoValidLicense();
34
+ });
35
+
36
+ it('Should display the correct initial state when navigating via the navigation menu and there is no valid license', () => {
37
+ LicenseStubs.stubLicenseHardcoded(false);
38
+ LicenseStubs.stubNoValidLicense();
39
+ // Given, I visit the License page via the navigation menu without a repository selected and there is no valid license
40
+ HomeSteps.visit();
41
+ MainMenuSteps.clickOnLicense();
42
+ // Then,
43
+ LicenseSteps.verifyNoValidLicense();
44
+ });
45
+
46
+ it('Should display the correct initial state when navigating via URL and there is no valid hardcoded license', () => {
47
+ LicenseStubs.stubLicenseHardcoded(true);
48
+ LicenseStubs.stubNoValidLicense();
49
+ // Given, I visit the License page via URL without a repository selected and there is no valid hardcoded license
50
+ LicenseSteps.visit();
51
+ // Then,
52
+ LicenseSteps.verifyNoValidLicenseHardcoded();
53
+ });
54
+
55
+ it('Should display the correct initial state when navigating via the navigation menu and there is no valid hardcoded license', () => {
56
+ LicenseStubs.stubLicenseHardcoded(true);
57
+ LicenseStubs.stubNoValidLicense();
58
+ // Given, I visit the License page via the navigation menu without a repository selected and there is no valid hardcoded license
59
+ HomeSteps.visit();
60
+ MainMenuSteps.clickOnLicense();
61
+ // Then,
62
+ LicenseSteps.verifyNoValidLicenseHardcoded();
63
+ });
64
+
65
+ it('Should display the correct initial state when navigating via URL and there is valid license', () => {
66
+ LicenseStubs.stubLicenseHardcoded(false);
67
+ LicenseStubs.stubEnterpriseLicense();
68
+ // Given, I visit the License page via URL without a repository selected and there is valid license
69
+ LicenseSteps.visit();
70
+ // Then,
71
+ LicenseSteps.verifyValidLicense();
72
+ });
73
+
74
+ it('Should display the correct initial state when navigating via the navigation menu and there is valid license', () => {
75
+ LicenseStubs.stubLicenseHardcoded(false);
76
+ LicenseStubs.stubEnterpriseLicense();
77
+ // Given, I visit the License page via the navigation menu without a repository selected and there is valid license
78
+ HomeSteps.visit();
79
+ MainMenuSteps.clickOnLicense();
80
+ // Then,
81
+ LicenseSteps.verifyValidLicense();
82
+ });
83
+
84
+
85
+ it('Should display the correct initial state when navigating via URL and there is valid hardcoded license', () => {
86
+ LicenseStubs.stubLicenseHardcoded(true);
87
+ LicenseStubs.stubEnterpriseLicense();
88
+ // Given, I visit the License page via URL without a repository selected and there is valid hardcoded license
89
+ LicenseSteps.visit();
90
+ // Then,
91
+ LicenseSteps.verifyValidLicenseHardcoded();
92
+ });
93
+
94
+ it('Should display the correct initial state when navigating via the navigation menu and there is valid harcoded license', () => {
95
+ LicenseStubs.stubLicenseHardcoded(true);
96
+ LicenseStubs.stubEnterpriseLicense();
97
+ // Given, I visit the License page via the navigation menu without a repository selected and there is valid hardcoded license
98
+ HomeSteps.visit();
99
+ MainMenuSteps.clickOnLicense();
100
+ // Then,
101
+ LicenseSteps.verifyValidLicenseHardcoded();
102
+ });
103
+ })
@@ -9,8 +9,8 @@ describe('License', () => {
9
9
  LicenseSteps.getLicenseHeader().should('have.text', "GraphDB Enterprise Edition");
10
10
 
11
11
  LicenseSteps.getHardcodedAlertMessage().should('exist');
12
- LicenseSteps.getRemoveLicenseLicenseButton().should('not.exist');
13
- LicenseSteps.getSetNewLicenseElement().should('not.exist');
12
+ LicenseSteps.getRemoveLicenseButton().should('not.exist');
13
+ LicenseSteps.getSetNewLicenseButton().should('not.exist');
14
14
  });
15
15
 
16
16
  it('Should not displays an informational message if the license is not provided through a file (not hardcoded)', () => {
@@ -20,7 +20,7 @@ describe('License', () => {
20
20
  LicenseSteps.getLicenseHeader().should('have.text', "GraphDB Enterprise Edition");
21
21
 
22
22
  LicenseSteps.getHardcodedAlertMessage().should('not.exist');
23
- LicenseSteps.getRemoveLicenseLicenseButton().should('exist');
24
- LicenseSteps.getSetNewLicenseElement().should('exist');
23
+ LicenseSteps.getRemoveLicenseButton().should('exist');
24
+ LicenseSteps.getSetNewLicenseButton().should('exist');
25
25
  });
26
26
  });
@@ -0,0 +1,36 @@
1
+ import HomeSteps from "../../../steps/home-steps";
2
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
3
+ import {BackupAndRestoreSteps} from "../../../steps/monitoring/backup-and-restore-steps";
4
+
5
+ describe('Backup And Restore with selected repository', () => {
6
+ let repositoryId;
7
+
8
+ beforeEach(() => {
9
+ repositoryId = 'backup-and-restore-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 Backup And Restore page via URL with a repository selected
20
+ BackupAndRestoreSteps.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 Backup And Restore page via the navigation menu with a repository selected
27
+ HomeSteps.visit();
28
+ MainMenuSteps.clickOnBackupAndRestore();
29
+ // Then,
30
+ verifyInitialStateWithSelectedRepository();
31
+ });
32
+
33
+ const verifyInitialStateWithSelectedRepository = () => {
34
+ BackupAndRestoreSteps.getInfoMessageElement().contains('No running backup or restore.');
35
+ };
36
+ })
@@ -0,0 +1,25 @@
1
+ import {ErrorSteps} from "../../../steps/error-steps";
2
+ import HomeSteps from "../../../steps/home-steps";
3
+ import {MainMenuSteps} from "../../../steps/main-menu-steps";
4
+ import {BackupAndRestoreSteps} from "../../../steps/monitoring/backup-and-restore-steps";
5
+
6
+ describe('Backup and Restore without selected repository', () => {
7
+ it('Should display the correct initial state when navigating via URL', () => {
8
+ // Given, I visit the Backup and Restore page via URL without a repository selected
9
+ BackupAndRestoreSteps.visit();
10
+ // Then,
11
+ verifyInitialStateWithSelectedRepository();
12
+ });
13
+
14
+ it('Should display the correct initial state when navigating via the navigation menu', () => {
15
+ // Given, I visit the Backup and Restore page via the navigation menu without a repository selected
16
+ HomeSteps.visit();
17
+ MainMenuSteps.clickOnBackupAndRestore();
18
+ // Then,
19
+ verifyInitialStateWithSelectedRepository();
20
+ });
21
+
22
+ const verifyInitialStateWithSelectedRepository = () => {
23
+ BackupAndRestoreSteps.getInfoMessageElement().contains('No running backup or restore.');
24
+ };
25
+ })
@@ -1,5 +1,5 @@
1
- import {BackupAndRestoreSteps} from "../../steps/monitoring/backup-and-restore-steps";
2
- import {BackupAndRestoreStubs} from "../../stubs/backup-and-restore-stubs";
1
+ import {BackupAndRestoreSteps} from "../../../steps/monitoring/backup-and-restore-steps";
2
+ import {BackupAndRestoreStubs} from "../../../stubs/backup-and-restore-stubs";
3
3
 
4
4
  describe("Monitoring 'Backup And Restore'", () => {
5
5