graphdb-workbench-tests 2.7.0-TR13 → 2.7.0-TR15

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.
@@ -32,6 +32,7 @@
32
32
  "link_state_in_sync": "In sync",
33
33
  "link_state_syncing": "Syncing",
34
34
  "link_state_out_of_sync": "Out of sync",
35
+ "link_state_receiving_snapshot": "Receiving a snapshot",
35
36
  "link_state_recovering": "Recovering",
36
37
  "recovery_state": {
37
38
  "searching_for_node": "Searching for node",
@@ -202,7 +203,8 @@
202
203
  "errors": {
203
204
  "loading_rules": "Error during ACL rules",
204
205
  "updating_rules": "Error during ACL rules update",
205
- "duplicated_rules": "Every ACL rule should be unique."
206
+ "duplicated_rules": "Every ACL rule should be unique.",
207
+ "role_length_too_short": "Too short"
206
208
  },
207
209
  "defaults": {
208
210
  "asterisk": "* - Any RDF value",
@@ -986,26 +988,30 @@
986
988
  "copied_to_clipboard": "Copied to clipboard"
987
989
  },
988
990
  "on_upload": {
989
- "import_user_data": "Import User Data",
990
- "to_reimport_again": "To reimport a file, URL or text snippet click the Import button again.",
991
- "file_size_limit_can_be_changed": "The file size limit can be changed by setting the",
991
+ "import_user_data": "Import RDF files from your computer, from a URL, or type or paste RDF data",
992
+ "file_size_limit_can_be_changed": "The file size limit for uploads can be changed by setting the",
992
993
  "the_property": " property",
993
994
  "execution": "Import execution",
994
995
  "work_in_background": "Imports are executed in the background while you continue working on other things.",
996
+ "to_reimport_again": "To reimport a file, URL or text snippet click the Import button again.",
995
997
  "interrupt_support": "Interrupt is supported only when the location is local.",
996
998
  "parser_config": "Parser config options are not available for remote locations."
997
999
  },
998
1000
  "on_server_import": {
999
- "import_from_server": "It’s required to have access to the server where the GraphDB Workbench is running",
1000
- "open_directory": "Open (or create) a directory",
1001
- "put_files_into": "and place your files and folders in it",
1001
+ "import_from_server": "Import files from the server where GraphDB is running",
1002
+ "open_directory": "Put files or directories you want to import into the",
1003
+ "put_files_into": "directory on the GraphDB server. Create the directory if necessary.",
1002
1004
  "directory_can_be_changed": "The directory can be changed by setting the",
1003
- "the_property": "property"
1005
+ "the_property": "property",
1006
+ "execution": "Import execution",
1007
+ "work_in_background": "Imports are executed in the background while you continue working on other things.",
1008
+ "to_reimport_again": "To reimport a file, URL or text snippet click the Import button again.",
1009
+ "interrupt_support": "Interrupt is supported only when the location is local."
1004
1010
  },
1005
1011
  "on_file_size_limit": {
1006
- "file_size_limit_info": "To import larger than {{fileSizeLimit}} MB files, use the ",
1012
+ "file_import_options_info_1": "Explore other file import options - ",
1013
+ "file_import_options_info_2": "import (opens Server files tab) or ",
1007
1014
  "server_files_link": "Server files",
1008
- "import_or_use": "import or use the",
1009
1015
  "api_link": "API"
1010
1016
  }
1011
1017
  },
