graphdb-workbench-tests 2.6.4 → 2.7.0-RC1

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 (73) hide show
  1. package/Dockerfile +3 -1
  2. package/fixtures/cluster/3-nodes-cluster-group-status-receiving-snapshot.json +7 -7
  3. package/fixtures/graphdb-import/0007-import-file.jsonld +27 -0
  4. package/fixtures/graphdb-import/more-files/jsonld-file.jsonld +8 -0
  5. package/fixtures/graphdb-import/more-files/rdfxml.rdf +15 -0
  6. package/fixtures/graphdb-import/more-files-with-error/import-resource-with-correct-data.jsonld +8 -0
  7. package/fixtures/graphdb-import/more-files-with-error/import-resource-with-incorrect-data.rdf +13 -0
  8. package/fixtures/graphdb-import/more-files-with-error/import-resource-with-long-error.rdf +13 -0
  9. package/fixtures/graphdb-import/sample-jsonld.json +8 -0
  10. package/fixtures/locale-en.json +251 -111
  11. package/fixtures/url-import-template.json +1 -0
  12. package/integration/cluster/cluster-legend.spec.js +36 -0
  13. package/integration/cluster/cluster-management.spec.js +4 -92
  14. package/integration/cluster/cluster-states.spec.js +117 -0
  15. package/integration/explore/graphs.overview.spec.js +62 -0
  16. package/integration/explore/similarity.spec.js +20 -2
  17. package/integration/guides/movies-interactive-guide.spec.js +1 -1
  18. package/integration/guides/star-wars-interactive-guide.js +1 -0
  19. package/integration/import/import-server-files-batch-operations.spec.js +121 -0
  20. package/integration/import/import-server-files.spec.js +145 -0
  21. package/integration/import/import-user-data-file-upload.spec.js +194 -0
  22. package/integration/import/import-user-data-settings-dialog.spec.js +70 -0
  23. package/integration/import/import-user-data-text-snippet.spec.js +246 -0
  24. package/integration/import/import-user-data-url.spec.js +70 -0
  25. package/integration/import/import-user-data.spec.js +119 -0
  26. package/integration/import/import-view.spec.js +108 -0
  27. package/integration/monitor/global-operation-statuses-component.spec.js +2 -2
  28. package/integration/repository/repositories.spec.js +20 -17
  29. package/integration/resource/resource.spec.js +40 -0
  30. package/integration/setup/aclmanagement/create-rule.spec.js +15 -0
  31. package/integration/setup/sparql-template-create.js +4 -4
  32. package/integration/setup/user-and-access.spec.js +98 -138
  33. package/integration/sparql-editor/internationalization.spec.js +62 -12
  34. package/integration/sparql-editor/yasgui-tabs.spec.js +15 -1
  35. package/integration/sparql-editor/yasr/download-as.spec.js +71 -0
  36. package/integration-flaky/import/import-server-files-operations.spec.js +142 -0
  37. package/integration-flaky/import/import-user-data-batch-operations.spec.js +185 -0
  38. package/integration-flaky/import/import.server.files.spec.js +3 -2
  39. package/integration-flaky/setup/sparql-template-create.js +1 -1
  40. package/integration-flaky/sparql-editor/actions/share-query.spec.js +1 -1
  41. package/npm-shrinkwrap.json +3198 -0
  42. package/package.json +10 -11
  43. package/steps/cluster/cluster-configuration-steps.js +17 -0
  44. package/steps/cluster/cluster-page-steps.js +20 -8
  45. package/steps/cluster/cluster-view-steps.js +6 -2
  46. package/steps/explore/graphs-overview-steps.js +32 -0
  47. package/steps/explore/similarity-indexes-steps.js +26 -0
  48. package/steps/guides/guide-steps.js +5 -19
  49. package/steps/home-steps.js +4 -0
  50. package/steps/import/file-overwrite-dialog-steps.js +16 -0
  51. package/steps/import/import-resource-message-dialog.js +46 -0
  52. package/steps/import/import-server-files-steps.js +36 -0
  53. package/steps/import/import-settings-dialog-steps.js +60 -0
  54. package/steps/import/import-steps.js +463 -0
  55. package/steps/import/import-user-data-steps.js +167 -0
  56. package/steps/json-ld-modal-steps.js +41 -0
  57. package/steps/language-selector-steps.js +12 -0
  58. package/steps/main-menu-steps.js +4 -0
  59. package/steps/resource/resource-steps.js +7 -2
  60. package/steps/setup/acl-management-steps.js +4 -0
  61. package/steps/setup/user-and-access-steps.js +189 -0
  62. package/steps/sparql-steps.js +1 -1
  63. package/steps/yasgui/yasgui-steps.js +6 -0
  64. package/steps/yasgui/yasr-steps.js +5 -0
  65. package/stubs/yasgui/query-stubs.js +4 -0
  66. package/support/commands.js +23 -0
  67. package/support/import-commands.js +10 -0
  68. package/support/sparql-commands.js +1 -1
  69. package/bin/graphdb-workbench-cypress +0 -29
  70. package/integration/help/rest-api.spec.js +0 -121
  71. package/integration/import/import.server.files.spec.js +0 -69
  72. package/integration/import/import.user.data.spec.js +0 -338
  73. package/steps/import-steps.js +0 -277
