graphdb-workbench-tests 4.0.0-TR2 → 4.0.0-TR4
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/e2e-flaky/import/import-server-files-operations.spec.js +9 -9
- package/e2e-flaky/import/import-user-data-batch-operations.spec.js +7 -7
- package/e2e-flaky/import/import-user-data-url.spec.js +1 -1
- package/e2e-legacy/cluster/cluster-configuration/cluster-configuration-multi-region.spec.js +20 -0
- package/e2e-legacy/guides/import-rdf-file/confirm-duplicate-rdf-file.spec.js +1 -1
- package/e2e-legacy/guides/main-menu/main-menu-guide.spec.js +6 -14
- package/e2e-legacy/guides/ttyg/configure-agent/configure-agent-guide.spec.js +26 -30
- package/e2e-legacy/guides/ttyg/edit-agent/edit-ttyg-agent-guide.spec.js +12 -20
- package/e2e-legacy/import/import-server-files-batch-operations.spec.js +5 -5
- package/e2e-legacy/import/import-server-files.spec.js +23 -23
- package/e2e-legacy/import/import-user-data-file-upload.spec.js +21 -21
- package/e2e-legacy/import/import-user-data-text-snippet.spec.js +8 -8
- package/e2e-legacy/import/import-user-data-url.spec.js +3 -3
- package/e2e-legacy/import/import-view.spec.js +2 -2
- package/e2e-legacy/repository/repositories.spec.js +3 -3
- package/e2e-legacy/setup/users-and-access/user-and-access.spec.js +18 -19
- package/e2e-legacy/sparql-editor/actions/explain-query-plan.spec.js +174 -0
- package/e2e-legacy/ttyg/create-agent.spec.js +6 -4
- package/e2e-legacy/ttyg/edit-agent.spec.js +57 -0
- package/e2e-legacy/ttyg/ttyg-initial-state-with-configured-api-key.spec.js +1 -1
- package/e2e-legacy/ttyg/ttyg-initial-state-with-selected-repository.spec.js +1 -1
- package/e2e-legacy/ttyg/ttyg-initial-state-without-repositories.spec.js +1 -1
- package/fixtures/cluster/3-nodes-cluster-group-status-no-leader.json +41 -0
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/steps/cluster/cluster-configuration-steps.js +4 -0
- package/steps/import/import-steps.js +26 -6
- package/steps/main-menu-steps.js +5 -14
- package/steps/setup/user-and-access-steps.js +18 -14
- package/steps/yasgui/yasqe-steps.js +60 -0
- package/steps/yasgui/yasr-steps.js +15 -0
- package/stubs/cluster/cluster-stubs.js +8 -1
- package/stubs/yasgui/query-stubs.js +19 -0
|
@@ -31,7 +31,7 @@ describe('Import server files - Operations', () => {
|
|
|
31
31
|
ImportServerFilesSteps.importResourceByName(FILE_FOR_IMPORT);
|
|
32
32
|
ImportSettingsDialogSteps.import();
|
|
33
33
|
// Then I should see the file imported successfully
|
|
34
|
-
ImportServerFilesSteps.
|
|
34
|
+
ImportServerFilesSteps.checkImportedResourceByIndex(0, FILE_FOR_IMPORT);
|
|
35
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
36
|
// ImportServerFilesSteps.verifyImportStatusDetails(FILE_FOR_IMPORT, '"preserveBNodeIds": false,');
|
|
37
37
|
});
|
|
@@ -42,7 +42,7 @@ describe('Import server files - Operations', () => {
|
|
|
42
42
|
ImportServerFilesSteps.importResourceByName(FILE_FROM_DIRECTORY_FOR_IMPORT);
|
|
43
43
|
ImportSettingsDialogSteps.import();
|
|
44
44
|
// Then I should see the file imported successfully
|
|
45
|
-
ImportServerFilesSteps.
|
|
45
|
+
ImportServerFilesSteps.checkImportedResourceByIndex(0, FILE_FROM_DIRECTORY_FOR_IMPORT);
|
|
46
46
|
});
|
|
47
47
|
|
|
48
48
|
it('Should import Server files successfully with changing settings', () => {
|
|
@@ -57,7 +57,7 @@ describe('Import server files - Operations', () => {
|
|
|
57
57
|
ImportSettingsDialogSteps.enablePreserveBNodes();
|
|
58
58
|
ImportSettingsDialogSteps.import();
|
|
59
59
|
// Then I should see the file imported successfully
|
|
60
|
-
ImportServerFilesSteps.
|
|
60
|
+
ImportServerFilesSteps.checkImportedResourceByIndex(0, FILE_FOR_IMPORT);
|
|
61
61
|
// ImportSteps.verifyImportStatusDetails(FILE_FOR_IMPORT, [CONTEXT, BASE_URI, '"preserveBNodeIds": true,']);
|
|
62
62
|
});
|
|
63
63
|
|
|
@@ -75,7 +75,7 @@ describe('Import server files - Operations', () => {
|
|
|
75
75
|
ImportSettingsDialogSteps.enablePreserveBNodes();
|
|
76
76
|
ImportSettingsDialogSteps.import();
|
|
77
77
|
// Then I should see the file imported successfully
|
|
78
|
-
ImportServerFilesSteps.
|
|
78
|
+
ImportServerFilesSteps.checkImportedResourceByIndex(0, JSONLD_FILE_FOR_IMPORT);
|
|
79
79
|
// ImportSteps.verifyImportStatusDetails(JSONLD_FILE_FOR_IMPORT, [CONTEXT, BASE_URI, '"preserveBNodeIds": true,', JSONLD_CONTEXT]);
|
|
80
80
|
});
|
|
81
81
|
|
|
@@ -92,7 +92,7 @@ describe('Import server files - Operations', () => {
|
|
|
92
92
|
ImportSettingsDialogSteps.enablePreserveBNodes();
|
|
93
93
|
ImportSettingsDialogSteps.import();
|
|
94
94
|
// Then I should see the file imported successfully
|
|
95
|
-
ImportServerFilesSteps.
|
|
95
|
+
ImportServerFilesSteps.checkImportedResourceByIndex(0, JSONLD_FILE_FOR_IMPORT);
|
|
96
96
|
// ImportSteps.verifyImportStatusDetails(JSONLD_FILE_FOR_IMPORT, [CONTEXT, BASE_URI, '"preserveBNodeIds": true,']);
|
|
97
97
|
});
|
|
98
98
|
|
|
@@ -101,7 +101,7 @@ describe('Import server files - Operations', () => {
|
|
|
101
101
|
// And I have imported a file
|
|
102
102
|
ImportServerFilesSteps.importResourceByName(FILE_FOR_IMPORT);
|
|
103
103
|
ImportSettingsDialogSteps.import();
|
|
104
|
-
ImportServerFilesSteps.
|
|
104
|
+
ImportServerFilesSteps.checkImportedResourceByIndex(0, FILE_FOR_IMPORT);
|
|
105
105
|
// When I reset the status of the imported file
|
|
106
106
|
ImportServerFilesSteps.resetResourceStatusByName(FILE_FOR_IMPORT);
|
|
107
107
|
// Then Import status of the file should not be visible
|
|
@@ -113,7 +113,7 @@ describe('Import server files - Operations', () => {
|
|
|
113
113
|
// And I have imported a file
|
|
114
114
|
ImportServerFilesSteps.importResourceByName(FILE_FROM_DIRECTORY_FOR_IMPORT);
|
|
115
115
|
ImportSettingsDialogSteps.import();
|
|
116
|
-
ImportServerFilesSteps.
|
|
116
|
+
ImportServerFilesSteps.checkImportedResourceByIndex(0, FILE_FROM_DIRECTORY_FOR_IMPORT);
|
|
117
117
|
// When I reset the status of the imported file
|
|
118
118
|
ImportServerFilesSteps.resetResourceStatusByName(FILE_FROM_DIRECTORY_FOR_IMPORT);
|
|
119
119
|
// Then Import status of the file should not be visible
|
|
@@ -126,7 +126,7 @@ describe('Import server files - Operations', () => {
|
|
|
126
126
|
// When I select to import a ttl file without changing settings
|
|
127
127
|
ImportSettingsDialogSteps.import();
|
|
128
128
|
// Then I should see the file imported successfully
|
|
129
|
-
ImportServerFilesSteps.
|
|
129
|
+
ImportServerFilesSteps.checkImportedResourceByIndex(0, TTLS_FOR_IMPORT);
|
|
130
130
|
// ImportSteps.verifyImportStatusDetails(TTLS_FOR_IMPORT, '"preserveBNodeIds": false,');
|
|
131
131
|
});
|
|
132
132
|
|
|
@@ -136,7 +136,7 @@ describe('Import server files - Operations', () => {
|
|
|
136
136
|
// When I select to import a trigstar file without changing settings
|
|
137
137
|
ImportSettingsDialogSteps.import();
|
|
138
138
|
// Then I should see the file imported successfully
|
|
139
|
-
ImportServerFilesSteps.
|
|
139
|
+
ImportServerFilesSteps.checkImportedResourceByIndex(0, TRIGS_FOR_IMPORT);
|
|
140
140
|
// ImportSteps.verifyImportStatusDetails(TRIGS_FOR_IMPORT, '"preserveBNodeIds": false,');
|
|
141
141
|
});
|
|
142
142
|
});
|
|
@@ -56,7 +56,7 @@ describe('Import user data: Batch operations', () => {
|
|
|
56
56
|
ImportSettingsDialogSteps.getDialog().should('be.visible');
|
|
57
57
|
ImportSettingsDialogSteps.import();
|
|
58
58
|
ImportUserDataSteps.getResources().should('have.length', 3);
|
|
59
|
-
ImportUserDataSteps.
|
|
59
|
+
ImportUserDataSteps.checkImportedResourceByIndex(0, 'jsonld-2.jsonld');
|
|
60
60
|
// When I select Imported from the menu
|
|
61
61
|
ImportUserDataSteps.selectImportedResources();
|
|
62
62
|
// Then I should see only imported files selected
|
|
@@ -83,7 +83,7 @@ describe('Import user data: Batch operations', () => {
|
|
|
83
83
|
ImportUserDataSteps.batchImport();
|
|
84
84
|
ImportSettingsDialogSteps.import();
|
|
85
85
|
// Then the file should be imported
|
|
86
|
-
ImportUserDataSteps.
|
|
86
|
+
ImportUserDataSteps.checkImportedResourceByIndex(0, 'jsonld-2.jsonld');
|
|
87
87
|
ImportUserDataSteps.selectImportedResources();
|
|
88
88
|
ImportUserDataSteps.getSelectedResources().should('have.length', 1);
|
|
89
89
|
ImportUserDataSteps.deselectAllResources();
|
|
@@ -94,8 +94,8 @@ describe('Import user data: Batch operations', () => {
|
|
|
94
94
|
ImportUserDataSteps.batchImport();
|
|
95
95
|
ImportSettingsDialogSteps.import();
|
|
96
96
|
// Then the files should be imported
|
|
97
|
-
ImportUserDataSteps.
|
|
98
|
-
ImportUserDataSteps.
|
|
97
|
+
ImportUserDataSteps.checkImportedResourceByIndex(1, 'jsonld.jsonld');
|
|
98
|
+
ImportUserDataSteps.checkImportedResourceByIndex(2, 'bnodes.ttl');
|
|
99
99
|
ImportUserDataSteps.selectImportedResources();
|
|
100
100
|
ImportUserDataSteps.getSelectedResources().should('have.length', 3);
|
|
101
101
|
});
|
|
@@ -162,9 +162,9 @@ function uploadWithImportFiles(files) {
|
|
|
162
162
|
ImportUserDataSteps.selectFile([file1, file2, file3]);
|
|
163
163
|
ImportSettingsDialogSteps.import();
|
|
164
164
|
ImportUserDataSteps.getResources().should('have.length', 3);
|
|
165
|
-
ImportUserDataSteps.
|
|
166
|
-
ImportUserDataSteps.
|
|
167
|
-
ImportUserDataSteps.
|
|
165
|
+
ImportUserDataSteps.checkImportedResourceByIndex(0, 'jsonld-2.jsonld');
|
|
166
|
+
ImportUserDataSteps.checkImportedResourceByIndex(1, 'jsonld.jsonld');
|
|
167
|
+
ImportUserDataSteps.checkImportedResourceByIndex(2, 'bnodes.ttl');
|
|
168
168
|
}
|
|
169
169
|
|
|
170
170
|
function uploadFiles(data) {
|
|
@@ -58,6 +58,6 @@ describe('Import user data: URL import', () => {
|
|
|
58
58
|
return xhr.response.body[0]?.status === 'ERROR'
|
|
59
59
|
}), {timeout: 10000, interval: 1000}
|
|
60
60
|
)
|
|
61
|
-
ImportUserDataSteps.
|
|
61
|
+
ImportUserDataSteps.checkImportedResourceByIndex(0, IMPORT_JSONLD_URL, 'https://example.com/0007-context.jsonld');
|
|
62
62
|
});
|
|
63
63
|
});
|
|
@@ -64,6 +64,26 @@ describe('Cluster configuration', () => {
|
|
|
64
64
|
});
|
|
65
65
|
});
|
|
66
66
|
|
|
67
|
+
it('should show an alert when there is no elected leader in the cluster', () => {
|
|
68
|
+
// Given there is no elected leader in the cluster
|
|
69
|
+
ClusterStubs.stubClusterGroupStatusWithoutLeader();
|
|
70
|
+
|
|
71
|
+
// When I have opened the cluster management page
|
|
72
|
+
ClusterPageSteps.visit();
|
|
73
|
+
// And I click on edit properties and open Multi-region tab
|
|
74
|
+
ClusterPageSteps.previewClusterConfig();
|
|
75
|
+
ClusterConfigurationSteps.selectMultiRegionConfigTab();
|
|
76
|
+
|
|
77
|
+
// Then I expect to see an alert that the leader is not elected
|
|
78
|
+
ClusterConfigurationSteps.getNoLeaderAlert().should('be.visible')
|
|
79
|
+
.and('contain.text', 'Leader is not elected');
|
|
80
|
+
// And no primary or secondary cluster configuration should be rendered
|
|
81
|
+
ClusterConfigurationSteps.getMultiRegionHeader().should('not.exist');
|
|
82
|
+
ClusterConfigurationSteps.getAddTagButton().should('not.exist');
|
|
83
|
+
ClusterConfigurationSteps.getEnableSecondaryModeButton().should('not.exist');
|
|
84
|
+
ClusterConfigurationSteps.getTagsTable().should('not.exist');
|
|
85
|
+
});
|
|
86
|
+
|
|
67
87
|
it('should be able to switch modes', () => {
|
|
68
88
|
ClusterStubs.stubEnableSecondaryMode();
|
|
69
89
|
const rpcAddress = 'node-name:7300';
|
|
@@ -33,7 +33,7 @@ describe('Confirm duplicate RDF file', () => {
|
|
|
33
33
|
GuideDialogSteps.assertDialogWithTitleIsVisible('Import file');
|
|
34
34
|
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Import button.');
|
|
35
35
|
ImportSettingsDialogSteps.import();
|
|
36
|
-
ImportUserDataSteps.
|
|
36
|
+
ImportUserDataSteps.checkImportedResourceByIndex(0, GUIDE_RESOURCE_FILE);
|
|
37
37
|
|
|
38
38
|
// WHEN: I run a guide that includes the Import RDF File step.
|
|
39
39
|
GuideDialogSteps.assertDialogWithTitleIsVisible('Import file — 1/6');
|
|
@@ -106,17 +106,13 @@ describe('Main Menu Guide steps', () => {
|
|
|
106
106
|
BaseSteps.validateUrl('/sparql');
|
|
107
107
|
|
|
108
108
|
// TTYG
|
|
109
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 1/
|
|
110
|
-
GuideDialogSteps.assertDialogWithContentIsVisible('The following steps show how to use the Talk to Your Graph view to create an
|
|
109
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 1/2');
|
|
110
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The following steps show how to use the Talk to Your Graph view to create an agent.');
|
|
111
111
|
GuideDialogSteps.clickOnNextButton();
|
|
112
112
|
|
|
113
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 2/
|
|
114
|
-
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Lab menu.');
|
|
115
|
-
MainMenuSteps.clickOnMenuLab();
|
|
116
|
-
|
|
117
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 3/3');
|
|
113
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 2/2');
|
|
118
114
|
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Talk to Your Graph menu.');
|
|
119
|
-
MainMenuSteps.
|
|
115
|
+
MainMenuSteps.clickOnMenuTTYG();
|
|
120
116
|
BaseSteps.validateUrl('/ttyg');
|
|
121
117
|
|
|
122
118
|
// Autocomplete
|
|
@@ -249,15 +245,11 @@ describe('Main Menu Guide steps', () => {
|
|
|
249
245
|
BaseSteps.validateUrl('/sparql');
|
|
250
246
|
|
|
251
247
|
// TTYG
|
|
252
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 1/
|
|
248
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 1/2');
|
|
253
249
|
GuideDialogSteps.assertDialogWithContentIsVisible('The following steps show how to use the Talk to Your Graph view to create an agen');
|
|
254
250
|
GuideDialogSteps.clickOnNextButton();
|
|
255
251
|
|
|
256
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 2/
|
|
257
|
-
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Lab menu.');
|
|
258
|
-
GuideDialogSteps.clickOnNextButton();
|
|
259
|
-
|
|
260
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 3/3');
|
|
252
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 2/2');
|
|
261
253
|
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Talk to Your Graph menu.');
|
|
262
254
|
GuideDialogSteps.clickOnNextButton();
|
|
263
255
|
BaseSteps.validateUrl('/ttyg');
|
|
@@ -33,116 +33,112 @@ describe('ttyg configure agent guide', () => {
|
|
|
33
33
|
})
|
|
34
34
|
|
|
35
35
|
it('should create and configure TTYG agent with actions', () => {
|
|
36
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 1/
|
|
36
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 1/29');
|
|
37
37
|
GuideDialogSteps.assertDialogWithContentIsVisible('The following steps show how to use the Talk to Your Graph view to create an agent.');
|
|
38
38
|
GuideDialogSteps.clickOnNextButton();
|
|
39
39
|
|
|
40
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 2/
|
|
41
|
-
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Lab menu.');
|
|
42
|
-
MainMenuSteps.clickOnMenuLab();
|
|
43
|
-
|
|
44
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 3/30');
|
|
40
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 2/29');
|
|
45
41
|
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Talk to Your Graph menu.');
|
|
46
|
-
MainMenuSteps.
|
|
42
|
+
MainMenuSteps.clickOnMenuTTYG();
|
|
47
43
|
|
|
48
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent —
|
|
44
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 4/29');
|
|
49
45
|
GuideDialogSteps.assertDialogWithContentIsVisible('An agent is a helpful assistant that can answer your queries. You need to configure an agent in order to ask anything of Talk to Your Graph.');
|
|
50
46
|
GuideDialogSteps.clickOnNextButton();
|
|
51
47
|
|
|
52
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent —
|
|
48
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 6/29');
|
|
53
49
|
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the create agent button to create a new agent.');
|
|
54
50
|
TTYGViewSteps.clickCreateAgentButton();
|
|
55
51
|
|
|
56
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent —
|
|
52
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 8/29');
|
|
57
53
|
GuideDialogSteps.assertDialogWithContentIsVisible('Type a name for the agent. You will refer to it later.');
|
|
58
54
|
TtygAgentSettingsModalSteps.typeAgentName('MyAgent');
|
|
59
55
|
GuideDialogSteps.clickOnNextButton();
|
|
60
56
|
|
|
61
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent —
|
|
57
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 9/29');
|
|
62
58
|
GuideDialogSteps.assertDialogWithContentIsVisible('Here you can type the name of the OpenAI model to be used.');
|
|
63
59
|
TtygAgentSettingsModalSteps.clearLLMModel();
|
|
64
60
|
TtygAgentSettingsModalSteps.typeLLMModel('gpt-3.5-turbo');
|
|
65
61
|
GuideDialogSteps.clickOnNextButton();
|
|
66
62
|
|
|
67
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Talk to Your Graph —
|
|
63
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Talk to Your Graph — 10/29');
|
|
68
64
|
GuideDialogSteps.assertDialogWithContentIsVisible('Sets the sampling temperature of the agent. Lower values result in more consistent, repetitive responses generated by the agent and higher values result in a wider variety of responses');
|
|
69
65
|
TtygAgentSettingsModalSteps.setTemperature(0.8);
|
|
70
66
|
GuideDialogSteps.clickOnNextButton();
|
|
71
67
|
|
|
72
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Talk to Your Graph —
|
|
68
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Talk to Your Graph — 11/29');
|
|
73
69
|
GuideDialogSteps.assertDialogWithContentIsVisible('Sets the nucleus sampling of the agent');
|
|
74
70
|
TtygAgentSettingsModalSteps.setTopP(0.9);
|
|
75
71
|
GuideDialogSteps.clickOnNextButton();
|
|
76
72
|
|
|
77
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method —
|
|
73
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method — 12/29');
|
|
78
74
|
GuideDialogSteps.assertDialogWithContentIsVisible('Enabling SPARQL search allows the agent to answers questions by performing a SPARQL query.');
|
|
79
75
|
GuideDialogSteps.clickOnNextButton();
|
|
80
76
|
|
|
81
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method —
|
|
77
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method — 13/29');
|
|
82
78
|
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the toggle to enable SPARQL search query method.');
|
|
83
79
|
TtygAgentSettingsModalSteps.enableSparqlExtractionMethod();
|
|
84
80
|
|
|
85
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method —
|
|
81
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method — 14/29');
|
|
86
82
|
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the toggle to enable providing an ontology in a named graph.');
|
|
87
83
|
TtygAgentSettingsModalSteps.selectSparqlMethodOntologyGraph();
|
|
88
84
|
|
|
89
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method —
|
|
85
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method — 15/29');
|
|
90
86
|
GuideDialogSteps.assertDialogWithContentIsVisible('Type http://example.org/some/test/ontology as the named graph which contains the ontology.');
|
|
91
87
|
TtygAgentSettingsModalSteps.clearSparqlMethodOntologyGraphField();
|
|
92
88
|
TtygAgentSettingsModalSteps.typeSparqlMethodOntologyGraphField('http://example.org/some/test/ontology');
|
|
93
89
|
GuideDialogSteps.clickOnNextButton();
|
|
94
90
|
|
|
95
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method —
|
|
91
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method — 16/29');
|
|
96
92
|
GuideDialogSteps.assertDialogWithContentIsVisible('Check to automatically add missing namespaces.');
|
|
97
93
|
TtygAgentSettingsModalSteps.toggleAddMissingNamespacesCheckbox();
|
|
98
94
|
|
|
99
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('FTS search query method —
|
|
95
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('FTS search query method — 17/29');
|
|
100
96
|
GuideDialogSteps.assertDialogWithContentIsVisible('Enabling FTS search allows the agent to answer questions by using full-text search in literals and IRIs.');
|
|
101
97
|
GuideDialogSteps.clickOnNextButton();
|
|
102
98
|
|
|
103
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('FTS search query method —
|
|
99
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('FTS search query method — 18/29');
|
|
104
100
|
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the toggle to enable FTS search query method.');
|
|
105
101
|
TtygAgentSettingsModalSteps.enableFtsExtractionMethod();
|
|
106
102
|
|
|
107
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('FTS search query method —
|
|
103
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('FTS search query method — 19/29');
|
|
108
104
|
GuideDialogSteps.assertDialogWithContentIsVisible('Type 100 as the maximum number of triples to retrieve per call.');
|
|
109
105
|
TtygAgentSettingsModalSteps.setFtsSearchMaxTriples(100);
|
|
110
106
|
GuideDialogSteps.clickOnNextButton();
|
|
111
107
|
|
|
112
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Similarity search query method —
|
|
108
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Similarity search query method — 20/29');
|
|
113
109
|
GuideDialogSteps.assertDialogWithContentIsVisible('Enabling Similarity search allows the agent to answer questions by using Similarity search.');
|
|
114
110
|
GuideDialogSteps.clickOnNextButton();
|
|
115
111
|
|
|
116
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Similarity search query method —
|
|
112
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Similarity search query method — 21/29');
|
|
117
113
|
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the toggle to enable Similarity search query method.');
|
|
118
114
|
TtygAgentSettingsModalSteps.enableSimilaritySearchMethodPanel();
|
|
119
115
|
|
|
120
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Similarity search query method —
|
|
116
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Similarity search query method — 22/29');
|
|
121
117
|
GuideDialogSteps.assertDialogWithContentIsVisible('Select the index to use for Similarity search.');
|
|
122
118
|
TtygAgentSettingsModalSteps.selectSimilarityIndex(0);
|
|
123
119
|
GuideDialogSteps.clickOnNextButton();
|
|
124
120
|
|
|
125
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Talk to Your Graph —
|
|
121
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Talk to Your Graph — 23/29');
|
|
126
122
|
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the toggle to enable Full-text search in labels for IRI discovery');
|
|
127
123
|
TtygAgentSettingsModalSteps.checkIriDiscoverySearchCheckbox();
|
|
128
124
|
|
|
129
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Talk to Your Graph —
|
|
125
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Talk to Your Graph — 24/29');
|
|
130
126
|
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the toggle to enable Autocomplete for IRI discovery.');
|
|
131
127
|
TtygAgentSettingsModalSteps.checkAutocompleteSearchCheckbox();
|
|
132
128
|
|
|
133
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Talk to Your Graph —
|
|
129
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Talk to Your Graph — 25/29');
|
|
134
130
|
GuideDialogSteps.assertDialogWithContentIsVisible('Set the Max number of results (IRIs) per call to 15');
|
|
135
131
|
TtygAgentSettingsModalSteps.setAutocompleteMaxResults(15);
|
|
136
132
|
GuideDialogSteps.clickOnNextButton();
|
|
137
133
|
|
|
138
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Talk to Your Graph —
|
|
134
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Talk to Your Graph — 26/29');
|
|
139
135
|
GuideDialogSteps.assertDialogWithContentIsVisible('Set Context Size to 4096 so the model can use the ontology and conversation history to answer correctly');
|
|
140
136
|
TtygAgentSettingsModalSteps.getContextSizeField().focus();
|
|
141
137
|
TtygAgentSettingsModalSteps.clearContextSize();
|
|
142
138
|
TtygAgentSettingsModalSteps.enterContextSize(4096);
|
|
143
139
|
GuideDialogSteps.clickOnNextButton();
|
|
144
140
|
|
|
145
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent —
|
|
141
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 27/29');
|
|
146
142
|
GuideDialogSteps.assertDialogWithContentIsVisible('Enter the following in the input:');
|
|
147
143
|
TtygAgentSettingsModalSteps.clearUserInstructions();
|
|
148
144
|
TtygAgentSettingsModalSteps.getCodeToCopy().then(code => {
|
|
@@ -150,7 +146,7 @@ describe('ttyg configure agent guide', () => {
|
|
|
150
146
|
GuideDialogSteps.clickOnNextButton();
|
|
151
147
|
});
|
|
152
148
|
|
|
153
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 29
|
|
149
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 28/29');
|
|
154
150
|
GuideDialogSteps.assertDialogWithContentIsVisible('Click to save the agent settings');
|
|
155
151
|
TtygAgentSettingsModalSteps.saveAgent();
|
|
156
152
|
});
|
|
@@ -28,15 +28,11 @@ describe('Edit TTYG agent guide', () => {
|
|
|
28
28
|
it('should end guide when no api key is present', () => {
|
|
29
29
|
TTYGStubs.stubAgentListGetError('Set the config property \'graphdb.llm.api-key\' to your LLM API key');
|
|
30
30
|
|
|
31
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Edit an agent — 1/
|
|
32
|
-
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Lab menu.');
|
|
33
|
-
MainMenuSteps.clickOnMenuLab();
|
|
34
|
-
|
|
35
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Edit an agent — 2/18');
|
|
31
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Edit an agent — 1/17');
|
|
36
32
|
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Talk to Your Graph menu.');
|
|
37
|
-
MainMenuSteps.
|
|
33
|
+
MainMenuSteps.clickOnMenuTTYG();
|
|
38
34
|
|
|
39
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Missing OpenAI key —
|
|
35
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Missing OpenAI key — 2/17');
|
|
40
36
|
GuideDialogSteps.assertDialogWithContentIsVisible('To use Talk to Your Graph, GraphDB must first be configured to work with LLM API.');
|
|
41
37
|
GuideDialogSteps.clickOnCloseButton();
|
|
42
38
|
});
|
|
@@ -48,39 +44,35 @@ describe('Edit TTYG agent guide', () => {
|
|
|
48
44
|
TTYGStubs.stubAgentEdit();
|
|
49
45
|
RepositoriesStubs.stubRepositoryModel(repositoryId);
|
|
50
46
|
|
|
51
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Edit an agent — 1/
|
|
52
|
-
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Lab menu.');
|
|
53
|
-
MainMenuSteps.clickOnMenuLab();
|
|
54
|
-
|
|
55
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Edit an agent — 2/18');
|
|
47
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Edit an agent — 1/17');
|
|
56
48
|
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Talk to Your Graph menu.');
|
|
57
|
-
MainMenuSteps.
|
|
49
|
+
MainMenuSteps.clickOnMenuTTYG();
|
|
58
50
|
|
|
59
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Edit an agent —
|
|
51
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Edit an agent — 3/17');
|
|
60
52
|
GuideDialogSteps.assertDialogWithContentIsVisible('An agent\'s configuration such as the extraction methods can be reconfigured at any time');
|
|
61
53
|
GuideDialogSteps.clickOnNextButton();
|
|
62
54
|
|
|
63
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Edit an agent —
|
|
55
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Edit an agent — 10/17');
|
|
64
56
|
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the edit agent button to edit the configuration of the selected agent.');
|
|
65
57
|
TTYGViewSteps.editCurrentAgent();
|
|
66
58
|
|
|
67
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method —
|
|
59
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method — 12/17');
|
|
68
60
|
GuideDialogSteps.assertDialogWithContentIsVisible('Enabling SPARQL search allows the agent to answers questions by performing a SPARQL query');
|
|
69
61
|
GuideDialogSteps.clickOnNextButton();
|
|
70
62
|
|
|
71
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method —
|
|
63
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method — 13/17');
|
|
72
64
|
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the toggle to enable SPARQL search query method.');
|
|
73
65
|
TtygAgentSettingsModalSteps.enableSparqlExtractionMethod();
|
|
74
66
|
|
|
75
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method —
|
|
67
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method — 14/17');
|
|
76
68
|
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the toggle to enable providing an ontology in a named graph.');
|
|
77
69
|
TtygAgentSettingsModalSteps.selectSparqlMethodOntologyGraph();
|
|
78
70
|
|
|
79
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method —
|
|
71
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method — 15/17');
|
|
80
72
|
GuideDialogSteps.assertDialogWithContentIsVisible('Type http://example.com as the named graph which contains the ontology.');
|
|
81
73
|
GuideDialogSteps.clickOnNextButton();
|
|
82
74
|
|
|
83
|
-
GuideDialogSteps.assertDialogWithTitleIsVisible('Edit an agent — 17
|
|
75
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Edit an agent — 16/17');
|
|
84
76
|
GuideDialogSteps.assertDialogWithContentIsVisible('Click to save the agent settings.');
|
|
85
77
|
TtygAgentSettingsModalSteps.saveAgent();
|
|
86
78
|
ModalDialogSteps.getDialog().should('not.exist');
|
|
@@ -57,7 +57,7 @@ describe('Import server files - Batch operations', () => {
|
|
|
57
57
|
// precondition for the next step
|
|
58
58
|
ImportServerFilesSteps.importResourceByName(FILE_FOR_IMPORT);
|
|
59
59
|
ImportSettingsDialogSteps.import();
|
|
60
|
-
ImportServerFilesSteps.
|
|
60
|
+
ImportServerFilesSteps.checkImportedResourceByName(FILE_FOR_IMPORT);
|
|
61
61
|
// When I select Imported from the menu
|
|
62
62
|
ImportServerFilesSteps.selectImportedResources();
|
|
63
63
|
// Then I should see only imported files selected
|
|
@@ -97,8 +97,8 @@ describe('Import server files - Batch operations', () => {
|
|
|
97
97
|
// Then the files should be imported
|
|
98
98
|
// We send only the files in the folder for import
|
|
99
99
|
// ImportServerFilesSteps.checkImportedResource(0, 'more-files');
|
|
100
|
-
ImportServerFilesSteps.
|
|
101
|
-
ImportServerFilesSteps.
|
|
100
|
+
ImportServerFilesSteps.checkImportedResourceByName('jsonld-file.jsonld');
|
|
101
|
+
ImportServerFilesSteps.checkImportedResourceByName('rdfxml.rdf');
|
|
102
102
|
ImportServerFilesSteps.deselectFileByName('more-files');
|
|
103
103
|
// When I select the folder and click on the batch reset button
|
|
104
104
|
ImportServerFilesSteps.selectFileByName('more-files');
|
|
@@ -116,7 +116,7 @@ describe('Import server files - Batch operations', () => {
|
|
|
116
116
|
// Then the files should be imported
|
|
117
117
|
// We send only the files in the folder for import
|
|
118
118
|
// ImportServerFilesSteps.checkImportedResource(0, 'more-files');
|
|
119
|
-
ImportServerFilesSteps.
|
|
120
|
-
ImportServerFilesSteps.
|
|
119
|
+
ImportServerFilesSteps.checkImportedResourceByName('jsonld-file.jsonld');
|
|
120
|
+
ImportServerFilesSteps.checkImportedResourceByName('rdfxml.rdf');
|
|
121
121
|
});
|
|
122
122
|
});
|
|
@@ -87,8 +87,8 @@ describe('Import server files', () => {
|
|
|
87
87
|
// Then I expect all files to be successfully imported.
|
|
88
88
|
// TODO: this check is failing right now because the fix https://ontotext.atlassian.net/browse/GDB-10295 is not yet completed.
|
|
89
89
|
// ImportServerFilesSteps.checkImportedResource(0, 'more-files', 'Imported successfully in');
|
|
90
|
-
ImportServerFilesSteps.
|
|
91
|
-
ImportServerFilesSteps.
|
|
90
|
+
ImportServerFilesSteps.checkImportedResourceByIndex(1, 'jsonld-file.jsonld', 'Imported successfully in');
|
|
91
|
+
ImportServerFilesSteps.checkImportedResourceByIndex(2, 'rdfxml.rdf', 'Imported successfully in');
|
|
92
92
|
|
|
93
93
|
// When I try to import a directory that contains resources with incorrect rdf data.
|
|
94
94
|
ImportServerFilesSteps.importResourceByName('more-files-with-error');
|
|
@@ -119,7 +119,7 @@ describe('Import server files', () => {
|
|
|
119
119
|
ImportSettingsDialogSteps.import();
|
|
120
120
|
|
|
121
121
|
// I expect only part of the error be displayed,
|
|
122
|
-
ImportServerFilesSteps.
|
|
122
|
+
ImportServerFilesSteps.checkImportedResourceByName(importResourceName, 'RDF Parse Error: The element type ');
|
|
123
123
|
// and when click on that error
|
|
124
124
|
ImportServerFilesSteps.openErrorDialog(importResourceName);
|
|
125
125
|
|
|
@@ -152,39 +152,39 @@ describe('Import server files', () => {
|
|
|
152
152
|
ImportServerFilesSteps.orderBySize();
|
|
153
153
|
|
|
154
154
|
// Then I expect the directories to be sorted in ascending order,
|
|
155
|
-
ImportServerFilesSteps.
|
|
156
|
-
ImportServerFilesSteps.
|
|
155
|
+
ImportServerFilesSteps.getResourceTitleRow(0).should('contain', "more-files");
|
|
156
|
+
ImportServerFilesSteps.getResourceTitleRow(3).should('contain', "more-files-with-error");
|
|
157
157
|
|
|
158
158
|
// and inner files to be sorted ascending as well.
|
|
159
159
|
// checks first folder files
|
|
160
|
-
ImportServerFilesSteps.
|
|
161
|
-
ImportServerFilesSteps.
|
|
160
|
+
ImportServerFilesSteps.getResourceTitleRow(1).should('contain', "jsonld-file.jsonld");
|
|
161
|
+
ImportServerFilesSteps.getResourceTitleRow(2).should('contain', "rdfxml.rdf");
|
|
162
162
|
// checks second folder files
|
|
163
|
-
ImportServerFilesSteps.
|
|
164
|
-
ImportServerFilesSteps.
|
|
165
|
-
ImportServerFilesSteps.
|
|
163
|
+
ImportServerFilesSteps.getResourceTitleRow(4).should('contain', "import-resource-with-correct-data.jsonld");
|
|
164
|
+
ImportServerFilesSteps.getResourceTitleRow(5).should('contain', "import-resource-with-incorrect-data.rdf");
|
|
165
|
+
ImportServerFilesSteps.getResourceTitleRow(6).should('contain', "import-resource-with-long-error.rdf");
|
|
166
166
|
// checks files in root
|
|
167
|
-
ImportServerFilesSteps.
|
|
168
|
-
ImportServerFilesSteps.
|
|
169
|
-
ImportServerFilesSteps.
|
|
167
|
+
ImportServerFilesSteps.getResourceTitleRow(7).should('contain', "bnodes.ttl");
|
|
168
|
+
ImportServerFilesSteps.getResourceTitleRow(8).should('contain', "test_turtlestar.ttls");
|
|
169
|
+
ImportServerFilesSteps.getResourceTitleRow(9).should('contain', "0007-import-file.jsonld");
|
|
170
170
|
|
|
171
171
|
// When I change the order by size.
|
|
172
172
|
ImportServerFilesSteps.orderBySize();
|
|
173
173
|
|
|
174
174
|
// Then I expect the directories to be sorted in descending order,
|
|
175
|
-
ImportServerFilesSteps.
|
|
176
|
-
ImportServerFilesSteps.
|
|
175
|
+
ImportServerFilesSteps.getResourceTitleRow(0).should('contain', "more-files-with-error");
|
|
176
|
+
ImportServerFilesSteps.getResourceTitleRow(4).should('contain', "more-files");
|
|
177
177
|
// checks first folder files
|
|
178
|
-
ImportServerFilesSteps.
|
|
179
|
-
ImportServerFilesSteps.
|
|
180
|
-
ImportServerFilesSteps.
|
|
178
|
+
ImportServerFilesSteps.getResourceTitleRow(1).should('contain', "import-resource-with-long-error.rdf");
|
|
179
|
+
ImportServerFilesSteps.getResourceTitleRow(2).should('contain', "import-resource-with-incorrect-data.rdf");
|
|
180
|
+
ImportServerFilesSteps.getResourceTitleRow(3).should('contain', "import-resource-with-correct-data.jsonld");
|
|
181
181
|
// checks second folder files
|
|
182
|
-
ImportServerFilesSteps.
|
|
183
|
-
ImportServerFilesSteps.
|
|
182
|
+
ImportServerFilesSteps.getResourceTitleRow(5).should('contain', "rdfxml.rdf");
|
|
183
|
+
ImportServerFilesSteps.getResourceTitleRow(6).should('contain', "jsonld-file.jsonld");
|
|
184
184
|
// checks files in root
|
|
185
|
-
ImportServerFilesSteps.
|
|
186
|
-
ImportServerFilesSteps.
|
|
187
|
-
ImportServerFilesSteps.
|
|
185
|
+
ImportServerFilesSteps.getResourceTitleRow(17).should('contain', "0007-import-file.jsonld");
|
|
186
|
+
ImportServerFilesSteps.getResourceTitleRow(18).should('contain', "test_turtlestar.ttls");
|
|
187
|
+
ImportServerFilesSteps.getResourceTitleRow(19).should('contain', "bnodes.ttl");
|
|
188
188
|
});
|
|
189
189
|
|
|
190
190
|
it('should allow importing jsonld with empty "JSON-LD Context"', () => {
|