graphdb-workbench-tests 3.3.3 → 3.4.0-TR1

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 (60) hide show
  1. package/cypress-flaky.config.js +2 -0
  2. package/cypress-legacy.config.js +2 -2
  3. package/cypress-security.config.js +3 -14
  4. package/e2e-flaky/import/import-server-files-operations.spec.js +1 -1
  5. package/e2e-flaky/import/import-user-data-batch-operations.spec.js +1 -1
  6. package/e2e-flaky/setup/sparql-template-create.js +3 -18
  7. package/e2e-flaky/sparql-editor/actions/execute-update-query.spec.js +2 -12
  8. package/e2e-flaky/sparql-editor/actions/share-query.spec.js +1 -7
  9. package/e2e-flaky/sparql-editor/yasr/table-plugin.spec.js +1 -6
  10. package/e2e-legacy/explore/visual-graph/visual-graph-links-limit.spec.js +140 -0
  11. package/e2e-legacy/explore/visual-graph/visual.graph.spec.js +57 -85
  12. package/e2e-legacy/guides/execute-sparql-query/execute-sparql-query-guide.spec.js +92 -0
  13. package/e2e-legacy/guides/import-rdf-file/confirm-duplicate-rdf-file.spec.js +63 -0
  14. package/e2e-legacy/guides/import-rdf-file/import-rdf-file.spec.js +105 -0
  15. package/e2e-legacy/guides/navigation/navigation-guide.spec.js +64 -0
  16. package/e2e-legacy/guides/rdf-rank/rdf-rank-guide.spec.js +42 -0
  17. package/e2e-legacy/guides/table-graph-explore/table-graph-explore-guide.spec.js +167 -0
  18. package/e2e-legacy/guides/ttyg/edit-agent/edit-ttyg-agent-guide.spec.js +2 -2
  19. package/e2e-legacy/guides/visual-graph/visual-graph-guide.spec.js +372 -0
  20. package/e2e-legacy/guides/welcome/welcome-guide.spec.js +36 -0
  21. package/e2e-legacy/help/guides/guides-autostart.spec.js +36 -3
  22. package/e2e-legacy/help/guides/guides-confirm-cancel-dialog.js +83 -0
  23. package/e2e-legacy/help/guides/movies-interactive-guide.spec.js +47 -49
  24. package/e2e-legacy/repository/url-with-repository-id-parameter.spec.js +1 -0
  25. package/e2e-legacy/resource/resource.spec.js +1 -6
  26. package/e2e-legacy/setup/aclmanagement/create-rule.spec.js +3 -0
  27. package/e2e-legacy/setup/connectors-lucene.spec.js +24 -8
  28. package/e2e-legacy/sparql-editor/actions/expand-results-over-sameas.spec.js +1 -1
  29. package/e2e-legacy/sparql-editor/actions/show-saved-queries.spec.js +1 -6
  30. package/e2e-legacy/sparql-editor/yasgui-tabs.spec.js +2 -12
  31. package/e2e-legacy/sparql-editor/yasr/pagination.spec.js +5 -18
  32. package/e2e-legacy/sparql-editor/yasr/table-plugin.spec.js +1 -6
  33. package/e2e-legacy/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +1 -6
  34. package/e2e-legacy/sparql-editor/yasr/yasr.spec.js +80 -0
  35. package/e2e-legacy/ttyg/chat-list.spec.js +2 -12
  36. package/e2e-legacy/ttyg/create-agent.spec.js +8 -48
  37. package/e2e-legacy/ttyg/edit-agent.spec.js +2 -12
  38. package/e2e-security/setup/users-and-access/turn-on-security-and-password-change.spec.js +73 -61
  39. package/fixtures/guides/confirm-cancel-dialog/confirm-cancel-dialog-guide.json +15 -0
  40. package/fixtures/guides/execute-sparql-query/execute-sparql-query-guide.json +54 -0
  41. package/fixtures/guides/import-rdf-file/confirm-duplicate-rdf-file-guide.json +30 -0
  42. package/fixtures/guides/import-rdf-file/import-rdf-file-guide.json +21 -0
  43. package/fixtures/guides/navigation/navigation-guide.json +60 -0
  44. package/fixtures/guides/rdf-rank/rdf-rank-guide.json +18 -0
  45. package/fixtures/guides/table-graph-explore/table-graph-explore-guide.json +51 -0
  46. package/fixtures/guides/table-graph-explore/table-graph-explore-without-substeps-guide.json +25 -0
  47. package/fixtures/guides/visual-graph/visual-graph-config-guide.json +39 -0
  48. package/fixtures/guides/visual-graph/visual-graph-guide.json +85 -0
  49. package/fixtures/guides/welcome/welcome-guide.json +18 -0
  50. package/npm-shrinkwrap.json +329 -276
  51. package/package.json +1 -1
  52. package/steps/guides/guide-dialog-steps.js +60 -2
  53. package/steps/main-menu-steps.js +1 -0
  54. package/steps/setup/acl-management-steps.js +4 -0
  55. package/steps/sparql-editor-steps.js +5 -4
  56. package/steps/sparql-steps.js +13 -1
  57. package/steps/visual-graph-steps.js +76 -2
  58. package/steps/yasgui/yasqe-steps.js +29 -4
  59. package/steps/yasgui/yasr-steps.js +27 -1
  60. package/stubs/guides/guides-stubs.js +41 -1