@@ -0,0 +1,142 @@
1
+ import {ImportServerFilesSteps} from "../../steps/import/import-server-files-steps";
2
+ import {ImportSettingsDialogSteps} from "../../steps/import/import-settings-dialog-steps";
3
+
4
+ describe('Import server files - Operations', {retries: {runMode: 2}}, () => {
5
+
6
+ let repositoryId;
7
+
8
+ const BASE_URI = 'http://purl.org/dc/elements/1.1/';
9
+ const CONTEXT = 'http://example.org/context';
10
+ const FILE_FOR_IMPORT = 'italian_public_schools_links.nt.gz';
11
+ const FILE_FROM_DIRECTORY_FOR_IMPORT = 'rdfxml.rdf';
12
+ const TTLS_FOR_IMPORT = 'test_turtlestar.ttls';
13
+ const TRIGS_FOR_IMPORT = 'test-trigstar.trigs';
14
+ const JSONLD_FILE_FOR_IMPORT = '0007-import-file.jsonld';
15
+ const JSONLD_CONTEXT = 'https://w3c.github.io/json-ld-api/tests/compact/0007-context.jsonld';
16
+
17
+ beforeEach(() => {
18
+ repositoryId = 'server-import-' + Date.now();
19
+ cy.createRepository({id: repositoryId});
20
+ ImportServerFilesSteps.visitServerImport(repositoryId);
21
+ ImportServerFilesSteps.getResources().should('have.length', 14);
22
+ });
23
+
24
+ afterEach(() => {
25
+ cy.deleteRepository(repositoryId);
26
+ });
27
+
28
+ it('Should import Server files successfully without changing settings', () => {
29
+ // Given I have opened the server files tab
30
+ // When I select to import a file
31
+ ImportServerFilesSteps.importResourceByName(FILE_FOR_IMPORT);
32
+ ImportSettingsDialogSteps.import();
33
+ // Then I should see the file imported successfully
34
+ ImportServerFilesSteps.checkImportedResource(0, FILE_FOR_IMPORT);
35
+ // TODO: this and all similar check in the tests below are a checking for the default import settings which we probably should not verify here.
36
+ // ImportServerFilesSteps.verifyImportStatusDetails(FILE_FOR_IMPORT, '"preserveBNodeIds": false,');
37
+ });
38
+
39
+ it('Should import files from directory successfully without changing settings', () => {
40
+ // Given I have opened the server files tab
41
+ // When I select to import a file
42
+ ImportServerFilesSteps.importResourceByName(FILE_FROM_DIRECTORY_FOR_IMPORT);
43
+ ImportSettingsDialogSteps.import();
44
+ // Then I should see the file imported successfully
45
+ ImportServerFilesSteps.checkImportedResource(0, FILE_FROM_DIRECTORY_FOR_IMPORT);
46
+ });
47
+
48
+ it('Should import Server files successfully with changing settings', () => {
49
+ // Given I have opened the server files tab
50
+ // When I select to import a file
51
+ ImportServerFilesSteps.importResourceByName(FILE_FOR_IMPORT);
52
+ // And I change the settings
53
+ ImportSettingsDialogSteps.expandAdvancedSettings();
54
+ ImportSettingsDialogSteps.fillBaseURI(BASE_URI);
55
+ ImportSettingsDialogSteps.selectNamedGraph();
56
+ ImportSettingsDialogSteps.fillNamedGraph(CONTEXT);
57
+ ImportSettingsDialogSteps.enablePreserveBNodes();
58
+ ImportSettingsDialogSteps.import();
59
+ // Then I should see the file imported successfully
60
+ ImportServerFilesSteps.checkImportedResource(0, FILE_FOR_IMPORT);
61
+ // ImportSteps.verifyImportStatusDetails(FILE_FOR_IMPORT, [CONTEXT, BASE_URI, '"preserveBNodeIds": true,']);
62
+ });
63
+
64
+ // for this test it is necessary to set up a whitelist to GraphDB in this way: -Dgraphdb.jsonld.whitelist=https://w3c.github.io/json-ld-api/tests/*
65
+ it('Should import Server files successfully with JSONLD context link settings', () => {
66
+ // Given I have opened the server files tab
67
+ // When I select to import a file
68
+ ImportServerFilesSteps.importResourceByName(JSONLD_FILE_FOR_IMPORT);
69
+ // And I change the settings
70
+ ImportSettingsDialogSteps.expandAdvancedSettings();
71
+ ImportSettingsDialogSteps.fillBaseURI(BASE_URI);
72
+ ImportSettingsDialogSteps.fillContextLink(JSONLD_CONTEXT);
73
+ ImportSettingsDialogSteps.selectNamedGraph();
74
+ ImportSettingsDialogSteps.fillNamedGraph(CONTEXT);
75
+ ImportSettingsDialogSteps.enablePreserveBNodes();
76
+ ImportSettingsDialogSteps.import();
77
+ // Then I should see the file imported successfully
78
+ ImportServerFilesSteps.checkImportedResource(0, JSONLD_FILE_FOR_IMPORT);
79
+ // ImportSteps.verifyImportStatusDetails(JSONLD_FILE_FOR_IMPORT, [CONTEXT, BASE_URI, '"preserveBNodeIds": true,', JSONLD_CONTEXT]);
80
+ });
81
+
82
+ it('Should import Server files successfully with JSONLD default settings', () => {
83
+ // Given I have opened the server files tab
84
+ // When I select to import a file
85
+ ImportServerFilesSteps.importResourceByName(JSONLD_FILE_FOR_IMPORT);
86
+ // And I change the settings
87
+ ImportSettingsDialogSteps.expandAdvancedSettings();
88
+ ImportSettingsDialogSteps.fillBaseURI(BASE_URI);
89
+ ImportSettingsDialogSteps.selectNamedGraph();
90
+ ImportSettingsDialogSteps.fillNamedGraph(CONTEXT);
91
+ ImportSettingsDialogSteps.setContextLinkToBeVisible();
92
+ ImportSettingsDialogSteps.enablePreserveBNodes();
93
+ ImportSettingsDialogSteps.import();
94
+ // Then I should see the file imported successfully
95
+ ImportServerFilesSteps.checkImportedResource(0, JSONLD_FILE_FOR_IMPORT);
96
+ // ImportSteps.verifyImportStatusDetails(JSONLD_FILE_FOR_IMPORT, [CONTEXT, BASE_URI, '"preserveBNodeIds": true,']);
97
+ });
98
+
99
+ it('Should be able to reset status of imported file', () => {
100
+ // Given I have opened the server files tab
101
+ // And I have imported a file
102
+ ImportServerFilesSteps.importResourceByName(FILE_FOR_IMPORT);
103
+ ImportSettingsDialogSteps.import();
104
+ ImportServerFilesSteps.checkImportedResource(0, FILE_FOR_IMPORT);
105
+ // When I reset the status of the imported file
106
+ ImportServerFilesSteps.resetResourceStatusByName(FILE_FOR_IMPORT);
107
+ // Then Import status of the file should not be visible
108
+ ImportServerFilesSteps.getResourceStatus(FILE_FOR_IMPORT).should('be.hidden');
109
+ });
110
+
111
+ it('Should be able to reset status of imported file from a directory', () => {
112
+ // Given I have opened the server files tab
113
+ // And I have imported a file
114
+ ImportServerFilesSteps.importResourceByName(FILE_FROM_DIRECTORY_FOR_IMPORT);
115
+ ImportSettingsDialogSteps.import();
116
+ ImportServerFilesSteps.checkImportedResource(0, FILE_FROM_DIRECTORY_FOR_IMPORT);
117
+ // When I reset the status of the imported file
118
+ ImportServerFilesSteps.resetResourceStatusByName(FILE_FROM_DIRECTORY_FOR_IMPORT);
119
+ // Then Import status of the file should not be visible
120
+ ImportServerFilesSteps.getResourceStatus(FILE_FROM_DIRECTORY_FOR_IMPORT).should('be.hidden');
121
+ });
122
+
123
+ it('Should import turtlestar from Server files successfully without changing settings', () => {
124
+ // Given I have opened the server files tab
125
+ ImportServerFilesSteps.importResourceByName(TTLS_FOR_IMPORT);
126
+ // When I select to import a ttl file without changing settings
127
+ ImportSettingsDialogSteps.import();
128
+ // Then I should see the file imported successfully
129
+ ImportServerFilesSteps.checkImportedResource(0, TTLS_FOR_IMPORT);
130
+ // ImportSteps.verifyImportStatusDetails(TTLS_FOR_IMPORT, '"preserveBNodeIds": false,');
131
+ });
132
+
133
+ it('Should import trigstar from Server files successfully without changing settings', () => {
134
+ // Given I have opened the server files tab
135
+ ImportServerFilesSteps.importResourceByName(TRIGS_FOR_IMPORT);
136
+ // When I select to import a trigstar file without changing settings
137
+ ImportSettingsDialogSteps.import();
138
+ // Then I should see the file imported successfully
139
+ ImportServerFilesSteps.checkImportedResource(0, TRIGS_FOR_IMPORT);
140
+ // ImportSteps.verifyImportStatusDetails(TRIGS_FOR_IMPORT, '"preserveBNodeIds": false,');
141
+ });
142
+ });
@@ -0,0 +1,185 @@
1
+ import {ModalDialogSteps} from "../../steps/modal-dialog-steps";
2
+ import {ImportSettingsDialogSteps} from "../../steps/import/import-settings-dialog-steps";
3
+ import {MainMenuSteps} from "../../steps/main-menu-steps";
4
+ import {ImportUserDataSteps} from "../../steps/import/import-user-data-steps";
5
+
6
+ const bnodes = `_:node0 <http://purl.org/dc/elements/1.1/title> "A new book" ;
7
+ \t<http://purl.org/dc/elements/1.1/creator> "A.N.Other" .`;
8
+ const jsonld = JSON.stringify({
9
+ "@context": {
10
+ "ab": "http://learningsparql.com/ns/addressbook#"
11
+ },
12
+ "@id": "ab:richard",
13
+ "ab:homeTel": "(229)276-5135",
14
+ "ab:email": "richard491@hotmail.com"
15
+ });
16
+
17
+ describe('Import user data: Batch operations', {retries: {runMode: 2}}, () => {
18
+
19
+ let repositoryId;
20
+ const testFiles = [
21
+ 'bnodes.ttl',
22
+ 'jsonld.jsonld',
23
+ 'invalid-format.json'
24
+ ];
25
+
26
+ beforeEach(() => {
27
+ repositoryId = 'user-import-' + Date.now();
28
+ cy.createRepository({id: repositoryId});
29
+ cy.presetRepository(repositoryId);
30
+ ImportUserDataSteps.visitImport('user', repositoryId);
31
+ });
32
+
33
+ afterEach(() => {
34
+ cy.deleteUploadedFile(repositoryId, testFiles);
35
+ cy.deleteRepository(repositoryId);
36
+ });
37
+
38
+ it('Should be able to filter files by status', () => {
39
+ uploadFiles([
40
+ {name: testFiles[0], content: bnodes},
41
+ {name: testFiles[1], content: jsonld}
42
+ ]);
43
+ // Then I should see no files selected
44
+ ImportUserDataSteps.getSelectedResources().should('have.length', 0);
45
+ // When I select All files from the menu
46
+ ImportUserDataSteps.selectAllResources();
47
+ // Then I should see all files selected
48
+ ImportUserDataSteps.getSelectedResources().should('have.length', 2);
49
+ // When I select None from the menu
50
+ ImportUserDataSteps.deselectAllResources();
51
+ // Then I should see no files selected
52
+ ImportUserDataSteps.getSelectedResources().should('have.length', 0);
53
+ // precondition for the next step
54
+ const file = ImportUserDataSteps.createFile('jsonld-2.jsonld', jsonld);
55
+ ImportUserDataSteps.selectFile([file]);
56
+ ImportSettingsDialogSteps.getDialog().should('be.visible');
57
+ ImportSettingsDialogSteps.import();
58
+ ImportUserDataSteps.getResources().should('have.length', 3);
59
+ ImportUserDataSteps.checkImportedResource(0, 'jsonld-2.jsonld');
60
+ // When I select Imported from the menu
61
+ ImportUserDataSteps.selectImportedResources();
62
+ // Then I should see only imported files selected
63
+ ImportUserDataSteps.getSelectedResources().should('have.length', 1);
64
+ ImportUserDataSteps.getSelectedResourceName(0).should('contain', 'jsonld-2.jsonld');
65
+ // When I select Not Imported from the menu
66
+ ImportUserDataSteps.selectNotImportedResources();
67
+ // Then I should see only not imported files selected
68
+ ImportUserDataSteps.getSelectedResources().should('have.length', 2);
69
+ ImportUserDataSteps.getResourceByName('jsonld.jsonld').should('be.visible');
70
+ ImportUserDataSteps.getResourceByName('bnodes.ttl').should('be.visible');
71
+ });
72
+
73
+ it('Should be able to batch import files', () => {
74
+ uploadFiles([
75
+ {name: testFiles[0], content: bnodes},
76
+ {name: testFiles[1], content: jsonld},
77
+ {name: 'jsonld-2.jsonld', content: jsonld}
78
+ ]);
79
+ ImportUserDataSteps.getResources().should('have.length', 3);
80
+ // When I select one file for import
81
+ ImportUserDataSteps.selectFileByName('jsonld-2.jsonld');
82
+ // And I click on the import button
83
+ ImportUserDataSteps.batchImport();
84
+ ImportSettingsDialogSteps.import();
85
+ // Then the file should be imported
86
+ ImportUserDataSteps.checkImportedResource(0, 'jsonld-2.jsonld');
87
+ ImportUserDataSteps.selectImportedResources();
88
+ ImportUserDataSteps.getSelectedResources().should('have.length', 1);
89
+ ImportUserDataSteps.deselectAllResources();
90
+ // When I select the rest of the uploaded files
91
+ ImportUserDataSteps.selectFileByName('jsonld.jsonld');
92
+ ImportUserDataSteps.selectFileByName('bnodes.ttl');
93
+ // And I import them
94
+ ImportUserDataSteps.batchImport();
95
+ ImportSettingsDialogSteps.import();
96
+ // Then the files should be imported
97
+ ImportUserDataSteps.checkImportedResource(1, 'jsonld.jsonld');
98
+ ImportUserDataSteps.checkImportedResource(2, 'bnodes.ttl');
99
+ ImportUserDataSteps.selectImportedResources();
100
+ ImportUserDataSteps.getSelectedResources().should('have.length', 3);
101
+ });
102
+
103
+ it('Should be able to reset the imported status of the files', () => {
104
+ uploadWithImportFiles(testFiles);
105
+ // When I select one of the imported files
106
+ ImportUserDataSteps.selectFileByIndex(0);
107
+ // And I click on the batch reset button
108
+ ImportUserDataSteps.batchReset();
109
+ // Then the import status of the file should be reset
110
+ ImportUserDataSteps.selectNotImportedResources();
111
+ ImportUserDataSteps.getSelectedResources().should('have.length', 1);
112
+ // And the batch reset button should not be visible
113
+ ImportUserDataSteps.getBatchResetButton().should('not.exist');
114
+ // When I select the rest of the imported files
115
+ ImportUserDataSteps.selectImportedResources();
116
+ ImportUserDataSteps.getSelectedResources().should('have.length', 2);
117
+ // And I click on the batch reset button
118
+ ImportUserDataSteps.batchReset();
119
+ // Then the import status of the files should be reset
120
+ ImportUserDataSteps.selectNotImportedResources();
121
+ ImportUserDataSteps.getSelectedResources().should('have.length', 3);
122
+ });
123
+
124
+ it('Should ba able to delete multiple files at once', () => {
125
+ uploadWithImportFiles(testFiles);
126
+ // When I select one file for removal
127
+ ImportUserDataSteps.selectFileByIndex(0);
128
+ // And I delete the file
129
+ ImportUserDataSteps.removeSelectedResources();
130
+ // Then I force click the confirmation dialog, to hide the button popover, which covers it
131
+ ModalDialogSteps.getDialog().click({force: true});
132
+ // The dialog should be visible
133
+ ModalDialogSteps.getDialog().should('be.visible');
134
+ // When I confirm the deletion
135
+ ModalDialogSteps.clickOnConfirmButton();
136
+ // Then the file should be deleted
137
+ ImportUserDataSteps.getResources().should('have.length', 2);
138
+
139
+ // When I select all other files
140
+ ImportUserDataSteps.selectAllResources();
141
+ // And I click on the delete button
142
+ ImportUserDataSteps.removeSelectedResources();
143
+ // Then I should see a confirmation dialog
144
+ ModalDialogSteps.getDialog().should('be.visible');
145
+ // When I confirm the deletion
146
+ ModalDialogSteps.clickOnConfirmButton();
147
+ // Then the files should be deleted
148
+ ImportUserDataSteps.getResources().should('have.length', 0);
149
+ MainMenuSteps.openHomePage();
150
+ ImportUserDataSteps.visit();
151
+ ImportUserDataSteps.getResources().should('have.length', 0);
152
+ });
153
+ });
154
+
155
+ function uploadWithImportFiles(files) {
156
+ // Given there are no files uploaded yet
157
+ ImportUserDataSteps.getResourcesTable().should('be.hidden');
158
+ // When I upload multiple files
159
+ const file1 = ImportUserDataSteps.createFile(files[0], bnodes);
160
+ const file2 = ImportUserDataSteps.createFile(files[1], jsonld);
161
+ const file3 = ImportUserDataSteps.createFile('jsonld-2.jsonld', jsonld);
162
+ ImportUserDataSteps.selectFile([file1, file2, file3]);
163
+ ImportSettingsDialogSteps.import();
164
+ ImportUserDataSteps.getResources().should('have.length', 3);
165
+ ImportUserDataSteps.checkImportedResource(0, 'jsonld-2.jsonld');
166
+ ImportUserDataSteps.checkImportedResource(1, 'jsonld.jsonld');
167
+ ImportUserDataSteps.checkImportedResource(2, 'bnodes.ttl');
168
+ }
169
+
170
+ function uploadFiles(data) {
171
+ // Given there are no files uploaded yet
172
+ ImportUserDataSteps.getResourcesTable().should('be.hidden');
173
+ // When I upload multiple files
174
+ const createdFiles = data.map((fileData) => {
175
+ return ImportUserDataSteps.createFile(fileData.name, fileData.content);
176
+ });
177
+ ImportUserDataSteps.selectFile(createdFiles);
178
+ ImportSettingsDialogSteps.cancelImport();
179
+ ImportSettingsDialogSteps.getDialog().should('not.exist');
180
+ ImportUserDataSteps.getResources().should('have.length', data.length);
181
+ // check them backwards because latest uploaded/imported files are at the top
182
+ data.forEach((file, index) => {
183
+ ImportUserDataSteps.checkUserDataUploadedResource(index, file.name);
184
+ });
185
+ }
@@ -1,6 +1,7 @@
1
- import ImportSteps from '../../steps/import-steps';
1
+ import ImportSteps from "../../steps/import/import-steps";
2
2
 
