graphdb-workbench-tests 3.3.0-TR6 → 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/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/setup/jdbc/jdbc-create.spec.js +2 -2
- package/e2e-legacy/setup/users-and-access/user-and-access.spec.js +82 -71
- 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 +2 -2
- package/package.json +1 -1
- 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/main-menu-steps.js +4 -0
- 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
|
@@ -80,7 +80,7 @@ describe('Connectors guide', () => {
|
|
|
80
80
|
cy.wait('@getGuides');
|
|
81
81
|
GuideSteps.runFirstGuide();
|
|
82
82
|
});
|
|
83
|
-
it
|
|
83
|
+
it('Should test Lucene connector steps', () => {
|
|
84
84
|
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
85
85
|
GuideDialogSteps.assertDialogWithContentIsVisible('The Lucene Connector in GraphDB enables extremely fast keyword and faceted (aggregation) searches. Unlike traditional setups where indexing is handled externally, this connector stays automatically synchronized with your repository data, ensuring accurate and up-to-date search results at all times.');
|
|
86
86
|
GuideDialogSteps.clickOnNextButton();
|
|
@@ -125,6 +125,17 @@ describe('Connectors guide', () => {
|
|
|
125
125
|
GuideDialogSteps.assertDialogWithContentIsVisible('The Facet option specifies whether the field is available for faceted searches in Lucene. Managed by the facet option (boolean, true by default).');
|
|
126
126
|
GuideDialogSteps.clickOnNextButton();
|
|
127
127
|
|
|
128
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
129
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('This lucene connector configuration contains multiple field mappings. They determine which values are searchable, filterable, or retrievable during query execution.');
|
|
130
|
+
GuideDialogSteps.clickOnNextButton();
|
|
131
|
+
|
|
132
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
133
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('For more information please visit GraphDB documentation');
|
|
134
|
+
GuideDialogSteps.getContentLink()
|
|
135
|
+
.should('have.attr', 'href')
|
|
136
|
+
.and('include', 'my-custom-link.html');
|
|
137
|
+
GuideDialogSteps.clickOnNextButton();
|
|
138
|
+
|
|
128
139
|
GuideDialogSteps.assertDialogWithTitleIsVisible('Lucene connector');
|
|
129
140
|
GuideDialogSteps.assertDialogWithContentIsVisible('The Languages option defines which RDF literal languages are mapped to the connector. You can provide a list of language ranges to include specific languages, or an empty range to include literals without a language tag.');
|
|
130
141
|
GuideDialogSteps.clickOnNextButton();
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import {GuideSteps} from '../../../steps/guides/guide-steps.js';
|
|
2
|
+
import {GuideDialogSteps} from '../../../steps/guides/guide-dialog-steps.js';
|
|
3
|
+
import {MainMenuSteps} from '../../../steps/main-menu-steps.js';
|
|
4
|
+
import {GuidesStubs} from '../../../stubs/guides/guides-stubs.js';
|
|
5
|
+
import {SimilarityIndexCreateSteps} from '../../../steps/explore/similarity-index-create-steps.js';
|
|
6
|
+
import {SimilarityIndexesSteps} from '../../../steps/explore/similarity-indexes-steps.js';
|
|
7
|
+
|
|
8
|
+
describe('Create similarity index guide steps', () => {
|
|
9
|
+
const FILE_TO_IMPORT = 'wine.rdf'
|
|
10
|
+
let repositoryId;
|
|
11
|
+
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
repositoryId = 'create-similarity-index-guide-' + Date.now();
|
|
14
|
+
GuidesStubs.stubCreateSimilarityIndexGuide();
|
|
15
|
+
cy.createRepository({id: repositoryId});
|
|
16
|
+
cy.importServerFile(repositoryId, FILE_TO_IMPORT);
|
|
17
|
+
cy.presetRepository(repositoryId);
|
|
18
|
+
|
|
19
|
+
GuideSteps.visit();
|
|
20
|
+
GuideSteps.verifyGuidesListExists();
|
|
21
|
+
cy.wait('@getGuides');
|
|
22
|
+
GuideSteps.runFirstGuide()
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
afterEach(() => {
|
|
26
|
+
cy.deleteRepository(repositoryId);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it('Should create similarity index', () => {
|
|
30
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 1/8');
|
|
31
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('The following steps show how to create a Similarity index for your dataset.');
|
|
32
|
+
GuideDialogSteps.clickOnNextButton();
|
|
33
|
+
|
|
34
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 2/8');
|
|
35
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Explore menu.');
|
|
36
|
+
MainMenuSteps.clickOnExplore();
|
|
37
|
+
|
|
38
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 3/8');
|
|
39
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Similarity menu.');
|
|
40
|
+
MainMenuSteps.clickOnSubmenuSimilarity();
|
|
41
|
+
|
|
42
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 4/8');
|
|
43
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click the link to start creating a new Similarity index');
|
|
44
|
+
SimilarityIndexesSteps.clickCreateButton();
|
|
45
|
+
|
|
46
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 5/8');
|
|
47
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Type a name for the index. You will refer to it later.');
|
|
48
|
+
SimilarityIndexCreateSteps.typeSimilarityIndexName('new-similarity-index');
|
|
49
|
+
GuideDialogSteps.clickOnNextButton();
|
|
50
|
+
|
|
51
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 6/8');
|
|
52
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click the button to create the Similarity index.')
|
|
53
|
+
SimilarityIndexCreateSteps.create();
|
|
54
|
+
|
|
55
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Create Similarity index — 8/8');
|
|
56
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Wait for index to be created')
|
|
57
|
+
GuideDialogSteps.clickOnNextButton();
|
|
58
|
+
|
|
59
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Select by index name');
|
|
60
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('In the Existing Indexes table, you can now see the new-similarity-index which is the similarity index we created with the previous query.')
|
|
61
|
+
GuideDialogSteps.clickOnNextButton();
|
|
62
|
+
|
|
63
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Select by row index 0 (first row)');
|
|
64
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('In the Existing Indexes table, you can now see the created index.')
|
|
65
|
+
GuideDialogSteps.clickOnNextButton();
|
|
66
|
+
|
|
67
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Select default index 0 (first row)');
|
|
68
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('In the Existing Indexes table, you can now see the created index.')
|
|
69
|
+
GuideDialogSteps.clickOnNextButton();
|
|
70
|
+
|
|
71
|
+
GuideDialogSteps.clickOnCloseButton();
|
|
72
|
+
GuideDialogSteps.assertDialogIsClosed();
|
|
73
|
+
});
|
|
74
|
+
});
|
|
@@ -0,0 +1,55 @@
|
|
|
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('Download guide resource guide steps', () => {
|
|
6
|
+
let repositoryId;
|
|
7
|
+
const resourcePath = 'file-path';
|
|
8
|
+
const resourceFile = 'file.ttl';
|
|
9
|
+
const guideRepositoryId = 'test-repo';
|
|
10
|
+
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
repositoryId = 'download-guide-resource-guide-' + Date.now();
|
|
13
|
+
GuidesStubs.stubDownloadGuideResourceGuide();
|
|
14
|
+
cy.createRepository({id: repositoryId});
|
|
15
|
+
cy.presetRepository(repositoryId);
|
|
16
|
+
|
|
17
|
+
GuidesStubs.stubDownloadResource(resourcePath, resourceFile);
|
|
18
|
+
|
|
19
|
+
GuideSteps.visit();
|
|
20
|
+
GuideSteps.verifyGuidesListExists();
|
|
21
|
+
cy.wait('@getGuides');
|
|
22
|
+
GuideSteps.runFirstGuide();
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
afterEach(() => {
|
|
26
|
+
cy.deleteRepository(repositoryId);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it('Should guide through download guide resource', () => {
|
|
30
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Download guide resources');
|
|
31
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('This guide requires a file to be downloaded.');
|
|
32
|
+
GuideDialogSteps.assertDialogWithContentIsVisible(`Please download ${resourceFile}.`);
|
|
33
|
+
GuideSteps.downloadResource();
|
|
34
|
+
|
|
35
|
+
cy.wait('@resource-download').then((interception) => {
|
|
36
|
+
expect(interception.response.statusCode).to.eq(200);
|
|
37
|
+
cy.readFile(`cypress/downloads/${resourceFile}`);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
GuideDialogSteps.clickOnNextButton();
|
|
41
|
+
|
|
42
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Download guide resource - with repositoryId');
|
|
43
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('This guide requires a file to be downloaded.');
|
|
44
|
+
GuideDialogSteps.assertDialogWithContentIsVisible(`Please download ${resourceFile}.`);
|
|
45
|
+
GuideSteps.downloadResource(guideRepositoryId);
|
|
46
|
+
|
|
47
|
+
cy.wait('@resource-download').then((interception) => {
|
|
48
|
+
expect(interception.response.statusCode).to.eq(200);
|
|
49
|
+
cy.readFile(`cypress/downloads/${resourceFile}`);
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
GuideDialogSteps.clickOnCloseButton();
|
|
53
|
+
GuideDialogSteps.assertDialogIsClosed();
|
|
54
|
+
});
|
|
55
|
+
});
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import {GuidesStubs} from "../../../../stubs/guides/guides-stubs.js";
|
|
2
|
+
import {TTYGStubs} from "../../../../stubs/ttyg/ttyg-stubs.js";
|
|
3
|
+
import {GuideSteps} from "../../../../steps/guides/guide-steps.js";
|
|
4
|
+
import {GuideDialogSteps} from "../../../../steps/guides/guide-dialog-steps.js";
|
|
5
|
+
import {TTYGViewSteps} from "../../../../steps/ttyg/ttyg-view-steps.js";
|
|
6
|
+
import {ChatPanelSteps} from "../../../../steps/ttyg/chat-panel-steps.js";
|
|
7
|
+
import {RepositoriesStubs} from "../../../../stubs/repositories/repositories-stubs.js";
|
|
8
|
+
import {TtygAgentSettingsModalSteps} from "../../../../steps/ttyg/ttyg-agent-settings-modal.steps.js";
|
|
9
|
+
import {BrowserStubs} from "../../../../stubs/browser-stubs.js";
|
|
10
|
+
|
|
11
|
+
describe('ttyg-conversation-guide', () => {
|
|
12
|
+
let repositoryId = 'starwars';
|
|
13
|
+
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
BrowserStubs.stubWindowOpen();
|
|
16
|
+
RepositoriesStubs.stubRepositories(0, '/repositories/get-ttyg-repositories.json');
|
|
17
|
+
RepositoriesStubs.stubBaseEndpoints(repositoryId);
|
|
18
|
+
cy.presetRepository(repositoryId);
|
|
19
|
+
GuidesStubs.stubTTYGConversationGuide();
|
|
20
|
+
TTYGStubs.stubAgentDefaultsGet();
|
|
21
|
+
TTYGStubs.stubChatsListGet();
|
|
22
|
+
TTYGStubs.stubAgentListGet();
|
|
23
|
+
TTYGStubs.stubChatGet();
|
|
24
|
+
TTYGStubs.stubCreateNewChat();
|
|
25
|
+
TTYGStubs.stubExplainResponse('/ttyg/chats/explain-response-3.json');
|
|
26
|
+
|
|
27
|
+
GuideSteps.visit();
|
|
28
|
+
GuideSteps.verifyGuidesListExists();
|
|
29
|
+
|
|
30
|
+
GuideSteps.runFirstGuide()
|
|
31
|
+
cy.wait('@getGuides');
|
|
32
|
+
cy.wait('@get-chat-list');
|
|
33
|
+
cy.wait('@get-agent-list');
|
|
34
|
+
cy.wait('@get-all-repositories');
|
|
35
|
+
cy.wait('@get-chat');
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it('should select an agent and have a conversation', () => {
|
|
39
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Select an agent — 1/5');
|
|
40
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('To talk to your graph, you need to select an agent first');
|
|
41
|
+
GuideDialogSteps.clickOnNextButton();
|
|
42
|
+
|
|
43
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Select an agent — 2/5');
|
|
44
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on the agents dropdown to see available agents');
|
|
45
|
+
TTYGViewSteps.openAgentsMenu();
|
|
46
|
+
|
|
47
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Select an agent — 3/5');
|
|
48
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click on you agent from the dropdown to select it');
|
|
49
|
+
TTYGViewSteps.selectAgent(0);
|
|
50
|
+
|
|
51
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Conversation with the agent — 2/12');
|
|
52
|
+
GuideDialogSteps.assertDialogWithContentIsVisible('Click the button to create a new chat');
|
|
53
|
+
TTYGViewSteps.createANewChat();
|
|
54
|
+
|
|
55
|
+
const codeToType = 'Count all the web pages published in 2020? Provide five sample names.'
|
|
56
|
+
|
|
57
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Ask the agent — 3/12');
|
|
58
|
+
GuideDialogSteps.assertDialogWithContentIsVisible(`Type "${codeToType}" in the input and press enter`);
|
|
59
|
+
ChatPanelSteps.typeQuestion(codeToType);
|
|
60
|
+
ChatPanelSteps.askQuestionWithEnter();
|
|
61
|
+
|
|
62
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Ask the agent — 4/12');
|
|
63
|
+
GuideDialogSteps.assertDialogWithContentIsVisible(`Wait for the answer to be returned and explore it. When ready proceed by clicking next.`);
|
|
64
|
+
ChatPanelSteps.waitForLoaderToDisappear();
|
|
65
|
+
GuideDialogSteps.clickOnNextButton();
|
|
66
|
+
|
|
67
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Ask the agent — 6/12');
|
|
68
|
+
GuideDialogSteps.assertDialogWithContentIsVisible(`Explain the answer by clicking on the 'Explain response' button.`);
|
|
69
|
+
TTYGViewSteps.clickOnExplainResponse(0);
|
|
70
|
+
|
|
71
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Ask the agent — 7/12');
|
|
72
|
+
GuideDialogSteps.assertDialogWithContentIsVisible(`Wait for the answer to be returned and explore it. When ready proceed by clicking next.`);
|
|
73
|
+
ChatPanelSteps.waitForLoaderToDisappear();
|
|
74
|
+
GuideDialogSteps.clickOnNextButton();
|
|
75
|
+
|
|
76
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Ask the agent — 9/12');
|
|
77
|
+
GuideDialogSteps.assertDialogWithContentIsVisible(`You can open the query in the SPARQL editor by clicking on 'Open in SPARQL editor' button. When you are ready, return to the page.`);
|
|
78
|
+
TtygAgentSettingsModalSteps.clickOpenQueryInSparqlEditor();
|
|
79
|
+
|
|
80
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Ask the agent — 11/12');
|
|
81
|
+
GuideDialogSteps.assertDialogWithContentIsVisible(`You can ask the agent how it derived the answer by clicking on the button`);
|
|
82
|
+
TTYGViewSteps.clickOnHowDeliverAnswerButton();
|
|
83
|
+
|
|
84
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible('Ask the agent — 12/12');
|
|
85
|
+
GuideDialogSteps.assertDialogWithContentIsVisible(`Wait for the answer to be returned and explore it. When ready proceed by clicking next.`);
|
|
86
|
+
GuideDialogSteps.clickOnCloseButton();
|
|
87
|
+
});
|
|
88
|
+
})
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import {GuideSteps} from '../../../steps/guides/guide-steps';
|
|
2
|
+
import {GuideDialogSteps} from '../../../steps/guides/guide-dialog-steps.js';
|
|
3
|
+
import {LoginSteps} from '../../../steps/login-steps.js';
|
|
4
|
+
import HomeSteps from '../../../steps/home-steps.js';
|
|
5
|
+
|
|
6
|
+
describe('Guides autostart', () => {
|
|
7
|
+
const guideName = 'star-wars';
|
|
8
|
+
|
|
9
|
+
describe('With security disabled', () => {
|
|
10
|
+
it('Should autostart guide', () => {
|
|
11
|
+
// Given, I visit the home page with autostart guide parameter in URL
|
|
12
|
+
GuideSteps.autostartGuide(guideName);
|
|
13
|
+
// Then, I should see the guide
|
|
14
|
+
GuideSteps.assertPageNotInteractive();
|
|
15
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible(`Welcome to`);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
describe('With security enabled', () => {
|
|
20
|
+
beforeEach(() => {
|
|
21
|
+
cy.switchOnSecurity();
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
afterEach(() => {
|
|
25
|
+
cy.loginAsAdmin();
|
|
26
|
+
cy.switchOffSecurity(true);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
context('admin', () => {
|
|
30
|
+
it('Should autostart guide with admin', () => {
|
|
31
|
+
// Given, I visit the home page with autostart guide parameter in URL
|
|
32
|
+
GuideSteps.autostartGuide(guideName);
|
|
33
|
+
// Then, I should see the login page and login with admin user
|
|
34
|
+
LoginSteps.loginWithUser('admin', 'root');
|
|
35
|
+
// Then, I should see the guide
|
|
36
|
+
GuideSteps.assertPageNotInteractive();
|
|
37
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible(`Welcome to`);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
context('repo manager', () => {
|
|
42
|
+
beforeEach(() => {
|
|
43
|
+
cy.loginAsAdmin();
|
|
44
|
+
cy.createUser({
|
|
45
|
+
username: 'repoManager',
|
|
46
|
+
password: 'root',
|
|
47
|
+
grantedAuthorities: ['ROLE_REPO_MANAGER', 'WRITE_REPO_*', 'READ_REPO_*'],
|
|
48
|
+
}, true);
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
afterEach(() => {
|
|
52
|
+
cy.deleteUser('repoManager', true);
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
it('Should autostart guide with repo manager', () => {
|
|
56
|
+
// Given, I visit the home page with autostart guide parameter in URL
|
|
57
|
+
GuideSteps.autostartGuide(guideName);
|
|
58
|
+
// Then, I should see the login page and login with repo manager user
|
|
59
|
+
LoginSteps.loginWithUser('repoManager', 'root');
|
|
60
|
+
// Then, I should see the guide
|
|
61
|
+
GuideSteps.assertPageNotInteractive();
|
|
62
|
+
|
|
63
|
+
GuideDialogSteps.assertDialogWithTitleIsVisible(`Welcome to`);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
context('user', () => {
|
|
68
|
+
beforeEach(() => {
|
|
69
|
+
cy.loginAsAdmin();
|
|
70
|
+
cy.createUser({
|
|
71
|
+
username: 'user',
|
|
72
|
+
password: 'root',
|
|
73
|
+
grantedAuthorities: ['WRITE_REPO_*', 'READ_REPO_*'],
|
|
74
|
+
}, true);
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
afterEach(() => {
|
|
78
|
+
cy.deleteUser('user', true);
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
it('Should not autostart guide with user', () => {
|
|
82
|
+
// Given, I visit the home page with autostart guide parameter in URL
|
|
83
|
+
GuideSteps.autostartGuide(guideName);
|
|
84
|
+
// Then, I should see the login page and login with user
|
|
85
|
+
LoginSteps.loginWithUser('user', 'root');
|
|
86
|
+
// Then, I should not see the guide
|
|
87
|
+
HomeSteps.getTutorialPanel().should('be.visible');
|
|
88
|
+
GuideSteps.getGuidesModal().should('not.exist');
|
|
89
|
+
GuideDialogSteps.getModalDialog().should('not.exist');
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
});
|
|
@@ -6,7 +6,7 @@ import {ModalDialogSteps, VerifyConfirmationDialogOptions} from "../../../steps/
|
|
|
6
6
|
import {YasqeSteps} from "../../../steps/yasgui/yasqe-steps";
|
|
7
7
|
import {MainMenuSteps} from "../../../steps/main-menu-steps";
|
|
8
8
|
import {RepositorySelectorSteps} from "../../../steps/repository-selector-steps";
|
|
9
|
-
import {
|
|
9
|
+
import {ApplicationSteps} from "../../../steps/application-steps.js";
|
|
10
10
|
|
|
11
11
|
const FILE_TO_IMPORT = '200-row-allianz.ttl';
|
|
12
12
|
const DEFAULT_QUERY = 'PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n' +
|
|
@@ -64,7 +64,7 @@ describe('JDBC configuration', () => {
|
|
|
64
64
|
JdbcCreateSteps.clickOnPreviewButton();
|
|
65
65
|
|
|
66
66
|
// Then I expect to see loader,
|
|
67
|
-
|
|
67
|
+
ApplicationSteps.geLoader().should('contain', 'Preview of first 100 rows of table');
|
|
68
68
|
// and see the generated preview.
|
|
69
69
|
YasrSteps.getResults().should('be.visible');
|
|
70
70
|
});
|