@@ -119,7 +119,6 @@ describe('Cluster management', () => {
119
119
  ClusterPageSteps.previewClusterConfig();
120
120
  ClusterConfigurationSteps.getClusterConfig().should('be.visible');
121
121
  ClusterConfigurationSteps.deleteCluster();
122
- // ClusterConfigurationSteps.closeConfigurationPanel();
123
122
  // Then I expect a confirmation dialog to appear
124
123
  DeleteClusterDialogSteps.getDialog().should('be.visible');
125
124
  // When I confirm
@@ -131,8 +130,6 @@ describe('Cluster management', () => {
131
130
  ClusterStubs.stubNoClusterConfig();
132
131
  RemoteLocationStubs.stubRemoteLocationStatusNotCluster();
133
132
  DeleteClusterDialogSteps.getDialog().should('not.exist');
134
- ClusterPageSteps.previewClusterConfig();
135
- ClusterConfigurationSteps.getDeleteClusterButton().should('be.hidden');
136
133
  ClusterPageSteps.getRemoveNodesButton().should('not.exist');
137
134
  ClusterPageSteps.getAddNodesButton().should('not.exist');
138
135
  ClusterPageSteps.getReplaceNodesButton().should('not.exist');
@@ -41,7 +41,11 @@ describe('Import server files', () => {
41
41
 
42
42
  it('Should be able to toggle the server file import help', () => {
43
43
  // When the page is loaded
44
- // Then I should see the server files import help
44
+ // Then I expect import help message to be hidden because it is not an empty state
45
+ ImportServerFilesSteps.getHelpMessage().should('not.exist');
46
+ // When I click on the help button
47
+ ImportServerFilesSteps.openHelpMessage();
48
+ // Then the help should appear
45
49
  ImportServerFilesSteps.getHelpMessage().should('be.visible');
46
50
  // When I close the help
47
51
  ImportServerFilesSteps.closeHelpMessage();
@@ -80,20 +80,24 @@ describe('Import user data', () => {
80
80
  ImportUserDataSteps.getResources().should('have.length', 0);
81
81
  // Then I should see the user data import help
82
82
  ImportUserDataSteps.getHelpMessage().should('be.visible');
83
- // When I have uploaded a text snippet
83
+ // When I upload a text snippet
84
84
  ImportUserDataSteps.openImportTextSnippetDialog();
85
85
  ImportUserDataSteps.fillRDFTextSnippet(RDF_TEXT_SNIPPET);
86
86
  ImportUserDataSteps.clickImportTextSnippetButton();
87
87
  ImportSettingsDialogSteps.import();
88
88
  ImportUserDataSteps.getResources().should('have.length', 1);
89
- // And I close the help
90
- ImportUserDataSteps.closeHelpMessage();
91
- // And I visit another page and return
89
+ // Then the help should disappear because it's not an empty state anymore
90
+ ImportUserDataSteps.getHelpMessage().should('not.exist');
91
+ // When I open the help message
92
+ ImportUserDataSteps.openHelpMessage();
93
+ // Then the help message should appear
94
+ ImportUserDataSteps.getHelpMessage().should('be.visible');
95
+ // When I visit another page and return
92
96
  cy.visit('/webapi');
93
97
  cy.url().should('include', '/webapi');
94
98
  ImportUserDataSteps.visit();
95
99
  ImportUserDataSteps.getResources().should('have.length', 1);
96
- // Then the help should not appear because I have closed it explicitly
100
+ // Then the help should not appear because it's not an empty state
97
101
  ImportUserDataSteps.getHelpMessage().should('not.exist');
98
102
  // When I delete the uploaded file
99
103
  ImportUserDataSteps.deleteUploadedFile(0);
@@ -199,5 +199,20 @@ describe('ACL Management: create rule', () => {
199
199
  // Then I expect an error notification to be displayed that describe me that ACL have to be unique.
200
200
  ApplicationSteps.getErrorNotifications().contains('Every ACL rule should be unique.');
201
201
  });
202
+
203
+ it('should not allow creating a new rule if CUSTOM ROLE is less than 2 symbols', () => {
204
+ // When I am on "ACL Management" page and create a new rule with a CUSTOM ROLE of 1 symbol
205
+ AclManagementSteps.addRuleInBeginning();
206
+ AclManagementSteps.selectPolicy(0, 'allow');
207
+ AclManagementSteps.fillRole(0, 'A');
208
+ AclManagementSteps.selectOperation(0, 'write');
209
+ AclManagementSteps.fillSubject(0, '<urn:Mary>');
210
+ AclManagementSteps.fillPredicate(0, '*');
211
+ AclManagementSteps.fillObject(0, '*');
212
+ AclManagementSteps.fillContext(0, '*');
213
+
214
+ // Then I expect an error notification to be displayed that tells me this ROLE length is not allowed
215
+ AclManagementSteps.getFieldError().contains('Too short');
216
+ });
202
217
  });
203
218
 
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "graphdb-workbench-tests",
3
- "version": "2.7.0-TR13",
3
+ "version": "2.7.0-TR15",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "graphdb-workbench-tests",
9
- "version": "2.7.0-TR13",
9
+ "version": "2.7.0-TR15",
10
10
  "license": "Apache-2.0",
11
11
  "devDependencies": {
12
12
  "cypress": "^13.3.1",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graphdb-workbench-tests",
3
- "version": "2.7.0-TR13",
3
+ "version": "2.7.0-TR15",
4
4
  "description": "Cypress tests for GraphDB workbench",
5
5
  "scripts": {
6
6
  "prepack": "npm shrinkwrap",
@@ -143,6 +143,11 @@ class ImportSteps {
143
143
  return cy.window().its('navigator.clipboard').invoke('readText').then((text) => text);
144
144
  }
145
145
 
146
+ static openHelpMessage() {
147
+ // For some reason the page info box opens unexpectedly and covers the help info icon.
148
+ this.getView().find('.toggle-help-btn').click({force: true});
149
+ }
150
+
146
151
  static closeHelpMessage() {
147
152
  return this.getHelpMessage().find('button.close').click();
148
153
  }
@@ -161,6 +161,10 @@ export class AclManagementSteps {
161
161
  this.getRoleField(index).clear().type(value);
162
162
  }
163
163
 
164
+ static getFieldError() {
165
+ return cy.get('div.small');
166
+ }
167
+
164
168
  static getPluginField(index) {
165
169
  return this.getRule(index).find('.plugin-cell textarea');
166
170
  }