import { BrowserTestCase } from '@atlaskit/webdriver-runner/runner'; import { getDocFromElement, editable, insertMention, typeAheadPicker, lozenge, fullpage, } from '../_helpers'; import { mountEditor, goToEditorTestingWDExample, } from '../../__helpers/testing-example-helpers'; /* * Safari does not understand webdriver keyboard actions so a * number of tests have been skipped until move to snapshots. * * The remaining skipped tests for IE11/Edge are bugs that should be fixed for those browsers. */ BrowserTestCase( 'mention-1.ts: user can see mention inside blockquote', { skip: ['safari', 'edge'] }, async (client: any, testName: string) => { const page = await goToEditorTestingWDExample(client); await mountEditor(page, { appearance: fullpage.appearance, allowTables: { advanced: true, }, }); await page.type(editable, '> '); await page.type(editable, 'blockquote '); await insertMention(page, 'Carolyn'); await page.waitForSelector(lozenge); const doc = await page.$eval(editable, getDocFromElement); expect(doc).toMatchCustomDocSnapshot(testName); }, ); BrowserTestCase( 'mention-1.ts: user can see mention inside bulletList', { skip: ['safari', 'edge'] }, async (client: any, testName: string) => { const page = await goToEditorTestingWDExample(client); await mountEditor(page, { appearance: fullpage.appearance, }); await page.type(editable, '* '); await page.waitForSelector('ul'); await page.type(editable, 'this '); await insertMention(page, 'Carolyn'); await page.waitForSelector(lozenge); const doc = await page.$eval(editable, getDocFromElement); expect(doc).toMatchCustomDocSnapshot(testName); }, ); BrowserTestCase( 'mention-1.ts: user can see mention inside orderedList', { skip: ['safari', 'edge'] }, async (client: any, testName: string) => { const page = await goToEditorTestingWDExample(client); await mountEditor(page, { appearance: fullpage.appearance, }); await page.type(editable, '1. '); await page.waitForSelector('ol'); await page.type(editable, 'list '); await insertMention(page, 'Carolyn'); await page.waitForSelector(lozenge); const doc = await page.$eval(editable, getDocFromElement); expect(doc).toMatchCustomDocSnapshot(testName); }, ); BrowserTestCase( 'mention-1.ts: user can see mention inside decision', { skip: ['safari', 'edge'] }, async (client: any, testName: string) => { const page = await goToEditorTestingWDExample(client); await mountEditor(page, { appearance: fullpage.appearance, }); await page.type(editable, '<> '); await insertMention(page, 'Carolyn'); await page.waitForSelector(lozenge); const doc = await page.$eval(editable, getDocFromElement); expect(doc).toMatchCustomDocSnapshot(testName); }, ); BrowserTestCase( 'mention-1.ts: user can see mention inside action', { skip: ['safari', 'edge'] }, async (client: any, testName: string) => { const page = await goToEditorTestingWDExample(client); await mountEditor(page, { appearance: fullpage.appearance, }); await page.type(editable, '[] '); await insertMention(page, 'Carolyn'); await page.waitForSelector(lozenge); const doc = await page.$eval(editable, getDocFromElement); expect(doc).toMatchCustomDocSnapshot(testName); }, ); BrowserTestCase( 'mention-1.ts: user can navigate picker using keyboard', { skip: ['safari', 'edge'] }, async (client: any, testName: string) => { const page = await goToEditorTestingWDExample(client); await mountEditor(page, { appearance: fullpage.appearance, }); await page.type(editable, '@'); await page.waitForSelector(typeAheadPicker); await page.keys(['ArrowDown', 'Enter']); const doc = await page.$eval(editable, getDocFromElement); expect(doc).toMatchCustomDocSnapshot(testName); }, );