73 lines
1.9 KiB
JavaScript
73 lines
1.9 KiB
JavaScript
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(`<p><a>${link}</a></p>`);
|
|
// 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(`<p><a>${link}</a></p>`);
|
|
// 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(`<p><a>${text}</a></p>`);
|
|
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
|
cy.wait(300);
|
|
cy.clickModeToggle();
|
|
|
|
cy.confirmRawEditorContent(`[${text}](${link})`);
|
|
});
|
|
});
|
|
});
|