graphdb-workbench-tests 3.3.0-TR5 → 3.3.0
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-legacy/explore/visual-graph/graphs-config.spec.js +4 -4
- package/e2e-legacy/explore/visual-graph/visual.graph.spec.js +1 -1
- package/e2e-legacy/guides/connectors/connectors-guide.spec.js +12 -1
- package/e2e-legacy/guides/create-similarity-index/create-similarity-index-guide.spec.js +74 -0
- package/e2e-legacy/guides/download-guide-resource/download-guide-resource-guide.js +55 -0
- package/e2e-legacy/guides/ttyg/conversation/ttyg-conversation-guide.spec.js +88 -0
- package/e2e-legacy/help/guides/guides-autostart.spec.js +93 -0
- package/e2e-legacy/import/import-server-files.spec.js +2 -2
- package/e2e-legacy/import/import-user-data.spec.js +2 -2
- package/e2e-legacy/repository/ontop-repository.spec.js +1 -1
- package/e2e-legacy/repository/url-with-repository-id-parameter.spec.js +155 -0
- package/e2e-legacy/setup/jdbc/jdbc-create.spec.js +4 -4
- package/e2e-legacy/setup/users-and-access/user-and-access.spec.js +82 -71
- package/e2e-legacy/sparql-editor/saved-query/share-query.spec.js +4 -1
- package/e2e-legacy/ttyg/chat-panel.spec.js +5 -1
- package/fixtures/guides/connectors/lucene-connector-guide.json +14 -0
- package/fixtures/guides/create-similarity-index/create-similarity-index-guide.json +36 -0
- package/fixtures/guides/download-guide-resource/download-guide-resource-guide.json +25 -0
- package/fixtures/guides/download-resource.ttl +629 -0
- package/fixtures/guides/ttyg/conversation/ttyg-conversation-guide.json +26 -0
- package/fixtures/ttyg/chats/explain-response-3.json +12 -0
- package/npm-shrinkwrap.json +422 -427
- package/package.json +3 -3
- package/steps/explore/similarity-index-create-steps.js +5 -3
- package/steps/explore/similarity-indexes-steps.js +4 -0
- package/steps/guides/guide-dialog-steps.js +5 -0
- package/steps/guides/guide-steps.js +17 -0
- package/steps/home-steps.js +4 -0
- package/steps/import/import-steps.js +1 -1
- package/steps/main-menu-steps.js +4 -0
- package/steps/modal-dialog-steps.js +9 -0
- package/steps/repository-steps.js +5 -1
- package/steps/resource/resource-steps.js +2 -2
- package/steps/ttyg/chat-panel-steps.js +19 -1
- package/steps/ttyg/ttyg-agent-settings-modal.steps.js +8 -0
- package/steps/yasgui/yasgui-loader.js +3 -3
- package/stubs/guides/guides-stubs.js +19 -1
- package/support/connector-commands.js +1 -1
- package/support/user-commands.js +9 -4
- /package/e2e-legacy/help/guides/{star-wars-interactive-guide.js → star-wars-interactive-guide.spec.js} +0 -0
- /package/e2e-legacy/setup/sparql-template/{sparql-template-create.js → sparql-template-create.spec.js} +0 -0
|
@@ -9,24 +9,25 @@ import {MainMenuSteps} from '../../../steps/main-menu-steps';
|
|
|
9
9
|
|
|
10
10
|
describe('User and Access', () => {
|
|
11
11
|
|
|
12
|
-
const PASSWORD =
|
|
13
|
-
const ROLE_USER =
|
|
14
|
-
const ROLE_REPO_MANAGER =
|
|
15
|
-
const ROLE_CUSTOM_ADMIN =
|
|
16
|
-
const DEFAULT_ADMIN_PASSWORD =
|
|
12
|
+
const PASSWORD = 'password';
|
|
13
|
+
const ROLE_USER = '#roleUser';
|
|
14
|
+
const ROLE_REPO_MANAGER = '#roleRepoAdmin';
|
|
15
|
+
const ROLE_CUSTOM_ADMIN = '#roleAdmin';
|
|
16
|
+
const DEFAULT_ADMIN_PASSWORD = 'root';
|
|
17
17
|
|
|
18
18
|
// eslint-disable-next-line no-undef
|
|
19
19
|
context('', () => {
|
|
20
|
-
const user =
|
|
20
|
+
const user = 'user';
|
|
21
21
|
|
|
22
22
|
beforeEach(() => {
|
|
23
23
|
UserAndAccessSteps.visit();
|
|
24
24
|
// Users table should be visible
|
|
25
25
|
UserAndAccessSteps.getUsersTable().should('be.visible');
|
|
26
|
+
cy.switchOffSecurity(true);
|
|
26
27
|
});
|
|
27
28
|
|
|
28
29
|
afterEach(() => {
|
|
29
|
-
cy.loginAsAdmin().then(()=> {
|
|
30
|
+
cy.loginAsAdmin().then(() => {
|
|
30
31
|
cy.deleteUser(user, true);
|
|
31
32
|
cy.switchOffSecurity(true);
|
|
32
33
|
cy.switchOffFreeAccess(false);
|
|
@@ -126,7 +127,7 @@ describe('User and Access', () => {
|
|
|
126
127
|
// When I enable security
|
|
127
128
|
UserAndAccessSteps.toggleSecurity();
|
|
128
129
|
// When I log in as an Admin
|
|
129
|
-
LoginSteps.loginWithUser(
|
|
130
|
+
LoginSteps.loginWithUser('admin', DEFAULT_ADMIN_PASSWORD);
|
|
130
131
|
// Then the page should load
|
|
131
132
|
UserAndAccessSteps.getSplashLoader().should('not.be.visible');
|
|
132
133
|
UserAndAccessSteps.getUsersTable().should('be.visible');
|
|
@@ -142,7 +143,7 @@ describe('User and Access', () => {
|
|
|
142
143
|
UserAndAccessSteps.getFreeAccessSwitchInput().should('be.checked');
|
|
143
144
|
// And I should see a success message
|
|
144
145
|
ToasterSteps.verifySuccess('Free access has been enabled.');
|
|
145
|
-
ToasterSteps.getToast().should('not.exist')
|
|
146
|
+
ToasterSteps.getToast().should('not.exist');
|
|
146
147
|
UserAndAccessSteps.getUsersTable().should('be.visible');
|
|
147
148
|
// When I toggle Free Access OFF
|
|
148
149
|
UserAndAccessSteps.toggleFreeAccess();
|
|
@@ -153,16 +154,27 @@ describe('User and Access', () => {
|
|
|
153
154
|
|
|
154
155
|
it('should redirect to previous page after logout and then login', () => {
|
|
155
156
|
UserAndAccessSteps.toggleSecurity();
|
|
156
|
-
LoginSteps.loginWithUser(
|
|
157
|
+
LoginSteps.loginWithUser('admin', DEFAULT_ADMIN_PASSWORD);
|
|
157
158
|
MainMenuSteps.clickOnSparqlMenu();
|
|
158
159
|
cy.url().should('include', '/sparql');
|
|
159
160
|
|
|
160
161
|
LoginSteps.logout();
|
|
161
162
|
cy.url().should('include', '/login');
|
|
162
|
-
LoginSteps.loginWithUser(
|
|
163
|
+
LoginSteps.loginWithUser('admin', DEFAULT_ADMIN_PASSWORD);
|
|
163
164
|
cy.url().should('include', '/sparql');
|
|
164
165
|
});
|
|
165
|
-
|
|
166
|
+
|
|
167
|
+
it('should redirect to correct return url when user is authenticated and on login page', () => {
|
|
168
|
+
UserAndAccessSteps.visit();
|
|
169
|
+
UserAndAccessSteps.toggleSecurity();
|
|
170
|
+
LoginSteps.loginWithUser('admin', DEFAULT_ADMIN_PASSWORD);
|
|
171
|
+
UserAndAccessSteps.getUsersTable().should('be.visible');
|
|
172
|
+
|
|
173
|
+
cy.visit('/login?r=%252Fsparql');
|
|
174
|
+
cy.reload();
|
|
175
|
+
UserAndAccessSteps.getUrl().should('include', '/sparql');
|
|
176
|
+
});
|
|
177
|
+
});
|
|
166
178
|
// eslint-disable-next-line no-undef
|
|
167
179
|
context('GraphQL only', () => {
|
|
168
180
|
let repositoryId1;
|
|
@@ -302,7 +314,7 @@ describe('User and Access', () => {
|
|
|
302
314
|
//enable security
|
|
303
315
|
UserAndAccessSteps.toggleSecurity();
|
|
304
316
|
//login with the admin
|
|
305
|
-
LoginSteps.loginWithUser(
|
|
317
|
+
LoginSteps.loginWithUser('admin', DEFAULT_ADMIN_PASSWORD);
|
|
306
318
|
// The Free Access toggle should be OFF
|
|
307
319
|
UserAndAccessSteps.getFreeAccessSwitchInput().should('not.be.checked');
|
|
308
320
|
// When I toggle Free Access ON
|
|
@@ -326,14 +338,14 @@ describe('User and Access', () => {
|
|
|
326
338
|
// I change the repository to this with GraphQL only rights
|
|
327
339
|
RepositorySelectorSteps.selectRepository(repositoryId3);
|
|
328
340
|
// Then I should have GraphQL only rights
|
|
329
|
-
FREE_ACCESS_MENU_ITEMS_WITHOUT_GRAPHQL.forEach(({path, expectedUrl,
|
|
341
|
+
FREE_ACCESS_MENU_ITEMS_WITHOUT_GRAPHQL.forEach(({path, expectedUrl, checks, expectedTitle}) => {
|
|
330
342
|
navigateMenuPath(path, expectedUrl, expectedTitle);
|
|
331
343
|
if (checks) {
|
|
332
344
|
runChecks(checks);
|
|
333
345
|
}
|
|
334
346
|
});
|
|
335
347
|
// Turn free access off
|
|
336
|
-
cy.loginAsAdmin().then(()=> {
|
|
348
|
+
cy.loginAsAdmin().then(() => {
|
|
337
349
|
cy.switchOffFreeAccess(true);
|
|
338
350
|
});
|
|
339
351
|
});
|
|
@@ -343,7 +355,7 @@ describe('User and Access', () => {
|
|
|
343
355
|
if (repoName === '*') {
|
|
344
356
|
UserAndAccessSteps.clickGraphqlAccessAny();
|
|
345
357
|
} else {
|
|
346
|
-
|
|
358
|
+
UserAndAccessSteps.clickGraphqlAccessRepo(repoName);
|
|
347
359
|
}
|
|
348
360
|
}
|
|
349
361
|
|
|
@@ -371,7 +383,7 @@ describe('User and Access', () => {
|
|
|
371
383
|
UserAndAccessSteps.selectRoleRadioButton(role);
|
|
372
384
|
UserAndAccessSteps.getRoleRadioButton(role).should('be.checked');
|
|
373
385
|
|
|
374
|
-
if (role ===
|
|
386
|
+
if (role === '#roleUser') {
|
|
375
387
|
setRoles(opts);
|
|
376
388
|
UserAndAccessSteps.confirmUserCreate();
|
|
377
389
|
} else if (role === ROLE_CUSTOM_ADMIN && opts.noPassword) {
|
|
@@ -409,7 +421,7 @@ describe('User and Access', () => {
|
|
|
409
421
|
function testForUser(name, isAdmin) {
|
|
410
422
|
//enable security
|
|
411
423
|
UserAndAccessSteps.toggleSecurity();
|
|
412
|
-
LoginSteps.visitLoginPageWithReturnUrl('/users')
|
|
424
|
+
LoginSteps.visitLoginPageWithReturnUrl('/users');
|
|
413
425
|
//login new user
|
|
414
426
|
LoginSteps.loginWithUser(name, PASSWORD);
|
|
415
427
|
//verify permissions
|
|
@@ -425,7 +437,7 @@ describe('User and Access', () => {
|
|
|
425
437
|
function assertUserAuths(username, {repo, read = false, write = false, graphql = false} = {}) {
|
|
426
438
|
UserAndAccessSteps.findUserRowAlias(username, 'userRow');
|
|
427
439
|
|
|
428
|
-
if(!read && !write) {
|
|
440
|
+
if (!read && !write) {
|
|
429
441
|
return UserAndAccessSteps.getRepoLine('@userRow', repo).should('not.exist');
|
|
430
442
|
}
|
|
431
443
|
|
|
@@ -511,59 +523,59 @@ describe('User and Access', () => {
|
|
|
511
523
|
|
|
512
524
|
const noAuthChecks = {
|
|
513
525
|
'div[role="main]': [
|
|
514
|
-
'not.exist'
|
|
526
|
+
'not.exist',
|
|
515
527
|
],
|
|
516
528
|
'.no-authority-panel .alert-warning': [
|
|
517
529
|
'be.visible',
|
|
518
530
|
['contains.text', 'Some functionalities are not available because'],
|
|
519
|
-
['contains.text', 'you do not have the required repository permissions.']
|
|
520
|
-
]
|
|
521
|
-
}
|
|
531
|
+
['contains.text', 'you do not have the required repository permissions.'],
|
|
532
|
+
],
|
|
533
|
+
};
|
|
522
534
|
|
|
523
535
|
const hasAuthChecks = {
|
|
524
536
|
'div[role="main"]': [
|
|
525
537
|
'exist',
|
|
526
|
-
'be.visible'
|
|
538
|
+
'be.visible',
|
|
527
539
|
],
|
|
528
540
|
'.no-authority-panel .alert-warning': [
|
|
529
|
-
'not.exist'
|
|
530
|
-
]
|
|
531
|
-
}
|
|
541
|
+
'not.exist',
|
|
542
|
+
],
|
|
543
|
+
};
|
|
532
544
|
|
|
533
545
|
const MENU_ITEMS_WITHOUT_GRAPHQL = [
|
|
534
546
|
// 1) Import
|
|
535
547
|
{
|
|
536
548
|
path: ['Import'],
|
|
537
549
|
expectedUrl: '/import',
|
|
538
|
-
checks: noAuthChecks
|
|
550
|
+
checks: noAuthChecks,
|
|
539
551
|
},
|
|
540
552
|
|
|
541
553
|
// 2) Explore
|
|
542
554
|
{
|
|
543
555
|
path: ['Explore', 'Graphs overview'],
|
|
544
556
|
expectedUrl: '/graphs',
|
|
545
|
-
checks: noAuthChecks
|
|
557
|
+
checks: noAuthChecks,
|
|
546
558
|
},
|
|
547
559
|
{
|
|
548
560
|
path: ['Explore', 'Class hierarchy'],
|
|
549
561
|
expectedUrl: '/hierarchy',
|
|
550
|
-
checks: noAuthChecks
|
|
562
|
+
checks: noAuthChecks,
|
|
551
563
|
},
|
|
552
564
|
{
|
|
553
565
|
path: ['Explore', 'Class relationships'],
|
|
554
566
|
expectedUrl: '/relationships',
|
|
555
|
-
checks: noAuthChecks
|
|
567
|
+
checks: noAuthChecks,
|
|
556
568
|
},
|
|
557
569
|
{
|
|
558
570
|
path: ['Explore', 'Visual graph'],
|
|
559
571
|
expectedUrl: '/graphs-visualizations',
|
|
560
|
-
checks: noAuthChecks
|
|
572
|
+
checks: noAuthChecks,
|
|
561
573
|
},
|
|
562
574
|
{
|
|
563
575
|
path: ['Explore', 'Similarity'],
|
|
564
576
|
expectedTitle: 'Similarity indexes',
|
|
565
577
|
expectedUrl: '/similarity',
|
|
566
|
-
checks: noAuthChecks
|
|
578
|
+
checks: noAuthChecks,
|
|
567
579
|
},
|
|
568
580
|
|
|
569
581
|
// 3) SPARQL
|
|
@@ -571,7 +583,7 @@ describe('User and Access', () => {
|
|
|
571
583
|
path: ['SPARQL'],
|
|
572
584
|
expectedTitle: 'SPARQL Query & Update',
|
|
573
585
|
expectedUrl: '/sparql',
|
|
574
|
-
checks: noAuthChecks
|
|
586
|
+
checks: noAuthChecks,
|
|
575
587
|
},
|
|
576
588
|
|
|
577
589
|
// 4) GraphQL
|
|
@@ -581,7 +593,7 @@ describe('User and Access', () => {
|
|
|
581
593
|
path: ['Monitor', 'Queries and Updates'],
|
|
582
594
|
expectedUrl: '/monitor/queries',
|
|
583
595
|
expectedTitle: 'Query and Update monitoring',
|
|
584
|
-
checks: noAuthChecks
|
|
596
|
+
checks: noAuthChecks,
|
|
585
597
|
},
|
|
586
598
|
|
|
587
599
|
// 6) Setup
|
|
@@ -589,58 +601,58 @@ describe('User and Access', () => {
|
|
|
589
601
|
path: ['Setup', 'My Settings'],
|
|
590
602
|
expectedUrl: '/settings',
|
|
591
603
|
expectedTitle: 'Settings',
|
|
592
|
-
checks: hasAuthChecks
|
|
604
|
+
checks: hasAuthChecks,
|
|
593
605
|
},
|
|
594
606
|
{
|
|
595
607
|
path: ['Setup', 'Connectors'],
|
|
596
608
|
expectedUrl: '/connectors',
|
|
597
609
|
expectedTitle: 'Connector management',
|
|
598
|
-
checks: noAuthChecks
|
|
610
|
+
checks: noAuthChecks,
|
|
599
611
|
},
|
|
600
612
|
{
|
|
601
613
|
path: ['Setup', 'Cluster'],
|
|
602
614
|
expectedUrl: '/cluster',
|
|
603
615
|
expectedTitle: 'Cluster management',
|
|
604
|
-
checks: hasAuthChecks
|
|
616
|
+
checks: hasAuthChecks,
|
|
605
617
|
},
|
|
606
618
|
{
|
|
607
619
|
path: ['Setup', 'Plugins'],
|
|
608
620
|
expectedUrl: '/plugins',
|
|
609
|
-
checks: noAuthChecks
|
|
621
|
+
checks: noAuthChecks,
|
|
610
622
|
},
|
|
611
623
|
{
|
|
612
624
|
path: ['Setup', 'Namespaces'],
|
|
613
625
|
expectedUrl: '/namespaces',
|
|
614
|
-
checks: noAuthChecks
|
|
626
|
+
checks: noAuthChecks,
|
|
615
627
|
},
|
|
616
628
|
{
|
|
617
629
|
path: ['Setup', 'Autocomplete'],
|
|
618
630
|
expectedUrl: '/autocomplete',
|
|
619
631
|
expectedTitle: 'Autocomplete index',
|
|
620
|
-
checks: noAuthChecks
|
|
632
|
+
checks: noAuthChecks,
|
|
621
633
|
},
|
|
622
634
|
{
|
|
623
635
|
path: ['Setup', 'RDF Rank'],
|
|
624
636
|
expectedUrl: '/rdfrank',
|
|
625
|
-
checks: noAuthChecks
|
|
637
|
+
checks: noAuthChecks,
|
|
626
638
|
},
|
|
627
639
|
{
|
|
628
640
|
path: ['Setup', 'JDBC'],
|
|
629
641
|
expectedUrl: '/jdbc',
|
|
630
642
|
expectedTitle: 'JDBC configuration',
|
|
631
|
-
checks: noAuthChecks
|
|
643
|
+
checks: noAuthChecks,
|
|
632
644
|
},
|
|
633
645
|
{
|
|
634
646
|
path: ['Setup', 'SPARQL Templates'],
|
|
635
647
|
expectedUrl: '/sparql-templates',
|
|
636
|
-
checks: noAuthChecks
|
|
648
|
+
checks: noAuthChecks,
|
|
637
649
|
},
|
|
638
650
|
|
|
639
651
|
// 7) Lab
|
|
640
652
|
{
|
|
641
653
|
path: ['Lab', 'Talk to Your Graph'],
|
|
642
654
|
expectedUrl: '/ttyg',
|
|
643
|
-
checks: noAuthChecks
|
|
655
|
+
checks: noAuthChecks,
|
|
644
656
|
},
|
|
645
657
|
|
|
646
658
|
// 8) Help
|
|
@@ -648,38 +660,38 @@ describe('User and Access', () => {
|
|
|
648
660
|
path: ['Help', 'REST API'],
|
|
649
661
|
expectedUrl: '/webapi',
|
|
650
662
|
expectedTitle: 'REST API documentation',
|
|
651
|
-
checks: hasAuthChecks
|
|
652
|
-
}
|
|
663
|
+
checks: hasAuthChecks,
|
|
664
|
+
},
|
|
653
665
|
];
|
|
654
666
|
|
|
655
667
|
const GRAPHQL_READ_MENU_ITEMS = [
|
|
656
668
|
{
|
|
657
669
|
path: ['GraphQL', 'GraphQL Playground'],
|
|
658
670
|
expectedUrl: '/graphql/playground',
|
|
659
|
-
checks: hasAuthChecks
|
|
660
|
-
}
|
|
671
|
+
checks: hasAuthChecks,
|
|
672
|
+
},
|
|
661
673
|
];
|
|
662
674
|
const GRAPHQL_REPO_MANAGER_MENU_ITEMS = [
|
|
663
675
|
{
|
|
664
676
|
path: ['GraphQL', 'Endpoint Management'],
|
|
665
677
|
expectedUrl: '/graphql/endpoints',
|
|
666
|
-
checks: hasAuthChecks
|
|
678
|
+
checks: hasAuthChecks,
|
|
667
679
|
},
|
|
668
680
|
{
|
|
669
681
|
path: ['GraphQL', 'GraphQL Playground'],
|
|
670
682
|
expectedUrl: '/graphql/playground',
|
|
671
|
-
checks: hasAuthChecks
|
|
683
|
+
checks: hasAuthChecks,
|
|
672
684
|
},
|
|
673
685
|
{
|
|
674
686
|
path: ['Monitor', 'Backup and Restore'],
|
|
675
687
|
expectedUrl: '/monitor/backup-and-restore',
|
|
676
|
-
checks: hasAuthChecks
|
|
688
|
+
checks: hasAuthChecks,
|
|
677
689
|
},
|
|
678
690
|
{
|
|
679
691
|
path: ['Help', 'Interactive guides'],
|
|
680
692
|
expectedUrl: '/guides',
|
|
681
|
-
checks: hasAuthChecks
|
|
682
|
-
}
|
|
693
|
+
checks: hasAuthChecks,
|
|
694
|
+
},
|
|
683
695
|
];
|
|
684
696
|
|
|
685
697
|
const FREE_ACCESS_MENU_ITEMS_WITHOUT_GRAPHQL = [
|
|
@@ -687,35 +699,35 @@ describe('User and Access', () => {
|
|
|
687
699
|
{
|
|
688
700
|
path: ['Import'],
|
|
689
701
|
expectedUrl: '/import',
|
|
690
|
-
checks: noAuthChecks
|
|
702
|
+
checks: noAuthChecks,
|
|
691
703
|
},
|
|
692
704
|
|
|
693
705
|
// 2) Explore
|
|
694
706
|
{
|
|
695
707
|
path: ['Explore', 'Graphs overview'],
|
|
696
708
|
expectedUrl: '/graphs',
|
|
697
|
-
checks: noAuthChecks
|
|
709
|
+
checks: noAuthChecks,
|
|
698
710
|
},
|
|
699
711
|
{
|
|
700
712
|
path: ['Explore', 'Class hierarchy'],
|
|
701
713
|
expectedUrl: '/hierarchy',
|
|
702
|
-
checks: noAuthChecks
|
|
714
|
+
checks: noAuthChecks,
|
|
703
715
|
},
|
|
704
716
|
{
|
|
705
717
|
path: ['Explore', 'Class relationships'],
|
|
706
718
|
expectedUrl: '/relationships',
|
|
707
|
-
checks: noAuthChecks
|
|
719
|
+
checks: noAuthChecks,
|
|
708
720
|
},
|
|
709
721
|
{
|
|
710
722
|
path: ['Explore', 'Visual graph'],
|
|
711
723
|
expectedUrl: '/graphs-visualizations',
|
|
712
|
-
checks: noAuthChecks
|
|
724
|
+
checks: noAuthChecks,
|
|
713
725
|
},
|
|
714
726
|
{
|
|
715
727
|
path: ['Explore', 'Similarity'],
|
|
716
728
|
expectedTitle: 'Similarity indexes',
|
|
717
729
|
expectedUrl: '/similarity',
|
|
718
|
-
checks: noAuthChecks
|
|
730
|
+
checks: noAuthChecks,
|
|
719
731
|
},
|
|
720
732
|
|
|
721
733
|
// 3) SPARQL
|
|
@@ -723,48 +735,47 @@ describe('User and Access', () => {
|
|
|
723
735
|
path: ['SPARQL'],
|
|
724
736
|
expectedTitle: 'SPARQL Query & Update',
|
|
725
737
|
expectedUrl: '/sparql',
|
|
726
|
-
checks: noAuthChecks
|
|
738
|
+
checks: noAuthChecks,
|
|
727
739
|
},
|
|
728
740
|
|
|
729
|
-
|
|
730
741
|
// 6) Setup
|
|
731
742
|
{
|
|
732
743
|
path: ['Setup', 'Connectors'],
|
|
733
744
|
expectedUrl: '/connectors',
|
|
734
745
|
expectedTitle: 'Connector management',
|
|
735
|
-
checks: noAuthChecks
|
|
746
|
+
checks: noAuthChecks,
|
|
736
747
|
},
|
|
737
748
|
{
|
|
738
749
|
path: ['Setup', 'Plugins'],
|
|
739
750
|
expectedUrl: '/plugins',
|
|
740
|
-
checks: noAuthChecks
|
|
751
|
+
checks: noAuthChecks,
|
|
741
752
|
},
|
|
742
753
|
{
|
|
743
754
|
path: ['Setup', 'Namespaces'],
|
|
744
755
|
expectedUrl: '/namespaces',
|
|
745
|
-
checks: noAuthChecks
|
|
756
|
+
checks: noAuthChecks,
|
|
746
757
|
},
|
|
747
758
|
{
|
|
748
759
|
path: ['Setup', 'Autocomplete'],
|
|
749
760
|
expectedUrl: '/autocomplete',
|
|
750
761
|
expectedTitle: 'Autocomplete index',
|
|
751
|
-
checks: noAuthChecks
|
|
762
|
+
checks: noAuthChecks,
|
|
752
763
|
},
|
|
753
764
|
{
|
|
754
765
|
path: ['Setup', 'RDF Rank'],
|
|
755
766
|
expectedUrl: '/rdfrank',
|
|
756
|
-
checks: noAuthChecks
|
|
767
|
+
checks: noAuthChecks,
|
|
757
768
|
},
|
|
758
769
|
{
|
|
759
770
|
path: ['Setup', 'JDBC'],
|
|
760
771
|
expectedUrl: '/jdbc',
|
|
761
772
|
expectedTitle: 'JDBC configuration',
|
|
762
|
-
checks: noAuthChecks
|
|
773
|
+
checks: noAuthChecks,
|
|
763
774
|
},
|
|
764
775
|
{
|
|
765
776
|
path: ['Setup', 'SPARQL Templates'],
|
|
766
777
|
expectedUrl: '/sparql-templates',
|
|
767
|
-
checks: noAuthChecks
|
|
778
|
+
checks: noAuthChecks,
|
|
768
779
|
},
|
|
769
780
|
|
|
770
781
|
// 7) Help
|
|
@@ -772,7 +783,7 @@ describe('User and Access', () => {
|
|
|
772
783
|
path: ['Help', 'REST API'],
|
|
773
784
|
expectedUrl: '/webapi',
|
|
774
785
|
expectedTitle: 'REST API documentation',
|
|
775
|
-
checks: hasAuthChecks
|
|
776
|
-
}
|
|
786
|
+
checks: hasAuthChecks,
|
|
787
|
+
},
|
|
777
788
|
];
|
|
778
789
|
});
|
|
@@ -37,7 +37,10 @@ describe('Share saved queries', () => {
|
|
|
37
37
|
// Then I expect that share query dialog will be opened
|
|
38
38
|
ShareSavedQueryDialog.getDialog().should('be.visible');
|
|
39
39
|
ShareSavedQueryDialog.getShareLink().then((shareLink) => {
|
|
40
|
-
|
|
40
|
+
const url = new URL(shareLink);
|
|
41
|
+
expect(url.pathname).to.equal('/sparql');
|
|
42
|
+
expect(url.searchParams.get('repositoryId')).to.equal(repositoryId);
|
|
43
|
+
expect(url.searchParams.get('savedQueryName')).to.equal(savedQueryName);
|
|
41
44
|
});
|
|
42
45
|
// When I click copy button
|
|
43
46
|
ShareSavedQueryDialog.copyLink();
|
|
@@ -138,8 +138,9 @@ describe('Ttyg ChatPanel', () => {
|
|
|
138
138
|
|
|
139
139
|
// When I click on first explain response button
|
|
140
140
|
TTYGViewSteps.getExplainResponseButton(0).realHover();
|
|
141
|
-
// Then I expect to explain button to be visible.
|
|
141
|
+
// Then I expect to explain button to be visible and not disabled.
|
|
142
142
|
TTYGViewSteps.getExplainResponseButton(0).should('be.visible');
|
|
143
|
+
TTYGViewSteps.getExplainResponseButton(0).should('not.be.disabled');
|
|
143
144
|
|
|
144
145
|
// When I click on the button.
|
|
145
146
|
TTYGStubs.stubExplainResponse();
|
|
@@ -217,6 +218,9 @@ describe('Ttyg ChatPanel', () => {
|
|
|
217
218
|
expect(text.trim()).to.equal('Request cancelled by the user.');
|
|
218
219
|
});
|
|
219
220
|
ChatPanelSteps.getAssistantIcon(2).should('not.exist');
|
|
221
|
+
// And I expect the explain response button to be visible but disabled
|
|
222
|
+
TTYGViewSteps.getExplainResponseButton(2).should('be.visible');
|
|
223
|
+
TTYGViewSteps.getExplainResponseButton(2).should('be.disabled');
|
|
220
224
|
});
|
|
221
225
|
|
|
222
226
|
// Can't test this on CI
|
|
@@ -68,6 +68,20 @@
|
|
|
68
68
|
"instanceName": "NamedIndividuals"
|
|
69
69
|
}
|
|
70
70
|
},
|
|
71
|
+
{
|
|
72
|
+
"guideBlockName": "connectors-lucene-fields-remaining-fields-intro",
|
|
73
|
+
"options": {
|
|
74
|
+
"instanceName": "NamedIndividuals"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"guideBlockName": "show-documentation-link",
|
|
79
|
+
"options": {
|
|
80
|
+
"title": "Lucene connector",
|
|
81
|
+
"url": "connectors",
|
|
82
|
+
"documentationPath": "my-custom-link.html"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
71
85
|
{
|
|
72
86
|
"guideBlockName": "connectors-lucene-languages-intro",
|
|
73
87
|
"options": {
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"guideName": {
|
|
4
|
+
"en": "Create Similarity Index Guide"
|
|
5
|
+
},
|
|
6
|
+
"options": {},
|
|
7
|
+
"steps": [
|
|
8
|
+
{
|
|
9
|
+
"guideBlockName": "create-similarity-index"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"guideBlockName": "similarity-view-created-index",
|
|
13
|
+
"options": {
|
|
14
|
+
"indexName": "new-similarity-index",
|
|
15
|
+
"title": "Select by index name"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"guideBlockName": "similarity-view-created-index",
|
|
20
|
+
"options": {
|
|
21
|
+
"rowIndex": 0,
|
|
22
|
+
"title": "Select by row index 0 (first row)"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"guideBlockName": "similarity-view-created-index",
|
|
27
|
+
"options": {
|
|
28
|
+
"title": "Select default index 0 (first row)"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"guideBlockName": "guide-end"
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"guideName": {
|
|
4
|
+
"en": "Download guide resource"
|
|
5
|
+
},
|
|
6
|
+
"steps": [
|
|
7
|
+
{
|
|
8
|
+
"guideBlockName": "download-guide-resource",
|
|
9
|
+
"options": {
|
|
10
|
+
"resourcePath": "file-path",
|
|
11
|
+
"resourceFile": "file.ttl"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"guideBlockName": "download-guide-resource",
|
|
16
|
+
"options": {
|
|
17
|
+
"title": "Download guide resource - with repositoryId",
|
|
18
|
+
"resourcePath": "file-path",
|
|
19
|
+
"resourceFile": "file.ttl",
|
|
20
|
+
"repositoryId": "test-repo"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
]
|