import '../utils/dismiss-local-backup'; describe('Markdown widget link', () => { before(() => { Cypress.config('defaultCommandTimeout', 4000); cy.task('setupBackend', { backend: 'test' }); }); beforeEach(() => { cy.clearLocalStorage(); cy.reload(); cy.loginAndNewPost(); cy.clearMarkdownEditorContent(); }); after(() => { cy.task('teardownBackend', { backend: 'test' }); }); describe('pressing backspace', () => { it('can add a new valid link', () => { const link = 'https://www.netlifycms.org/'; cy.window().then(win => { cy.stub(win, 'prompt').returns(link); }); cy.focused().clickLinkButton(); cy.confirmMarkdownEditorContent(`

${link}

`); // eslint-disable-next-line cypress/no-unnecessary-waiting cy.wait(300); cy.clickModeToggle(); cy.confirmRawEditorContent(`<${link}>`); }); it('can add a new invalid link', () => { const link = 'www.netlifycms.org'; cy.window().then(win => { cy.stub(win, 'prompt').returns(link); }); cy.focused().clickLinkButton(); cy.confirmMarkdownEditorContent(`

${link}

`); // eslint-disable-next-line cypress/no-unnecessary-waiting cy.wait(300); cy.clickModeToggle(); cy.confirmRawEditorContent(`[${link}](${link})`); }); it('can select existing text as link', () => { const link = 'https://www.netlifycms.org'; cy.window().then(win => { cy.stub(win, 'prompt').returns(link); }); const text = 'Netlify CMS'; cy.focused() .getMarkdownEditor() .type(text) .setSelection(text) .clickLinkButton(); cy.confirmMarkdownEditorContent(`

${text}

`); // eslint-disable-next-line cypress/no-unnecessary-waiting cy.wait(300); cy.clickModeToggle(); cy.confirmRawEditorContent(`[${text}](${link})`); }); }); });