diff --git a/cypress/e2e/01-block-basics.cy.js b/cypress/e2e/01-block-basics.cy.js deleted file mode 100644 index a87a8d5b..00000000 --- a/cypress/e2e/01-block-basics.cy.js +++ /dev/null @@ -1,32 +0,0 @@ -import { slateBeforeEach, slateAfterEach } from '../support/e2e'; - -describe('Blocks Tests', () => { - beforeEach(slateBeforeEach); - afterEach(slateAfterEach); - - it('Add Block: Empty', () => { - cy.clearSlateTitle(); - cy.getSlateTitle().type('My Add-on Page'); - - cy.get('.documentFirstHeading').contains('My Add-on Page'); - - cy.getSlate().click(); - - cy.get('#toolbar-save').click(); - cy.url().should('eq', Cypress.config().baseUrl + '/cypress/my-page'); - - cy.get('#toolbar-personal').click(); - cy.contains('Site Setup').click(); - - cy.contains('Version Overview'); - cy.contains('Frontend'); - cy.contains('History'); - cy.contains('Backend'); - cy.contains('Plone'); - cy.contains('plone.restapi'); - cy.contains('CMF'); - cy.contains('Zope'); - cy.contains('Python'); - cy.contains('PIL'); - }); -}); diff --git a/cypress/e2e/01-block-columns.cy.js b/cypress/e2e/01-block-columns.cy.js deleted file mode 100644 index 813baefc..00000000 --- a/cypress/e2e/01-block-columns.cy.js +++ /dev/null @@ -1,72 +0,0 @@ -import { slateBeforeEach, slateAfterEach } from '../support/e2e'; - -describe('Blocks Tests', () => { - beforeEach(slateBeforeEach); - afterEach(slateAfterEach); - - it('Add Block: Empty', () => { - // Change page title - cy.clearSlateTitle(); - cy.getSlateTitle().type('My Add-on Page'); - - cy.get('.documentFirstHeading').contains('My Add-on Page'); - - cy.getSlate().click(); - - // Add block - cy.get('.ui.basic.icon.button.block-add-button').first().click(); - cy.get('.blocks-chooser .title').contains('Common').click(); - cy.get('.content.active.common .button.columnsBlock') - .contains('Columns') - .click({ force: true }); - - cy.get('.columns-block .ui.card').eq(2).click(); - cy.get('.field-wrapper-title #field-title').last().type('Column test'); - cy.get('.field-wrapper-data .columns-area button').last().click(); - - cy.get('.columns-area .drag.handle.wrapper') - .first() - .trigger('mousedown', { which: 1 }, { force: true }) - .trigger('mousemove', 0, 60, { force: true }) - .trigger('mouseup'); - - cy.get('.field-wrapper-gridCols #field-gridCols').click(); - cy.get('.react-select__menu').contains('25').click(); - - cy.get('[contenteditable=true]').first().focus().click(); - cy.get('.columns-block [contenteditable=true]') - .eq(0) - .focus() - .click() - .type('First'); - cy.get('.columns-block [contenteditable=true]') - .eq(1) - .focus() - .click() - .type('Second'); - cy.get('.columns-block [contenteditable=true]') - .eq(2) - .focus() - .click() - .type('Third'); - cy.get('.block-toolbar button').eq(1).click(); - - cy.get( - '.field-wrapper-grid_vertical_align #field-grid_vertical_align', - ).click(); - cy.get('.react-select__menu').contains('Middle').click(); - cy.get('.field-wrapper-backgroundColor .ui.huge.button').click(); - cy.get('.github-picker.color-picker span').eq(3).click(); - - // Save - cy.get('#toolbar-save').click(); - cy.url().should('eq', Cypress.config().baseUrl + '/cypress/my-page'); - - // then the page view should contain our changes - cy.contains('My Add-on Page'); - cy.contains('First'); - cy.contains('Second'); - cy.contains('Third'); - cy.get('.columns-view'); - }); -}); diff --git a/cypress/e2e/01-block-group.cy.js b/cypress/e2e/01-block-group.cy.js deleted file mode 100644 index ed117d56..00000000 --- a/cypress/e2e/01-block-group.cy.js +++ /dev/null @@ -1,51 +0,0 @@ -import { slateBeforeEach, slateAfterEach } from '../support/e2e'; - -describe('Blocks Tests', () => { - beforeEach(slateBeforeEach); - afterEach(slateAfterEach); - - it('Add Block: Empty', () => { - // Change page title - cy.clearSlateTitle(); - cy.getSlateTitle().type('My Add-on Page'); - - cy.get('.documentFirstHeading').contains('My Add-on Page'); - - cy.getSlate().click(); - - // Add block - cy.get('.ui.basic.icon.button.block-add-button').first().click(); - cy.get('.blocks-chooser .title').contains('Common').click(); - cy.get('.content.active.common .button.group') - .contains('Section (Group)') - .click({ force: true }); - - cy.get('.block-editor-group .block-editor-slate') - .click() - .type('test{enter}'); - cy.get('.block-editor-group div[contenteditable*=true]') - .eq(1) - .focus() - .click() - .type('test2{enter}'); - cy.get('.block-editor-group div[contenteditable*=true]') - .eq(1) - .focus() - .click() - .type('test3'); - - cy.get('.block-toolbar svg') - .first() - .trigger('mousedown', { button: 0 }) - .trigger('mousemove', 10, -40, { force: true }) - .trigger('mouseup', 10, -40, { force: true }); - - // Save - cy.get('#toolbar-save').click(); - cy.url().should('eq', Cypress.config().baseUrl + '/cypress/my-page'); - - // then the page view should contain our changes - cy.contains('My Add-on Page'); - cy.contains('test2'); - }); -}); diff --git a/cypress/e2e/01-block-slate-metadata-mentions.cy.js b/cypress/e2e/01-block-slate-metadata-mentions.cy.js deleted file mode 100644 index 4d937fd4..00000000 --- a/cypress/e2e/01-block-slate-metadata-mentions.cy.js +++ /dev/null @@ -1,40 +0,0 @@ -import { slateBeforeEach, slateAfterEach } from '../support/e2e'; - -describe('Block Tests: Metadata', () => { - beforeEach(slateBeforeEach); - afterEach(slateAfterEach); - - it('As editor I can add metadata mentions', function () { - // Complete chained commands - cy.getSlateEditorAndType('Colorless green ideas sleep furiously.'); - - // Metadata mention - cy.setSlateSelection('Colorless', 'green'); - cy.clickSlateButton('Metadata'); - - cy.get('.sidebar-container div[id="field-metadata"]') - .type('Publishing Date{enter}'); - cy.get('.sidebar-container .form .header button:first-of-type').click(); - - // Remove link - cy.setSlateSelection('Colorless') - .setSlateSelection('green'); - cy.clickSlateButton('Remove metadata'); - - // Re-add link - cy.setSlateSelection('green', 'sleep'); - cy.clickSlateButton('Metadata'); - - cy.get('.sidebar-container div[id="field-metadata"]') - .type('Summary{enter}'); - cy.get('.sidebar-container [id="blockform-fieldset-metadata"] [id="field-description"]') - .type('blue cats sleep'); - cy.get('.sidebar-container .form .header button:first-of-type').click(); - - // Save - cy.toolbarSave(); - - // then the page view should contain a link - cy.contains('Colorless blue cats sleep furiously.'); - }); -}); diff --git a/cypress/e2e/01-block-tabs.cy.js b/cypress/e2e/01-block-tabs.cy.js deleted file mode 100644 index fb426c19..00000000 --- a/cypress/e2e/01-block-tabs.cy.js +++ /dev/null @@ -1,75 +0,0 @@ -import { slateBeforeEach, slateAfterEach } from '../support/e2e'; - -describe('Blocks Tests', () => { - beforeEach(slateBeforeEach); - afterEach(slateAfterEach); - - it('Add Block: Empty', () => { - // Change page title - cy.clearSlateTitle(); - cy.getSlateTitle().type('My Add-on Page'); - - cy.get('.documentFirstHeading').contains('My Add-on Page'); - - cy.getSlate().click(); - - // Add block - cy.get('.ui.basic.icon.button.block-add-button').first().click(); - cy.get('.blocks-chooser .title').contains('Media').click(); - cy.get('.content.active.media .button.image').contains('Image').click(); - - cy.getSlate().click(); - - cy.get('.ui.basic.icon.button.block-add-button').first().click(); - cy.get('.blocks-chooser .title').contains('Common').click(); - cy.get('.content.active.common .button.tabs_block') - .contains('Tabs') - .click({ force: true }); - - cy.get('.field-wrapper-title input').last().type('Tab 1'); - cy.get('.field-wrapper-template #field-template').click(); - cy.get('.react-select__menu').contains('Default').click(); - cy.get('.field-wrapper-verticalAlign #field-verticalAlign').click(); - cy.get('.react-select__menu').contains('Middle').click(); - - cy.get('.field-wrapper-menuAlign #field-menuAlign').click(); - cy.get('.react-select__menu').contains('Left').click(); - cy.get('.field-wrapper-menuPosition #field-menuPosition').first().click(); - cy.get('.react-select__menu').contains('Top').click(); - - cy.get('.tabs-block .block-editor-slate').first().type('Hydrogen'); - cy.get('.tabs-block .ui.left.menu .item').last().click(); - cy.get('.tabs-block').contains('Tab 2').click(); - cy.get('.tabs-block.edit .block-editor-slate').first().type('Oxygen'); - - cy.getSlate().click(); - cy.get('.ui.basic.icon.button.block-add-button').first().click(); - cy.get('.blocks-chooser .title').contains('Common').click(); - cy.get('.content.active.common .button.tabs_block') - .contains('Tabs') - .click({ force: true }); - - cy.get('.field-wrapper-template #field-template').click(); - cy.get('.react-select__menu').contains('Carousel horizontal').click(); - cy.get('.field-wrapper-verticalAlign #field-verticalAlign').click(); - cy.get('.react-select__menu').contains('Bottom').click(); - cy.get('.field-wrapper-theme #field-theme').click(); - cy.get('.react-select__menu').contains('Dark').click(); - cy.get('.tabs-block .ui.menu .item').last().click(); - cy.get('.tabs-block .ui.menu .item').eq(1).click(); - - // Save - cy.get('#toolbar-save').click(); - cy.url().should('eq', Cypress.config().baseUrl + '/cypress/my-page'); - - // then the page view should contain our changes - cy.contains('My Add-on Page'); - cy.contains('Hydrogen'); - - cy.get('.tabs-block p').contains('Tab 2').click(); - cy.contains('Oxygen'); - - cy.get('.slick-arrow').click(); - cy.get('.block.image'); - }); -}); diff --git a/cypress/e2e/01-blocks-accordion.cy.js b/cypress/e2e/01-blocks-accordion.cy.js deleted file mode 100644 index a12b1274..00000000 --- a/cypress/e2e/01-blocks-accordion.cy.js +++ /dev/null @@ -1,129 +0,0 @@ -import { slateBeforeEach, slateAfterEach } from '../support/e2e'; - -describe('Blocks Tests', () => { - beforeEach(slateBeforeEach); - afterEach(slateAfterEach); - - it('Accordion Block: Empty', () => { - // Change page title - cy.clearSlateTitle(); - cy.getSlateTitle().type('My Add-on Page'); - - cy.get('.documentFirstHeading').contains('My Add-on Page'); - - cy.getSlate().click(); - - // Add metadata block - cy.get('.ui.basic.icon.button.block-add-button').first().click(); - cy.get('.blocks-chooser .title').contains('Common').click(); - cy.get('.content.active.common .button.accordion') - .contains('Accordion') - .click({ force: true }); - - // Save - cy.get('#toolbar-save').click(); - cy.url().should('eq', Cypress.config().baseUrl + '/cypress/my-page'); - - // then the page view should contain our changes - cy.contains('My Add-on Page'); - }); - - it('Accordion Block: Change Title', () => { - cy.clearSlateTitle(); - cy.getSlateTitle().type('My Add-on Page'); - - cy.get('.documentFirstHeading').contains('My Add-on Page'); - - cy.getSlate().click(); - - // Add accordion block - cy.get('.ui.basic.icon.button.block-add-button').first().click(); - cy.get('.blocks-chooser .title').contains('Common').click(); - cy.get('.content.active.common .button.accordion') - .contains('Accordion') - .click({ force: true }); - - // By default all should be collapsed (no active class on first) - cy.get('.accordion:nth-child(2)').should('not.have.class', 'active'); - - cy.get('.accordion:nth-child(2) > .title input') - .click() - .type('Accordion panel 1') - .should('have.value', 'Accordion panel 1'); - - cy.get('[id="field-title_size"] .react-select__value-container') - .click() - .type('h2{enter}'); - - // Save - cy.get('#toolbar-save').click(); - cy.url().should('eq', Cypress.config().baseUrl + '/cypress/my-page'); - - // then the page view should contain our changes - cy.contains('My Add-on Page'); - cy.get('h2.accordion-title').contains('Accordion panel 1'); - }); - - it('Accordion Block: add accordion content', () => { - // Change page title - cy.clearSlateTitle(); - cy.getSlateTitle().type('My Add-on Page'); - - cy.get('.documentFirstHeading').contains('My Add-on Page'); - - cy.getSlate().click(); - - // Add block - cy.get('.ui.basic.icon.button.block-add-button').first().click(); - cy.get('.blocks-chooser .title').contains('Common').click(); - cy.get('.content.active.common .button.accordion') - .contains('Accordion') - .click({ force: true }); - - // enter title for first item in accordion (it is first of the accordion but second as child) - cy.get('.accordion:nth-child(2) > .title input') - .click() - .type('panel 1') - .should('have.value', 'panel 1'); - - // enter title for third item in accordion - // enter content - cy.get('.accordion:nth-child(3) > .title input').click(); - cy.get('.accordion:nth-child(3) > .title input').type('panel 2'); - cy.get('.accordion:nth-child(3) > .title > .icon').click(); - cy.wait(500); - - // the cypress test runs with both slate and draftjs. - cy.getIfExists( - '.accordion:nth-child(3) .content .public-DraftStyleDefault-block:nth-child(1)', - () => { - cy.get( - '.accordion:nth-child(3) .content .public-DraftStyleDefault-block:nth-child(1)', - ) - .should('have.value', '') - .invoke('attr', 'tabindex', 1) - .type('children', { delay: 50 }); - }, - () => { - cy.get('.accordion:nth-child(3) .content div.text-slate-editor-inner') - .should('have.value', '') - .invoke('attr', 'tabindex', 1) - .click() - .type('children', { delay: 50 }); - }, - ); - - cy.get('#toolbar-save path').click({ force: true }); - cy.wait(1000); - - //after saving - cy.get('div.accordion-title > span').contains('panel 2'); - // after save, the 3 child becomes second - cy.get('.accordion:nth-child(2) > .title > .icon').click(); - cy.get('div.content') - .should('have.class', 'active') - .within(() => { - cy.get('p').contains('children'); - }); - }); -}); diff --git a/cypress/e2e/01-blocks-divider.cy.js b/cypress/e2e/01-blocks-divider.cy.js deleted file mode 100644 index 72f8a58a..00000000 --- a/cypress/e2e/01-blocks-divider.cy.js +++ /dev/null @@ -1,34 +0,0 @@ -import { slateBeforeEach, slateAfterEach } from '../support/e2e'; - -describe('Blocks Tests', () => { - beforeEach(slateBeforeEach); - afterEach(slateAfterEach); - - it('Add Block: Empty', () => { - // without this the clear command below does nothing sometimes - cy.clearSlateTitle(); - cy.getSlateTitle().type('My Add-on Page'); - - cy.get('.documentFirstHeading').contains('My Add-on Page'); - - cy.getSlate().click(); - - // Add Divider block - cy.get('.ui.basic.icon.button.block-add-button').first().click(); - cy.get('.blocks-chooser .title').contains('Common').click(); - cy.get('.content.active.common .button.dividerBlock') - .contains('Divider') - .click({ force: true }); - - cy.get('.sidebar-container label[for="field-section"]').click(); - cy.get('.sidebar-container label[for="field-short"]').click(); - - // Save - cy.get('#toolbar-save').click(); - cy.url().should('eq', Cypress.config().baseUrl + '/cypress/my-page'); - - // then the page view should contain our changes - cy.contains('My Add-on Page'); - cy.get('.section.divider.short'); - }); -}); diff --git a/cypress/e2e/01-blocks-metadata-section.cy.js b/cypress/e2e/01-blocks-metadata-section.cy.js deleted file mode 100644 index 397afea2..00000000 --- a/cypress/e2e/01-blocks-metadata-section.cy.js +++ /dev/null @@ -1,39 +0,0 @@ -import { slateBeforeEach, slateAfterEach } from '../support/e2e'; - -describe('Blocks Tests', () => { - beforeEach(slateBeforeEach); - afterEach(slateAfterEach); - - it('Add Metadata block: Description', () => { - // without this the clear command below does nothing sometimes - cy.clearSlateTitle(); - cy.getSlateTitle().type('My Add-on Page'); - - cy.get('.documentFirstHeading').contains('My Add-on Page'); - - cy.getSlate().click(); - - // Add Metadata Section block - cy.get('.ui.basic.icon.button.block-add-button').first().click(); - cy.get('.blocks-chooser .title').contains('Common').click(); - cy.get('.content.active.common .button.metadataSection') - .contains('Metadata Section') - .click({ force: true }); - - cy.get('.objectlist-widget button').contains('Add Field').click(); - cy.get('.objectlist-widget .react-select__value-container') - .click() - .type('Summary{enter}'); - cy.get('.block.metadataSection textarea') - .click() - .type('Test metadata: Summary'); - - // Save - cy.get('#toolbar-save').click(); - cy.url().should('eq', Cypress.config().baseUrl + '/cypress/my-page'); - - // then the page view should contain our changes - cy.contains('My Add-on Page'); - cy.get('#page-document p').contains('Test metadata: Summary'); - }); -}); diff --git a/cypress/e2e/01-blocks-metadata.cy.js b/cypress/e2e/01-blocks-metadata.cy.js deleted file mode 100644 index 08e510ad..00000000 --- a/cypress/e2e/01-blocks-metadata.cy.js +++ /dev/null @@ -1,34 +0,0 @@ -import { slateBeforeEach, slateAfterEach } from '../support/e2e'; - -describe('Blocks Tests', () => { - beforeEach(slateBeforeEach); - afterEach(slateAfterEach); - - it('Add Metadata block: Description', () => { - // Change page title - cy.clearSlateTitle(); - cy.getSlateTitle().type('My Add-on Page'); - - cy.get('.documentFirstHeading').contains('My Add-on Page'); - - cy.getSlate().click(); - - // Add Metadata block - cy.get('.ui.basic.icon.button.block-add-button').first().click(); - cy.get('.blocks-chooser .title').contains('Common').click(); - cy.get('.content.active.common .button.metadata') - .contains('Metadata') - .click({ force: true }); - - cy.get('.block.metadata input').click().type('Summary').type('{enter}'); - cy.get('.block.metadata textarea').click().type('Test metadata: Summary'); - - // Save - cy.get('#toolbar-save').click(); - cy.url().should('eq', Cypress.config().baseUrl + '/cypress/my-page'); - - // then the page view should contain our changes - cy.contains('My Add-on Page'); - cy.get('#page-document p').contains('Test metadata: Summary'); - }); -}); diff --git a/cypress/e2e/01-slate-footnote-block.cy.js b/cypress/e2e/01-slate-footnote-block.cy.js deleted file mode 100644 index 659df98f..00000000 --- a/cypress/e2e/01-slate-footnote-block.cy.js +++ /dev/null @@ -1,86 +0,0 @@ -import { slateBeforeEach, slateAfterEach } from '../support/e2e'; - -describe('Slate citations', () => { - beforeEach(slateBeforeEach); - afterEach(slateAfterEach); - - it('Add Footnotes block and create citation', () => { - // Complete chained commands - cy.getSlateEditorAndType('Colorless green ideas sleep furiously.') - .type('{selectAll}') - .dblclick(); - - // Footnote - cy.setSlateCursor('Colorless').dblclick(); - cy.setSlateSelection('Colorless', 'green'); - cy.clickSlateButton('Footnote'); - - cy.get('.sidebar-container .field-wrapper-footnote .react-select-container') - .click() - .type('Citation{enter}'); - cy.get('.sidebar-container .form .header button:first-of-type').click(); - - // Add block - cy.getSlateEditorAndType('{enter}'); - - cy.get('.ui.basic.icon.button.block-add-button').first().click(); - cy.get('.blocks-chooser .title').contains('Text').click(); - cy.get('.content.active.text .button.slateFootnotes') - .contains('Footnotes') - .click(); - - // Configure block - cy.get('[id=sidebar-properties] [name=title]').click().type('Footnotes'); - cy.get('[id=sidebar-properties] label[for=field-global]').click(); - - // Save - cy.get('#toolbar-save').click(); - cy.url().should('eq', Cypress.config().baseUrl + '/cypress/my-page'); - - // then the page view should contain our changes - cy.get('span.citation-item').contains('Colorless green'); - cy.contains('Footnotes'); - cy.contains('Citation'); - }); - - it('Add Footnotes block and create multiple citations', () => { - // Complete chained commands - cy.getSlateEditorAndType('Colorless green ideas sleep furiously.') - .type('{selectAll}') - .dblclick(); - - // Footnote - cy.setSlateCursor('Colorless').dblclick(); - cy.setSlateSelection('Colorless', 'green'); - cy.clickSlateButton('Footnote'); - - cy.get('.sidebar-container .field-wrapper-footnote .react-select-container') - .click() - .type('Citation{enter}') - .type('Yet another citation{enter}'); - cy.get('.sidebar-container .form .header button:first-of-type').click(); - - // Add block - cy.getSlateEditorAndType('{enter}'); - - cy.get('.ui.basic.icon.button.block-add-button').first().click(); - cy.get('.blocks-chooser .title').contains('Text').click(); - cy.get('.content.active.text .button.slateFootnotes') - .contains('Footnotes') - .click(); - - // Configure block - cy.get('[id=sidebar-properties] [name=title]').click().type('Footnotes'); - cy.get('[id=sidebar-properties] label[for=field-global]').click(); - - // Save - cy.get('#toolbar-save').click(); - cy.url().should('eq', Cypress.config().baseUrl + '/cypress/my-page'); - - // then the page view should contain our changes - cy.get('span.citation-item').contains('Colorless green'); - cy.contains('Footnotes'); - cy.contains('Citation'); - cy.contains('Yet another citation'); - }); -});