3
- describe('Import screen validation - server files', () => {
3
+ // TODO: these needs to be refactored or removed
4
+ describe.skip('Import screen validation - server files', () => {
4
5
 
5
6
  let repositoryId;
6
7
 
@@ -1,6 +1,6 @@
1
1
  import {SparqlCreateUpdateSteps} from "../../steps/setup/sparql-create-update-steps";
2
2
  import {YasqeSteps} from "../../steps/yasgui/yasqe-steps";
3
- import ImportSteps from "../../steps/import-steps";
3
+ import ImportSteps from "../../steps/import/import-steps";
4
4
  import {ModalDialogSteps} from "../../steps/modal-dialog-steps";
5
5
  import {MainMenuSteps} from "../../steps/main-menu-steps";
6
6
  import {RepositorySelectorSteps} from "../../steps/repository-selector-steps";
@@ -32,7 +32,7 @@ describe('Share query', () => {
32
32
  ShareSavedQueryDialog.getDialog().should('be.visible');
33
33
  ShareSavedQueryDialog.getDialogTitle().should('contain', 'Copy URL to clipboard');
34
34
  ShareSavedQueryDialog.getShareLink().then((shareLink) => {
35
- expect(shareLink).to.have.string(`/sparql?name=Unnamed&query=select%20*%20where%20%7B%20%20%0A%20%3Fs%20%3Fp%20%3Fo%20.%20%0A%20%7D%20limit%20100&infer=true&sameAs=true`);
35
+ expect(shareLink).to.have.string(`/sparql?name=Unnamed&query=select%20*%20where%20%7B%0A%20%20%20%20%3Fs%20%3Fp%20%3Fo%20.%0A%7D%20limit%20100&infer=true&sameAs=true`);
36
36
  });
37
37
  // When I cancel operation
38
38
  ShareSavedQueryDialog.closeDialog();