@@ -3,7 +3,7 @@ import {MoviesGuideSteps} from "../../../steps/guides/movies-guide-steps";
3
3
 
4
4
  const MOVIES_FILE_FOR_IMPORT = 'movies.ttl';
5
5
 
6
- describe('Interactive guides', () => {
6
+ describe('Describes "Movies" interactive guide', () => {
7
7
 
8
8
  let repositoryId;
9
9
 
@@ -20,54 +20,52 @@ describe('Interactive guides', () => {
20
20
  cy.deleteRepository(repositoryId);
21
21
  });
22
22
 
23
- context('Describes "Movies" interactive guide', () => {
24
- it('Tests movies interactive guide using "Next" button to the end', () => {
25
- const stepAssertions = [
26
- {assert: MoviesGuideSteps.assertExploreClassHierarchyStep1},
27
- {assert: MoviesGuideSteps.assertExploreClassHierarchyStep2},
28
- {assert: MoviesGuideSteps.assertExploreClassHierarchyStep3},
29
- {assert: MoviesGuideSteps.assertExploreClassHierarchyStep4},
30
- {assert: MoviesGuideSteps.assertExploreClassHierarchyStep5},
31
- {assert: MoviesGuideSteps.assertExploreClassHierarchyStep6},
32
- {assert: MoviesGuideSteps.assertExploreClassHierarchyStep7},
33
- {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep1},
34
- {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep2},
35
- {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep3},
36
- {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep4},
37
- {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep5},
38
- // Forces the click because results are to many and dialog is not visible into the test.
39
- {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep6, forceButtonClick: true},
40
- {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep7, forceButtonClick: true},
41
- {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep8},
42
- {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep1},
43
- {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep2},
44
- {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep3},
45
- {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep4},
46
- {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep5},
47
- {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep6},
48
- {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep7},
49
- {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep8, forceButtonClick: true},
50
- {assert: MoviesGuideSteps.assertExploreRDFStep1, forceButtonClick: true},
51
- {assert: MoviesGuideSteps.assertExploreRDFStep2},
52
- {assert: MoviesGuideSteps.assertExploreRDFStep3},
53
- {assert: MoviesGuideSteps.assertExploreRDFStep4},
54
- {assert: MoviesGuideSteps.assertExploreRDFStep5},
55
- {assert: MoviesGuideSteps.assertExploreRDFStep6},
56
- {assert: MoviesGuideSteps.assertExploreRDFStep7},
57
- {assert: MoviesGuideSteps.assertExploreRDFStep8},
58
- {assert: MoviesGuideSteps.assertExploreRDFStep9},
59
- {assert: MoviesGuideSteps.assertExploreRDFStep10},
60
- {assert: MoviesGuideSteps.assertSparqlQueryStep1},
61
- {assert: MoviesGuideSteps.assertSparqlQueryStep2},
62
- {assert: MoviesGuideSteps.assertSparqlQueryStep3},
63
- {assert: MoviesGuideSteps.assertSparqlQueryStep4},
64
- {assert: MoviesGuideSteps.assertSparqlQueryStep5},
65
- {assert: MoviesGuideSteps.assertSparqlQueryStep6},
66
- {assert: MoviesGuideSteps.assertSparqlQueryStep7}
67
- ];
23
+ it('Tests movies interactive guide using "Next" button to the end', () => {
24
+ const stepAssertions = [
25
+ {assert: MoviesGuideSteps.assertExploreClassHierarchyStep1},
26
+ {assert: MoviesGuideSteps.assertExploreClassHierarchyStep2},
27
+ {assert: MoviesGuideSteps.assertExploreClassHierarchyStep3},
28
+ {assert: MoviesGuideSteps.assertExploreClassHierarchyStep4},
29
+ {assert: MoviesGuideSteps.assertExploreClassHierarchyStep5},
30
+ {assert: MoviesGuideSteps.assertExploreClassHierarchyStep6},
31
+ {assert: MoviesGuideSteps.assertExploreClassHierarchyStep7},
32
+ {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep1},
33
+ {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep2},
34
+ {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep3},
35
+ {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep4},
36
+ {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep5},
37
+ // Forces the click because results are to many and dialog is not visible into the test.
38
+ {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep6, forceButtonClick: true},
39
+ {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep7, forceButtonClick: true},
40
+ {assert: MoviesGuideSteps.assertClassHierarchyInstancesStep8},
41
+ {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep1},
42
+ {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep2},
43
+ {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep3},
44
+ {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep4},
45
+ {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep5},
46
+ {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep6},
47
+ {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep7},
48
+ {assert: MoviesGuideSteps.assertExecuteSparqlQueryStep8, forceButtonClick: true},
49
+ {assert: MoviesGuideSteps.assertExploreRDFStep1, forceButtonClick: true},
50
+ {assert: MoviesGuideSteps.assertExploreRDFStep2},
51
+ {assert: MoviesGuideSteps.assertExploreRDFStep3},
52
+ {assert: MoviesGuideSteps.assertExploreRDFStep4},
53
+ {assert: MoviesGuideSteps.assertExploreRDFStep5},
54
+ {assert: MoviesGuideSteps.assertExploreRDFStep6},
55
+ {assert: MoviesGuideSteps.assertExploreRDFStep7},
56
+ {assert: MoviesGuideSteps.assertExploreRDFStep8},
57
+ {assert: MoviesGuideSteps.assertExploreRDFStep9},
58
+ {assert: MoviesGuideSteps.assertExploreRDFStep10},
59
+ {assert: MoviesGuideSteps.assertSparqlQueryStep1},
60
+ {assert: MoviesGuideSteps.assertSparqlQueryStep2},
61
+ {assert: MoviesGuideSteps.assertSparqlQueryStep3},
62
+ {assert: MoviesGuideSteps.assertSparqlQueryStep4},
63
+ {assert: MoviesGuideSteps.assertSparqlQueryStep5},
64
+ {assert: MoviesGuideSteps.assertSparqlQueryStep6},
65
+ {assert: MoviesGuideSteps.assertSparqlQueryStep7}
66
+ ];
68
67
 
69
- const guideName = '3 The Movies database guide';
70
- GuideSteps.runGuideTest(guideName, repositoryId, MOVIES_FILE_FOR_IMPORT, stepAssertions);
71
- });
68
+ const guideName = '3 The Movies database guide';
69
+ GuideSteps.runGuideTest(guideName, repositoryId, MOVIES_FILE_FOR_IMPORT, stepAssertions);
72
70
  });
73
71
  });
@@ -159,6 +159,7 @@ describe('URL with Repository ID parameter', () => {
159
159
  beforeEach(() => {
160
160
  repositoryId = 'repository-in-url-' + Date.now();
161
161
  cy.createRepository({id: repositoryId});
162
+ cy.initializeRepository(repositoryId);
162
163
  cy.presetRepository(repositoryId);
163
164
  })
164
165
 
@@ -323,12 +323,7 @@ describe('Resource view', () => {
323
323
  });
324
324
 
325
325
  context('Triple resource', () => {
326
- it('should show triple resource', {
327
- retries: {
328
- runMode: 1,
329
- openMode: 0
330
- }
331
- }, () => {
326
+ it('should show triple resource', () => {
332
327
  // When I visit resource view with triple resource.
333
328
  ResourceSteps.visit(`triple=${TRIPLE_RESOURCE}&role=subject`);
334
329
 
@@ -260,6 +260,9 @@ describe('ACL Management: create rule', () => {
260
260
  // Then I expect the prefix warning to appear
261
261
  AclManagementSteps.getPrefixWarning(0).should('be.visible');
262
262
  AclManagementSteps.getPrefixWarning(0).should('contain.text', 'Custom roles should be entered without the "CUSTOM_" prefix in Workbench');
263
+ // When I blur the field, the warning should not be visible
264
+ AclManagementSteps.blurRole(0);
265
+ AclManagementSteps.getPrefixWarning(0).should('not.exist');
263
266
  // When I save the rule
264
267
  AclManagementSteps.saveRule(0);
265
268
  // Then the text should be how the user typed it
@@ -33,14 +33,10 @@ describe('Setup / Connectors - Lucene', () => {
33
33
  getCreateLuceneConnectorPage()
34
34
  .should('contain', 'Create new Lucene Connector')
35
35
  .within(() => {
36
- getConnectorNameField()
37
- .type(luceneConnectorName);
38
- getFieldNameField()
39
- .type(fieldName, {force: true});
40
- getPropertyChainField()
41
- .type(connectorPropertyChain, {force: true});
42
- getUriTypes()
43
- .type(uriType);
36
+ typeConnectorName(luceneConnectorName);
37
+ typeFieldName(fieldName);
38
+ typePropertyChain(connectorPropertyChain);
39
+ typeUriTypes(uriType);
44
40
  confirmCreateConnector();
45
41
  });
46
42
 
@@ -88,18 +84,38 @@ describe('Setup / Connectors - Lucene', () => {
88
84
  return cy.get('.connector-name-field input');
89
85
  }
90
86
 
87
+ function typeConnectorName(name) {
88
+ getConnectorNameField().type(name);
89
+ getConnectorNameField().blur();
90
+ }
91
+
91
92
  function getFieldNameField() {
92
93
  return cy.get('.child-property-fieldName input');
93
94
  }
94
95
 
96
+ function typeFieldName(name) {
97
+ getFieldNameField().type(name);
98
+ getFieldNameField().blur();
99
+ }
100
+
95
101
  function getPropertyChainField() {
96
102
  return cy.get('.child-property-propertyChain input');
97
103
  }
98
104
 
105
+ function typePropertyChain(chain) {
106
+ getPropertyChainField().type(chain);
107
+ getPropertyChainField().blur();
108
+ }
109
+
99
110
  function getUriTypes() {
100
111
  return cy.get('.property-types input');
101
112
  }
102
113
 
114
+ function typeUriTypes(types) {
115
+ getUriTypes().type(types);
116
+ getUriTypes().blur();
117
+ }
118
+
103
119
  function confirmCreateConnector() {
104
120
  cy.get('.create-connector-btn')
105
121
  .scrollIntoView()
@@ -71,7 +71,7 @@ describe('Expand results over owl:sameAs', () => {
71
71
  YasqeSteps.getActionButtonTooltip(4).should('have.attr', 'yasgui-data-tooltip', 'Expand results over owl:sameAs: ON');
72
72
  });
73
73
 
74
- it('should not be enabled when infer is true and sameAs is false in user settings', {retries: {runMode: 2}},() => {
74
+ it('should not be enabled when infer is true and sameAs is false in user settings',() => {
75
75
  QueryStubs.stubInferAndSameAsDefaults(true, false);
76
76
 
77
77
  // When I visit a page with "ontotext-yasgui-web-component" in it.
@@ -30,12 +30,7 @@ describe('Show saved queries', () => {
30
30
  SavedQueriesDialog.getSavedQueries().should('have.length.gt', 0);
31
31
  });
32
32
 
33
- it('Should be able to select a query from the list', {
34
- retries: {
35
- runMode: 1,
36
- openMode: 0
37
- }
38
- }, () => {
33
+ it('Should be able to select a query from the list',() => {
39
34
  // Given I have opened the saved queries popup
40
35
  YasguiSteps.showSavedQueries();
41
36
  SavedQueriesDialog.getSavedQueriesPopup().should('be.visible');
@@ -46,12 +46,7 @@ describe('Yasgui tabs', () => {
46
46
  YasguiSteps.getCurrentTabTitle().should('have.text', 'Unnamed');
47
47
  });
48
48
 
49
- it('Should ask for confirmation on tab close through tab context menu', {
50
- retries: {
51
- runMode: 1,
52
- openMode: 0
53
- }
54
- }, () => {
49
+ it('Should ask for confirmation on tab close through tab context menu', () => {
55
50
  // Given I have opened yasgui with a single opened tab
56
51
  SparqlEditorSteps.visitSparqlEditorPage();
57
52
  // And I have created a second tab
@@ -68,12 +63,7 @@ describe('Yasgui tabs', () => {
68
63
  YasguiSteps.getCurrentTabTitle().should('have.text', 'Unnamed');
69
64
  });
70
65
 
71
- it('Should ask for confirmation on close other tabs action', {
72
- retries: {
73
- runMode: 1,
74
- openMode: 0
75
- }
76
- }, () => {
66
+ it('Should ask for confirmation on close other tabs action',() => {
77
67
  // Given I have opened yasgui with a single opened tab
78
68
  SparqlEditorSteps.visitSparqlEditorPage();
79
69
  // And I have created more tabs
@@ -39,18 +39,14 @@ describe('Yasr result pagination', () => {
39
39
  YasrSteps.getPagination().should('not.be.visible');
40
40
  });
41
41
 
42
- it('should not be visible when results of query are less than configured page size', {
43
- retries: {
44
- runMode: 1,
45
- openMode: 0
46
- }
47
- }, () => {
42
+ it('should not be visible when results of query are less than configured page size', () => {
48
43
  // When I visit a page with "ontotext-yasgui" component in it,
49
44
  // and execute a query which returns results less than page size.
50
45
  const queryDescription = new QueryStubDescription()
51
46
  .setRepositoryId(repositoryId)
52
47
  .setTotalElements(3);
53
48
  QueryStubs.stubQueryResults(queryDescription);
49
+ YasqeSteps.getExecuteQueryButton().should('be.visible');
54
50
  YasqeSteps.executeQuery();
55
51
 
56
52
  // Then I expect pagination to not be visible
@@ -61,6 +57,7 @@ describe('Yasr result pagination', () => {
61
57
  .setRepositoryId(repositoryId)
62
58
  .setTotalElements(1000);
63
59
  QueryStubs.stubQueryResults(queryDescription);
60
+ YasqeSteps.getExecuteQueryButton().should('be.visible');
64
61
  YasqeSteps.executeQuery();
65
62
 
66
63
  // Then I expect pagination to not be visible
@@ -110,12 +107,7 @@ describe('Yasr result pagination', () => {
110
107
  YasrSteps.getResultLink(0, 2).should('have.text', 'ontogen:page_2-row_1-column_2');
111
108
  });
112
109
 
113
- it('should change page when clink on next or previous page button', {
114
- retries: {
115
- runMode: 1,
116
- openMode: 0
117
- }
118
- }, () => {
110
+ it('should change page when clink on next or previous page button', () => {
119
111
  // When I visit a page with "ontotext-yasgui" component in it,
120
112
  // and execute a query which returns results more than page size.
121
113
  const queryDescription = new QueryStubDescription()
@@ -151,12 +143,7 @@ describe('Yasr result pagination', () => {
151
143
  YasrSteps.getResultLink(0, 2).should('have.text', 'ontogen:page_1-row_1-column_2');
152
144
  });
153
145
 
154
- it('should should render pages in pager properly', {
155
- retries: {
156
- runMode: 1,
157
- openMode: 1
158
- }
159
- }, () => {
146
+ it('should should render pages in pager properly', () => {
160
147
  // When I visit a page with "ontotext-yasgui" component in it,
161
148
  // and execute a query which results are on 6 pages.
162
149
  const queryDescription = new QueryStubDescription()
@@ -21,12 +21,7 @@ describe('Yasr Table plugin', () => {
21
21
 
22
22
  describe('Results formatting', () => {
23
23
 
24
- it('Should format all resources as short uris when results are of type uri', {
25
- retries: {
26
- runMode: 1,
27
- openMode: 0
28
- }
29
- }, () => {
24
+ it('Should format all resources as short uris when results are of type uri', () => {
30
25
  // When I execute a query which return results and results type is uri.
31
26
  QueryStubs.stubDefaultQueryResponse();
32
27
  YasqeSteps.executeQuery();
@@ -19,12 +19,7 @@ describe('Visual graph button when user execute a CONSTRUCT query', () => {
19
19
  cy.deleteRepository(repositoryId);
20
20
  });
21
21
 
22
- it('Should display a "Visual" graph button configured by user', {
23
- retries: {
24
- runMode: 1,
25
- openMode: 0
26
- }
27
- }, () => {
22
+ it('Should display a "Visual" graph button configured by user', () => {
28
23
  // When I visit a page with "ontotext-yasgui-web-component" on it,
29
24
  // and select a CONSTRUCT query.
30
25
  YasqeSteps.executeQuery();
@@ -0,0 +1,80 @@
1
+ import {SparqlEditorSteps} from '../../../steps/sparql-editor-steps.js';
2
+ import {YasrSteps} from '../../../steps/yasgui/yasr-steps.js';
3
+ import {YasqeSteps} from '../../../steps/yasgui/yasqe-steps.js';
4
+
5
+ describe('YASR', () => {
6
+ let repositoryId;
7
+ let secondRepositoryId;
8
+
9
+ beforeEach(() => {
10
+ repositoryId = 'yasr-' + Date.now();
11
+ cy.createRepository({id: repositoryId});
12
+ cy.presetRepository(repositoryId);
13
+ });
14
+
15
+ afterEach(() => {
16
+ cy.deleteRepository(repositoryId);
17
+ cy.deleteRepository(secondRepositoryId);
18
+ });
19
+
20
+ it('should load YASR in fullscreen with plugin config from URL', () => {
21
+ // WHEN: I visit SPARQL Query & Update page with url parameters: embedded and pluginName
22
+ SparqlEditorSteps.visitSparqlEditorPageAndWaitForEditor(getUrl(repositoryId, 'pivotTable', true));
23
+ // THEN: YASR is in fullscreen mode because the workbench is embedded.
24
+ YasrSteps.getYasr().should('have.class', 'yasr-fullscreen');
25
+ // AND: I expect the raw response plugin to be visible
26
+ YasrSteps.getPivotTablePlugin().should('be.visible');
27
+
28
+ // WHEN: I press the ESC key.
29
+ YasrSteps.typeEscapeKey();
30
+ // THEN: I see YASR results in fullscreen mode because Escape is disabled in this mode.
31
+ YasrSteps.getYasr().should('have.class', 'yasr-fullscreen');
32
+
33
+ // WHEN: I visit SPARQL Query & Update page with without embedded url parameter.
34
+ SparqlEditorSteps.visitSparqlEditorPageAndWaitForEditor(getUrl(repositoryId, 'googleChart'));
35
+ // THEN: I expect yasr to be in non-fullscreen mode
36
+ YasrSteps.getYasr().should('not.have.class', 'yasr-fullscreen');
37
+ // AND: I expect Google Chart plugin to be visible
38
+ YasrSteps.getGoogleChartPlugin().should('be.visible');
39
+
40
+ // WHEN: I visit SPARQL Query & Update page with without embedded and pluginName url parameters.
41
+ SparqlEditorSteps.visitSparqlEditorPageAndWaitForEditor(getUrl(repositoryId));
42
+ // THEN: I expect yasr to be in non-fullscreen mode
43
+ YasrSteps.getYasr().should('not.have.class', 'yasr-fullscreen');
44
+ // AND: I expect Google Chart plugin to be visible, because it was the last used plugin.
45
+ YasrSteps.getGoogleChartPlugin().should('be.visible');
46
+
47
+ // WHEN: I visit SPARQL Query & Update page with without embedded and pluginName url parameters.
48
+ // AND: There are no persisted yasr data.
49
+ cy.clearLocalStorage('yagui__graphdb-workbench-sparql-editor');
50
+ SparqlEditorSteps.visitSparqlEditorPageAndWaitForEditor(getUrl(repositoryId));
51
+ // THEN: I expect yasr to be in non-fullscreen mode
52
+ YasrSteps.getYasr().should('not.have.class', 'yasr-fullscreen');
53
+ // AND: I expect the default plugin to be visible
54
+ YasrSteps.getExtendedTablePlugin().should('be.visible');
55
+ });
56
+
57
+ it('should trigger YASR fullscreen mode', () => {
58
+ // GIVEN: I open a page that contains "ontotext-yasgui-web-component".
59
+ SparqlEditorSteps.visitSparqlEditorPage();
60
+
61
+ // WHEN: I execute a query.
62
+ YasqeSteps.executeQuery();
63
+ // THEN: I should see YASR results in non-fullscreen mode.
64
+ YasrSteps.getYasr().should('not.have.class', 'yasr-fullscreen');
65
+
66
+ // WHEN: I toggle to fullscreen mode.
67
+ YasrSteps.toggleFullscreen();
68
+ // THEN: I should see YASR results in fullscreen mode.
69
+ YasrSteps.getYasr().should('have.class', 'yasr-fullscreen');
70
+
71
+ // WHEN: I press the ESC key.
72
+ YasrSteps.typeEscapeKey();
73
+ // THEN: I should see YASR results in non-fullscreen mode, because escape is enabled when workbench is not embedded.
74
+ YasrSteps.getYasr().should('not.have.class', 'yasr-fullscreen');
75
+ });
76
+ });
77
+
78
+ const getUrl = (repositoryId, pluginName, embedded = false) => {
79
+ return `repositoryId=${repositoryId}${pluginName ? ('&pluginName=' + pluginName) : ''}${embedded ? '&embedded' : ''}&query=SELECT * { ?s ?p ?o }&execute=true`;
80
+ }
@@ -61,12 +61,7 @@ describe('TTYG chat list', () => {
61
61
  TTYGViewSteps.getChatByDayGroups().should('have.length', 0);
62
62
  });
63
63
 
64
- it('Should be able to edit an existing chat name by double click on the chat in the list', {
65
- retries: {
66
- runMode: 1,
67
- openMode: 0
68
- }
69
- }, () => {
64
+ it('Should be able to edit an existing chat name by double click on the chat in the list', () => {
70
65
  TTYGStubs.stubChatsListGet();
71
66
  TTYGStubs.stubChatGet();
72
67
  TTYGStubs.stubAgentListGet();
@@ -90,12 +85,7 @@ describe('TTYG chat list', () => {
90
85
  TTYGViewSteps.getChatFromGroup(1, 0).should('contain', 'New chat name');
91
86
  });
92
87
 
93
- it('Should be able to edit an existing chat name through the action menu', {
94
- retries: {
95
- runMode: 1,
96
- openMode: 0
97
- }
98
- }, () => {
88
+ it('Should be able to edit an existing chat name through the action menu', () => {
99
89
  TTYGStubs.stubChatsListGet();
100
90
  TTYGStubs.stubChatGet();
101
91
  TTYGStubs.stubAgentListGet();
@@ -17,12 +17,7 @@ describe('TTYG create new agent', () => {
17
17
  TTYGStubs.stubAgentDefaultsGet();
18
18
  });
19
19
 
20
- it('Should be able to cancel the new agent creation on the no agents view', {
21
- retries: {
22
- runMode: 1,
23
- openMode: 0
24
- }
25
- }, () => {
20
+ it('Should be able to cancel the new agent creation on the no agents view', () => {
26
21
  TTYGStubs.stubChatsListGetNoResults();
27
22
  TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
28
23
  // Given I have opened the ttyg page
@@ -38,12 +33,7 @@ describe('TTYG create new agent', () => {
38
33
  TTYGViewSteps.getNoAgentsView().should('be.visible');
39
34
  });
40
35
 
41
- it('Should be able to create a new agent with SPARQL extraction method on the no agents view', {
42
- retries: {
43
- runMode: 1,
44
- openMode: 0
45
- }
46
- }, () => {
36
+ it('Should be able to create a new agent with SPARQL extraction method on the no agents view', () => {
47
37
  TTYGStubs.stubChatsListGetNoResults();
48
38
  TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json', 1000);
49
39
  // Given I have opened the ttyg page
@@ -182,12 +172,7 @@ describe('TTYG create new agent', () => {
182
172
  TTYGViewSteps.getAgent(0).should('contain', 'Test Agent').and('contain', 'starwars');
183
173
  });
184
174
 
185
- it('Should require FTS to be enabled for selected repository when creating agent with FTS extraction method', {
186
- retries: {
187
- runMode: 1,
188
- openMode: 0
189
- }
190
- }, () => {
175
+ it('Should require FTS to be enabled for selected repository when creating agent with FTS extraction method', () => {
191
176
  RepositoriesStubs.stubGetRepositoryConfig(repositoryId, '/repositories/get-repository-config-starwars-disabled-fts.json');
192
177
  TTYGStubs.stubChatsListGetNoResults();
193
178
  TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
@@ -204,12 +189,7 @@ describe('TTYG create new agent', () => {
204
189
  TtygAgentSettingsModalSteps.getFtsDisabledHelp().should('be.visible');
205
190
  });
206
191
 
207
- it('Should be able to create agent with FTS extraction method', {
208
- retries: {
209
- runMode: 1,
210
- openMode: 0
211
- }
212
- }, () => {
192
+ it('Should be able to create agent with FTS extraction method', () => {
213
193
  RepositoriesStubs.stubGetRepositoryConfig(repositoryId, '/repositories/get-repository-config-starwars-enabled-fts.json');
214
194
  TTYGStubs.stubChatsListGetNoResults();
215
195
  TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
@@ -245,12 +225,7 @@ describe('TTYG create new agent', () => {
245
225
  TTYGViewSteps.getAgent(0).should('contain', 'Test Agent').and('contain', 'starwars');
246
226
  });
247
227
 
248
- it('Should require similarity index in order to create agent with similarity search method', {
249
- retries: {
250
- runMode: 1,
251
- openMode: 0
252
- }
253
- }, () => {
228
+ it('Should require similarity index in order to create agent with similarity search method', () => {
254
229
  TTYGStubs.stubChatsListGetNoResults();
255
230
  TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
256
231
  TTYGStubs.getSimilarityIndexesForRepo();
@@ -268,12 +243,7 @@ describe('TTYG create new agent', () => {
268
243
  TtygAgentSettingsModalSteps.getSaveAgentButton().should('be.disabled');
269
244
  });
270
245
 
271
- it('Should be able to configure and create agent with similarity index search method', {
272
- retries: {
273
- runMode: 1,
274
- openMode: 0
275
- }
276
- }, () => {
246
+ it('Should be able to configure and create agent with similarity index search method', () => {
277
247
  TTYGStubs.stubChatsListGetNoResults();
278
248
  TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
279
249
  TTYGStubs.getSimilarityIndexesForRepo(repositoryId);
@@ -316,12 +286,7 @@ describe('TTYG create new agent', () => {
316
286
  TTYGViewSteps.getAgent(0).should('contain', 'Test Agent').and('contain', 'starwars');
317
287
  });
318
288
 
319
- it('Should require retrieval connector in order to create an agent with GPT retrieval connector method', {
320
- retries: {
321
- runMode: 1,
322
- openMode: 0
323
- }
324
- }, () => {
289
+ it('Should require retrieval connector in order to create an agent with GPT retrieval connector method', () => {
325
290
  TTYGStubs.stubChatsListGetNoResults();
326
291
  TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
327
292
  ConnectorStubs.stubGetConnectors();
@@ -343,12 +308,7 @@ describe('TTYG create new agent', () => {
343
308
  TtygAgentSettingsModalSteps.getSaveAgentButton().should('be.disabled');
344
309
  });
345
310
 
346
- it('Should be able to configure and create an agent with retrieval connector method', {
347
- retries: {
348
- runMode: 1,
349
- openMode: 0
350
- }
351
- }, () => {
311
+ it('Should be able to configure and create an agent with retrieval connector method', () => {
352
312
  TTYGStubs.stubChatsListGetNoResults();
353
313
  TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-0.json');
354
314
  ConnectorStubs.stubGetConnectors();
@@ -17,12 +17,7 @@ describe('TTYG edit an agent', () => {
17
17
  TTYGStubs.stubAgentDefaultsGet();
18
18
  });
19
19
 
20
- it(' should be able to edit an agent.', {
21
- retries: {
22
- runMode: 1,
23
- openMode: 0
24
- }
25
- }, () => {
20
+ it(' should be able to edit an agent.', () => {
26
21
  TTYGStubs.stubChatsListGet();
27
22
  TTYGStubs.stubAgentListGet();
28
23
  TTYGStubs.stubChatGet();
@@ -67,12 +62,7 @@ describe('TTYG edit an agent', () => {
67
62
  TtygAgentSettingsModalSteps.getSaveAgentButton().should('be.disabled');
68
63
  });
69
64
 
70
- it('should be able to edit Autocomplete extraction method option', {
71
- retries: {
72
- runMode: 1,
73
- openMode: 0
74
- }
75
- }, () => {
65
+ it('should be able to edit Autocomplete extraction method option', () => {
76
66
  TTYGStubs.stubAgentListGet('/ttyg/agent/get-agent-list-autocomplete-query.json');
77
67
  // Given I have opened the ttyg page
78
68
  TTYGViewSteps.visit();