graphdb-workbench-tests 3.3.3-TR1 → 3.4.0-migrated-guide-services
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cypress-flaky.config.js +2 -0
- package/cypress-legacy.config.js +2 -2
- package/cypress-security.config.js +3 -14
- package/e2e-flaky/import/import-server-files-operations.spec.js +1 -1
- package/e2e-flaky/import/import-user-data-batch-operations.spec.js +1 -1
- package/e2e-flaky/setup/sparql-template-create.js +3 -18
- package/e2e-flaky/sparql-editor/actions/execute-update-query.spec.js +2 -12
- package/e2e-flaky/sparql-editor/actions/share-query.spec.js +1 -7
- package/e2e-flaky/sparql-editor/yasr/table-plugin.spec.js +1 -6
- package/e2e-legacy/explore/visual-graph/visual.graph.spec.js +2 -7
- package/e2e-legacy/guides/execute-sparql-query/execute-sparql-query-guide.spec.js +92 -0
- package/e2e-legacy/guides/import-rdf-file/confirm-duplicate-rdf-file.spec.js +63 -0
- package/e2e-legacy/guides/import-rdf-file/import-rdf-file.spec.js +105 -0
- package/e2e-legacy/guides/navigation/navigation-guide.spec.js +64 -0
- package/e2e-legacy/guides/rdf-rank/rdf-rank-guide.spec.js +42 -0
- package/e2e-legacy/guides/table-graph-explore/table-graph-explore-guide.spec.js +167 -0
- package/e2e-legacy/guides/ttyg/edit-agent/edit-ttyg-agent-guide.spec.js +2 -2
- package/e2e-legacy/guides/visual-graph/visual-graph-guide.spec.js +388 -0
- package/e2e-legacy/guides/welcome/welcome-guide.spec.js +36 -0
- package/e2e-legacy/help/guides/guides-autostart.spec.js +36 -3
- package/e2e-legacy/help/guides/guides-confirm-cancel-dialog.js +83 -0
- package/e2e-legacy/help/guides/movies-interactive-guide.spec.js +47 -49
- package/e2e-legacy/repository/url-with-repository-id-parameter.spec.js +1 -0
- package/e2e-legacy/resource/resource.spec.js +1 -6
- package/e2e-legacy/setup/aclmanagement/create-rule.spec.js +3 -0
- package/e2e-legacy/setup/connectors-lucene.spec.js +24 -8
- package/e2e-legacy/sparql-editor/actions/expand-results-over-sameas.spec.js +1 -1
- package/e2e-legacy/sparql-editor/actions/show-saved-queries.spec.js +1 -6
- package/e2e-legacy/sparql-editor/yasgui-tabs.spec.js +2 -12
- package/e2e-legacy/sparql-editor/yasr/pagination.spec.js +5 -18
- package/e2e-legacy/sparql-editor/yasr/table-plugin.spec.js +1 -6
- package/e2e-legacy/sparql-editor/yasr/toolbar/visual-graph-button.spec.js +1 -6
- package/e2e-legacy/ttyg/chat-list.spec.js +2 -12
- package/e2e-legacy/ttyg/create-agent.spec.js +8 -48
- package/e2e-legacy/ttyg/edit-agent.spec.js +2 -12
- package/e2e-security/setup/users-and-access/turn-on-security-and-password-change.spec.js +73 -61
- package/fixtures/guides/confirm-cancel-dialog/confirm-cancel-dialog-guide.json +15 -0
- package/fixtures/guides/execute-sparql-query/execute-sparql-query-guide.json +54 -0
- package/fixtures/guides/import-rdf-file/confirm-duplicate-rdf-file-guide.json +30 -0
- package/fixtures/guides/import-rdf-file/import-rdf-file-guide.json +21 -0
- package/fixtures/guides/navigation/navigation-guide.json +60 -0
- package/fixtures/guides/rdf-rank/rdf-rank-guide.json +18 -0
- package/fixtures/guides/table-graph-explore/table-graph-explore-guide.json +51 -0
- package/fixtures/guides/table-graph-explore/table-graph-explore-without-substeps-guide.json +25 -0
- package/fixtures/guides/visual-graph/visual-graph-config-guide.json +39 -0
- package/fixtures/guides/visual-graph/visual-graph-guide.json +85 -0
- package/fixtures/guides/welcome/welcome-guide.json +18 -0
- package/npm-shrinkwrap.json +317 -263
- package/package.json +1 -1
- package/steps/guides/guide-dialog-steps.js +60 -2
- package/steps/main-menu-steps.js +1 -0
- package/steps/setup/acl-management-steps.js +4 -0
- package/steps/sparql-steps.js +13 -1
- package/steps/visual-graph-steps.js +72 -2
- package/steps/yasgui/yasqe-steps.js +29 -4
- package/steps/yasgui/yasr-steps.js +4 -0
- package/stubs/guides/guides-stubs.js +41 -1
|
@@ -14,6 +14,39 @@ describe('Guides autostart', () => {
|
|
|
14
14
|
GuideSteps.assertPageNotInteractive();
|
|
15
15
|
GuideDialogSteps.assertDialogWithTitleIsVisible(`Welcome to`);
|
|
16
16
|
});
|
|
17
|
+
|
|
18
|
+
it('should not autostart the guide if it has been completed via autostart before', () => {
|
|
19
|
+
// Given, I visit the home page with autostart guide parameter in URL
|
|
20
|
+
GuideSteps.autostartGuide(guideName);
|
|
21
|
+
// Then, I should see the guide
|
|
22
|
+
GuideSteps.assertPageNotInteractive();
|
|
23
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible(`Welcome to`);
|
|
24
|
+
|
|
25
|
+
// When, I finish the guide
|
|
26
|
+
GuideDialogSteps.clickOnNextButton();
|
|
27
|
+
GuideDialogSteps.clickOnNextButton();
|
|
28
|
+
// skip create repo
|
|
29
|
+
GuideDialogSteps.clickOnSkipButton();
|
|
30
|
+
// skip select repo
|
|
31
|
+
GuideDialogSteps.clickOnSkipButton();
|
|
32
|
+
// skip autocomplete
|
|
33
|
+
GuideDialogSteps.clickOnSkipButton();
|
|
34
|
+
// skip import
|
|
35
|
+
GuideDialogSteps.clickOnSkipButton();
|
|
36
|
+
// skip visual graph
|
|
37
|
+
GuideDialogSteps.clickOnSkipButton();
|
|
38
|
+
// skip sparql
|
|
39
|
+
GuideDialogSteps.clickOnSkipButton();
|
|
40
|
+
// close the dialog, completing the guide
|
|
41
|
+
GuideDialogSteps.clickOnCloseButton();
|
|
42
|
+
|
|
43
|
+
// Then, I should not see the guide anymore. A disabled flag should be set to true in the storage, when the
|
|
44
|
+
// guide is completed via autostart, preventing the guide from autostarting again.
|
|
45
|
+
GuideSteps.autostartGuide(guideName);
|
|
46
|
+
HomeSteps.getTutorialPanel().should('be.visible');
|
|
47
|
+
GuideSteps.getGuidesModal().should('not.exist');
|
|
48
|
+
GuideDialogSteps.getModalDialog().should('not.exist');
|
|
49
|
+
});
|
|
17
50
|
});
|
|
18
51
|
|
|
19
52
|
describe('With security enabled', () => {
|
|
@@ -26,7 +59,7 @@ describe('Guides autostart', () => {
|
|
|
26
59
|
cy.switchOffSecurity(true);
|
|
27
60
|
});
|
|
28
61
|
|
|
29
|
-
|
|
62
|
+
describe('admin', () => {
|
|
30
63
|
it('Should autostart guide with admin', () => {
|
|
31
64
|
// Given, I visit the home page with autostart guide parameter in URL
|
|
32
65
|
GuideSteps.autostartGuide(guideName);
|
|
@@ -38,7 +71,7 @@ describe('Guides autostart', () => {
|
|
|
38
71
|
});
|
|
39
72
|
});
|
|
40
73
|
|
|
41
|
-
|
|
74
|
+
describe('repo manager', () => {
|
|
42
75
|
beforeEach(() => {
|
|
43
76
|
cy.loginAsAdmin();
|
|
44
77
|
cy.createUser({
|
|
@@ -64,7 +97,7 @@ describe('Guides autostart', () => {
|
|
|
64
97
|
});
|
|
65
98
|
});
|
|
66
99
|
|
|
67
|
-
|
|
100
|
+
describe('user', () => {
|
|
68
101
|
beforeEach(() => {
|
|
69
102
|
cy.loginAsAdmin();
|
|
70
103
|
cy.createUser({
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import {GuideSteps} from "../../../steps/guides/guide-steps.js";
|
|
2
|
+
import {GuideDialogSteps} from "../../../steps/guides/guide-dialog-steps.js";
|
|
3
|
+
import {GuidesStubs} from "../../../stubs/guides/guides-stubs.js";
|
|
4
|
+
|
|
5
|
+
describe('Confirm cancel dialog', () => {
|
|
6
|
+
it('Should open confirm cancel dialog', () => {
|
|
7
|
+
GuidesStubs.stubWelcomGuide();
|
|
8
|
+
GuideSteps.visit();
|
|
9
|
+
GuideSteps.verifyGuidesListExists();
|
|
10
|
+
cy.wait('@getGuides');
|
|
11
|
+
|
|
12
|
+
// Given, I start a guide
|
|
13
|
+
GuideSteps.runFirstGuide();
|
|
14
|
+
GuideSteps.assertPageNotInteractive();
|
|
15
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible(`Welcome to`);
|
|
16
|
+
|
|
17
|
+
// When, I try to cancel the guide
|
|
18
|
+
GuideDialogSteps.clickOnCancelButton();
|
|
19
|
+
|
|
20
|
+
// Then, I should see a confirm cancel dialog
|
|
21
|
+
GuideDialogSteps.getConfirmCancelDialog().should('be.visible');
|
|
22
|
+
GuideDialogSteps.getModalDialog().should('not.exist');
|
|
23
|
+
|
|
24
|
+
// When I press the cancel button
|
|
25
|
+
GuideDialogSteps.clickConfirmCancelDialogCancelButton();
|
|
26
|
+
|
|
27
|
+
// Then, I should see the guide dialog again as I didn't cancel it
|
|
28
|
+
GuideDialogSteps.getModalDialog().should('be.visible');
|
|
29
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible(`Welcome to`);
|
|
30
|
+
|
|
31
|
+
// When I press the cancel dialog again
|
|
32
|
+
GuideDialogSteps.clickOnCancelButton();
|
|
33
|
+
GuideDialogSteps.getConfirmCancelDialog().should('be.visible');
|
|
34
|
+
GuideDialogSteps.getModalDialog().should('not.exist');
|
|
35
|
+
|
|
36
|
+
// And click on the close (X) icon button
|
|
37
|
+
GuideDialogSteps.clickOnConfirmCancelDialogCloseButton();
|
|
38
|
+
|
|
39
|
+
// Then, I should see the guide again as I didn't cancel it
|
|
40
|
+
GuideDialogSteps.getModalDialog().should('be.visible');
|
|
41
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible(`Welcome to`);
|
|
42
|
+
|
|
43
|
+
// When I try to cancel it a third time
|
|
44
|
+
GuideDialogSteps.clickOnCancelButton();
|
|
45
|
+
GuideDialogSteps.getConfirmCancelDialog().should('be.visible');
|
|
46
|
+
GuideDialogSteps.getModalDialog().should('not.exist');
|
|
47
|
+
|
|
48
|
+
// And click on exit
|
|
49
|
+
GuideDialogSteps.clickConfirmCancelDialogExitButton();
|
|
50
|
+
|
|
51
|
+
// Then, I should see the guides list and no active guide as I canceled it
|
|
52
|
+
GuideDialogSteps.getModalDialog().should('not.exist');
|
|
53
|
+
GuideDialogSteps.getConfirmCancelDialog().should('not.exist');
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
it('Should disable autostart when don\'t show again is pressed', () => {
|
|
57
|
+
const guideName = 'star-wars';
|
|
58
|
+
// Given, I visit the home page with autostart guide parameter in URL
|
|
59
|
+
GuideSteps.autostartGuide(guideName);
|
|
60
|
+
// Then, I should see the guide
|
|
61
|
+
GuideSteps.assertPageNotInteractive();
|
|
62
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible(`Welcome to`);
|
|
63
|
+
|
|
64
|
+
// When I try to cancel the dialog
|
|
65
|
+
GuideDialogSteps.clickOnCancelButton();
|
|
66
|
+
|
|
67
|
+
// Then, I should see a confirm cancel dialog with "Don't show again" button
|
|
68
|
+
GuideDialogSteps.getConfirmCancelDialog().should('be.visible');
|
|
69
|
+
GuideDialogSteps.getConfirmCancelDialogDontShowAgainButton().should('be.visible');
|
|
70
|
+
|
|
71
|
+
// When I click on the "don't show again" button
|
|
72
|
+
GuideDialogSteps.clickConfirmCancelDialogDontShowAgainButton();
|
|
73
|
+
|
|
74
|
+
// Then, the confirm cancel dialog should be closed and the guide should be canceled
|
|
75
|
+
GuideDialogSteps.getConfirmCancelDialog().should('not.exist');
|
|
76
|
+
|
|
77
|
+
// When I try to autostart it again
|
|
78
|
+
GuideSteps.autostartGuide(guideName);
|
|
79
|
+
// Then, I should not see the guide anymore. A disabled flag should be set to true in the storage,
|
|
80
|
+
// when the guide is completed via autostart, preventing the guide from autostarting again.
|
|
81
|
+
GuideDialogSteps.getModalDialog().should('not.exist');
|
|
82
|
+
});
|
|
83
|
+
});
|
|
@@ -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('
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
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
|
-
|
|
70
|
-
|
|
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
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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',
|
|
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();
|
|
@@ -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();
|