UNPKG

graphdb-workbench-tests

Version:
85 lines (77 loc) 3.87 kB
import {SparqlEditorSteps} from "../../../steps/sparql-editor-steps"; import {YasguiSteps} from "../../../steps/yasgui/yasgui-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 {RepositorySelectorSteps} from "../../../steps/repository-selector-steps"; describe('Edit saved queries', () => { let repositoryId; let savedQueryName; beforeEach(() => { repositoryId = 'sparql-editor-' + Date.now(); savedQueryName = SavedQuery.generateQueryName(); QueryStubs.stubQueryCountResponse(); cy.createRepository({id: repositoryId}); cy.presetRepository(repositoryId); QueryStubs.stubDefaultQueryResponse(repositoryId); SparqlEditorSteps.visitSparqlEditorPage(); RepositorySelectorSteps.getSelectedRepository().should('contain', repositoryId); }); afterEach(() => { cy.deleteSavedQuery(savedQueryName); cy.deleteRepository(repositoryId); }); it('Should prevent saving query with duplicated name', () => { // Given I have created a query SavedQuery.create(savedQueryName); // When I open the saved queries popup YasguiSteps.showSavedQueries(); // Then I expect to see the last saved query in the list SavedQueriesDialog.getSavedQueries().should('contain', savedQueryName); // When I edit the saved query SavedQueriesDialog.editQueryByName(savedQueryName); // Then I expect that save query dialog should be opened SaveQueryDialog.getQueryNameField().should('have.value', savedQueryName); SaveQueryDialog.getQueryField().should('have.value', 'select *'); SaveQueryDialog.getIsPublicField().should('be.checked'); // When I change the query SaveQueryDialog.clearQueryField(); SaveQueryDialog.writeQuery('select $s $p $o'); // And try to save the query SaveQueryDialog.saveQuery(); // Then the query should be updated SaveQueryDialog.getSaveQueryDialog().should('not.exist'); YasguiSteps.showSavedQueries(); SavedQueriesDialog.editQueryByName(savedQueryName); SaveQueryDialog.getQueryField().should('have.value', 'select $s $p $o'); // Then I close the dialog SaveQueryDialog.closeSaveQueryDialog(); }); it('should allow renaming saved query', () => { // Given I have created a query SavedQuery.create(savedQueryName); // When I open the saved queries popup YasguiSteps.showSavedQueries(); // And I edit the saved query SavedQueriesDialog.editQueryByName(savedQueryName); // Then the save query dialog should be opened SaveQueryDialog.getQueryNameField().should('have.value', savedQueryName); SaveQueryDialog.getQueryField().should('have.value', 'select *'); SaveQueryDialog.getIsPublicField().should('be.checked'); // When I change the query name SaveQueryDialog.clearQueryNameField(); savedQueryName = SavedQuery.generateQueryName(); SaveQueryDialog.writeQueryName(savedQueryName); // And try to save the query SaveQueryDialog.saveQuery(); // Then the query should be updated SaveQueryDialog.getSaveQueryDialog().should('not.exist'); YasguiSteps.showSavedQueries(); SavedQueriesDialog.editQueryByName(savedQueryName); SaveQueryDialog.getQueryNameField().should('have.value', savedQueryName); SaveQueryDialog.getQueryField().should('have.value', 'select *'); // Then I close the dialog SaveQueryDialog.closeSaveQueryDialog(); }); });