diff --git a/e2e-tests/cypress-legacy.config.js b/e2e-tests/cypress-legacy.config.js
index 9892ad6315..87e6d09b74 100644
--- a/e2e-tests/cypress-legacy.config.js
+++ b/e2e-tests/cypress-legacy.config.js
@@ -15,7 +15,7 @@ export default defineConfig({
screenshotsFolder: 'report/screenshots',
videosFolder: 'report/videos',
video: true,
- defaultCommandTimeout: 25000,
+ defaultCommandTimeout: 8000,
numTestsKeptInMemory: 10,
viewportWidth: 1600,
viewportHeight: 1200,
diff --git a/e2e-tests/e2e-legacy/sparql-editor/actions/execute-query.spec.js b/e2e-tests/e2e-legacy/sparql-editor/actions/execute-query.spec.js
index 2916ede973..6cfe15b4b0 100644
--- a/e2e-tests/e2e-legacy/sparql-editor/actions/execute-query.spec.js
+++ b/e2e-tests/e2e-legacy/sparql-editor/actions/execute-query.spec.js
@@ -4,7 +4,6 @@ import {QueryStubs} from "../../../stubs/yasgui/query-stubs";
import {YasqeSteps} from "../../../steps/yasgui/yasqe-steps";
describe('Execute query', () => {
-
let repositoryId;
beforeEach(() => {
@@ -23,9 +22,8 @@ describe('Execute query', () => {
});
it('Should be able to execute query from each editor tab', () => {
- cy.intercept('POST', `/repositories/${repositoryId}`).as('query');
YasqeSteps.executeQuery();
- cy.wait('@query').then((interception) => {
+ cy.wait(`@${repositoryId}-stub-query`).then((interception) => {
expect(interception.request.method).to.equal('POST');
const headers = interception.request.headers;
expect(headers).to.have.property('x-graphdb-local-consistency');
@@ -35,7 +33,7 @@ describe('Execute query', () => {
YasguiSteps.openANewTab();
YasguiSteps.getTabs().should('have.length', 2);
YasqeSteps.executeQuery();
- cy.wait('@query').then((interception) => {
+ cy.wait(`@${repositoryId}-stub-query`).then((interception) => {
expect(interception.request.method).to.equal('POST');
const headers = interception.request.headers;
expect(headers).to.have.property('x-graphdb-local-consistency');
diff --git a/e2e-tests/e2e-legacy/sparql-editor/actions/save-query.spec.js b/e2e-tests/e2e-legacy/sparql-editor/actions/save-query.spec.js
index 14e7c50d63..b72f8e350f 100644
--- a/e2e-tests/e2e-legacy/sparql-editor/actions/save-query.spec.js
+++ b/e2e-tests/e2e-legacy/sparql-editor/actions/save-query.spec.js
@@ -1,10 +1,10 @@
import {SparqlEditorSteps} from "../../../steps/sparql-editor-steps";
import {YasguiSteps} from "../../../steps/yasgui/yasgui-steps";
-import {ApplicationSteps} from "../../../steps/application-steps";
import {QueryStubs} from "../../../stubs/yasgui/query-stubs";
import {SaveQueryDialog} from "../../../steps/yasgui/save-query-dialog";
import {SavedQuery} from "../../../steps/yasgui/saved-query";
import {SavedQueriesDialog} from "../../../steps/yasgui/saved-queries-dialog";
+import {OntoToastrSteps} from '../../../steps/onto-toastr-steps.js';
describe('Save query', () => {
@@ -54,9 +54,7 @@ describe('Save query', () => {
SaveQueryDialog.writeQueryName(savedQueryName);
SaveQueryDialog.saveQuery();
// Then I expect that dialog will remain open and an error will be visible
- // TODO: find out why this check fails on Jenkins sometimes with
- // AssertionError: Timed out retrying after 30000ms: Expected to find element: `.toast-error`, but never found it. Queried from element:
- // ApplicationSteps.getErrorNotifications().should('be.visible');
+ OntoToastrSteps.getErrorToast().should('be.visible');
SaveQueryDialog.getSaveQueryDialog().should('be.visible');
SaveQueryDialog.getErrorsPane().should('contain', 'Error! Cannot create saved query');
// When I change the query name
@@ -65,6 +63,6 @@ describe('Save query', () => {
SaveQueryDialog.saveQuery();
// Then I should be able to save the query
SaveQueryDialog.getSaveQueryDialog().should('not.exist');
- ApplicationSteps.getSuccessNotifications().should('be.visible');
+ OntoToastrSteps.getSuccessToast().should('be.visible');
});
});
diff --git a/e2e-tests/e2e-legacy/sparql-editor/saved-query/delete-query.spec.js b/e2e-tests/e2e-legacy/sparql-editor/saved-query/delete-query.spec.js
index 5ea5635b70..a180f73926 100644
--- a/e2e-tests/e2e-legacy/sparql-editor/saved-query/delete-query.spec.js
+++ b/e2e-tests/e2e-legacy/sparql-editor/saved-query/delete-query.spec.js
@@ -1,10 +1,10 @@
import {SparqlEditorSteps} from "../../../steps/sparql-editor-steps";
import {YasguiSteps} from "../../../steps/yasgui/yasgui-steps";
-import {ApplicationSteps} from "../../../steps/application-steps";
import {QueryStubs} from "../../../stubs/yasgui/query-stubs";
import {SavedQuery} from "../../../steps/yasgui/saved-query";
import {SavedQueriesDialog} from "../../../steps/yasgui/saved-queries-dialog";
import {SaveQueryDialog} from "../../../steps/yasgui/save-query-dialog";
+import {OntoToastrSteps} from '../../../steps/onto-toastr-steps.js';
describe('Delete saved queries', () => {
@@ -49,7 +49,7 @@ describe('Delete saved queries', () => {
YasguiSteps.confirmDeleteOperation();
// Then selected query should be deleted
YasguiSteps.getDeleteQueryConfirmation().should('not.exist');
- ApplicationSteps.getSuccessNotifications().should('be.visible');
+ OntoToastrSteps.getSuccessToast().should('be.visible');
YasguiSteps.showSavedQueries();
SavedQueriesDialog.getSavedQueries().should('not.contain.text', savedQueryName);
});
diff --git a/e2e-tests/e2e-legacy/sparql-editor/yasgui-tabs.spec.js b/e2e-tests/e2e-legacy/sparql-editor/yasgui-tabs.spec.js
index 439967c7c9..265f0c603b 100644
--- a/e2e-tests/e2e-legacy/sparql-editor/yasgui-tabs.spec.js
+++ b/e2e-tests/e2e-legacy/sparql-editor/yasgui-tabs.spec.js
@@ -91,15 +91,15 @@ describe('Yasgui tabs', () => {
it('Should display information about ongoing requests if try to navigate to other page when there is a tab with ongoing request', () => {
// When I execute a long-running query,
- QueryStubs.stubLongRunningQuery(repositoryId);
SparqlEditorSteps.visitSparqlEditorPage();
+ QueryStubs.stubLongRunningQuery(repositoryId);
YasqeSteps.executeQueryWithoutWaiteResult();
// and try to navigate to other page.
MainMenuSteps.clickOnMenuImport();
// Then I expect to see confirm dialog that explain me about ongoing query.
ModalDialogSteps.getDialog().should('be.visible');
- ModalDialogSteps.getDialogBody().contains('You have running 1 query, that will be aborted.');
+ ModalDialogSteps.getDialogBody().should('contain','You have running 1 query. The query will be aborted.');
});
});
diff --git a/e2e-tests/package.json b/e2e-tests/package.json
index c1efe5a2c4..d3b58a0498 100644
--- a/e2e-tests/package.json
+++ b/e2e-tests/package.json
@@ -12,7 +12,7 @@
"cy:open-flaky": "cypress open --config-file cypress-flaky.config.js",
"cy:guides": "cypress run --config-file cypress-legacy.config.js --spec \"e2e-legacy/guides/**/*.spec.js\" --browser chrome",
"cy:run": "npm run cy:run-legacy && cypress run",
- "cy:run:partial": "cypress run --config-file cypress-legacy.config.js --spec \"e2e-legacy/**/jdbc-create.spec.js\" --browser chrome",
+ "cy:run:partial": "cypress run --config-file cypress-legacy.config.js --spec \"e2e-legacy/**/sparql-editor/**/*.spec.js\" --browser chrome",
"cy:run-legacy": "cypress run --config-file cypress-legacy.config.js --browser chrome",
"cy:run-security": "cypress run --config-file cypress-security.config.js --browser chrome",
"cy:run-legacy:coverage": "cypress run --config-file cypress-legacy.config.js --browser chrome",
diff --git a/e2e-tests/steps/error-steps.js b/e2e-tests/steps/error-steps.js
index d13d7d4972..addda08438 100644
--- a/e2e-tests/steps/error-steps.js
+++ b/e2e-tests/steps/error-steps.js
@@ -9,7 +9,7 @@ export class ErrorSteps {
}
static getNoConnectedRepoMessage() {
- return this.getRepositoryErrors().find('.alert.lead.alert-info');
+ return this.getRepositoryErrors().find('.alert.lead.alert-info, .no-active-repo-message');
}
static verifyNoConnectedRepoMessage() {
diff --git a/e2e-tests/steps/modal-dialog-steps.js b/e2e-tests/steps/modal-dialog-steps.js
index 9fbd9856be..cd066a7bd3 100644
--- a/e2e-tests/steps/modal-dialog-steps.js
+++ b/e2e-tests/steps/modal-dialog-steps.js
@@ -31,7 +31,8 @@ export class ModalDialogSteps extends BaseSteps {
}
static getDialogBody() {
- return ModalDialogSteps.getDialog().find('.modal-body');
+ // the second selector is for the new dialog body
+ return ModalDialogSteps.getDialog().find('.modal-body, [data-pc-section="content"]');
}
static verifyDialogBody(message) {
diff --git a/e2e-tests/steps/onto-toastr-steps.js b/e2e-tests/steps/onto-toastr-steps.js
new file mode 100644
index 0000000000..0b4239a2ea
--- /dev/null
+++ b/e2e-tests/steps/onto-toastr-steps.js
@@ -0,0 +1,21 @@
+export class OntoToastrSteps {
+ static getToastrContainer() {
+ return cy.get('.onto-toastr-container');
+ }
+
+ static getSuccessToast() {
+ return this.getToastrContainer().find('.toast.success');
+ }
+
+ static getErrorToast() {
+ return this.getToastrContainer().find('.toast.error');
+ }
+
+ static getInfoToast() {
+ return this.getToastrContainer().find('.toast.info');
+ }
+
+ static getWarningToast() {
+ return this.getToastrContainer().find('.toast.warning');
+ }
+}
diff --git a/e2e-tests/steps/yasgui/saved-query.js b/e2e-tests/steps/yasgui/saved-query.js
index cd8312a88f..158accd659 100644
--- a/e2e-tests/steps/yasgui/saved-query.js
+++ b/e2e-tests/steps/yasgui/saved-query.js
@@ -1,6 +1,6 @@
import {YasguiSteps} from "./yasgui-steps";
import {SaveQueryDialog} from "./save-query-dialog";
-import {ApplicationSteps} from "../application-steps";
+import {OntoToastrSteps} from '../onto-toastr-steps.js';
export const DEFAULT_QUERY = 'select *';
@@ -16,7 +16,7 @@ export class SavedQuery {
SaveQueryDialog.toggleIsPublic();
SaveQueryDialog.saveQuery();
SaveQueryDialog.getSaveQueryDialog().should('not.exist');
- ApplicationSteps.getSuccessNotifications().should('be.visible');
+ OntoToastrSteps.getSuccessToast().should('be.visible');
}
static generateQueryName() {
diff --git a/e2e-tests/stubs/yasgui/query-stubs.js b/e2e-tests/stubs/yasgui/query-stubs.js
index c8c4179c29..133ba27a2d 100644
--- a/e2e-tests/stubs/yasgui/query-stubs.js
+++ b/e2e-tests/stubs/yasgui/query-stubs.js
@@ -1,6 +1,9 @@
import {SecurityStubs} from "../security-stubs";
export class QueryStubs {
+ static spyQuery(repositoryId) {
+ cy.intercept('POST', `/repositories/${repositoryId}`).as('query');
+ }
static stubInferAndSameAsDefaults(infer = true, sameAs = true) {
SecurityStubs.stubInferAndSameAsDefaults();
diff --git a/packages/legacy-workbench/src/js/angular/plugin.js b/packages/legacy-workbench/src/js/angular/plugin.js
index e2a46b89cb..9cbd81e4ad 100644
--- a/packages/legacy-workbench/src/js/angular/plugin.js
+++ b/packages/legacy-workbench/src/js/angular/plugin.js
@@ -47,12 +47,12 @@ PluginRegistry.add('main.menu', {
},
);
PluginRegistry.add('main.menu', {
- disabled: true,
+ disabled: false,
items: [
{
- label: 'New YASGUI',
- labelKey: 'New YASGUI',
- href: 'sparql-new',
+ label: 'SPARQL',
+ labelKey: 'SPARQL',
+ href: 'sparql',
order: 1.9,
role: 'IS_AUTHENTICATED_FULLY',
icon: "icon-sparql",
diff --git a/packages/legacy-workbench/src/js/angular/sparql-editor/plugin.js b/packages/legacy-workbench/src/js/angular/sparql-editor/plugin.js
index dfb1a5ea47..461cca6d14 100644
--- a/packages/legacy-workbench/src/js/angular/sparql-editor/plugin.js
+++ b/packages/legacy-workbench/src/js/angular/sparql-editor/plugin.js
@@ -1,5 +1,5 @@
PluginRegistry.add('route', {
- 'url': '/sparql',
+ 'url': '/sparql-old',
'module': 'graphdb.framework.sparql-editor',
'path': 'sparql-editor/app',
'chunk': 'sparql',
@@ -9,20 +9,21 @@ PluginRegistry.add('route', {
'helpInfo': 'view.sparql-editor.helpInfo',
'reloadOnSearch': false,
'documentationUrl': 'sparql-queries.html',
- 'allowAuthorities': ['READ_REPO_{repoId}']
+ 'allowAuthorities': ['READ_REPO_{repoId}'],
});
-PluginRegistry.add('main.menu', {
- 'items': [
- {
- label: 'SPARQL',
- labelKey: 'menu.sparql.label',
- href: 'sparql',
- order: 2,
- role: 'IS_AUTHENTICATED_FULLY',
- icon: "icon-sparql",
- guideSelector: 'menu-sparql',
- children: []
- }
- ]
-});
+// PluginRegistry.add('main.menu', {
+// 'disabled': true,
+// 'items': [
+// {
+// label: 'SPARQL',
+// labelKey: 'menu.sparql.label',
+// href: 'sparqlaaa',
+// order: 2,
+// role: 'IS_AUTHENTICATED_FULLY',
+// icon: "icon-sparql",
+// guideSelector: 'menu-sparql',
+// children: [],
+// },
+// ],
+// });
diff --git a/packages/root-config/src/services/workbench-routes-provider.ts b/packages/root-config/src/services/workbench-routes-provider.ts
index 4288b9c85d..799d526277 100644
--- a/packages/root-config/src/services/workbench-routes-provider.ts
+++ b/packages/root-config/src/services/workbench-routes-provider.ts
@@ -7,11 +7,7 @@ export function getWorkbenchRoutes(): Route[] {
default: false,
},
{
- path: 'new-view',
- default: false,
- },
- {
- path: 'sparql-new',
+ path: 'sparql',
default: false,
},
{
diff --git a/packages/workbench/src/app/app.routes.ts b/packages/workbench/src/app/app.routes.ts
index b29a0a0ae0..b6696c6742 100644
--- a/packages/workbench/src/app/app.routes.ts
+++ b/packages/workbench/src/app/app.routes.ts
@@ -3,7 +3,7 @@ import {documentationLinkResolve} from './services/route-data-resolver';
export const routes: Routes = [
{
- path: 'sparql-new',
+ path: 'sparql',
data: {
title: 'sparql_editor.title',
helpInfo: 'sparql_editor.helpInfo',