Skip to content

Commit

Permalink
Add e2e test
Browse files Browse the repository at this point in the history
  • Loading branch information
ellatrix committed Nov 29, 2018
1 parent 75f1ce4 commit b732aaa
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 0 deletions.
5 changes: 5 additions & 0 deletions test/e2e/specs/blocks/__snapshots__/classic.test.js.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`Classic should be inserted 1`] = `"test"`;

exports[`Classic should insert media 1`] = `"test<img class=\\"alignnone size-full wp-image-130\\" src=\\"http://localhost:8889/wp-content/uploads/2018/11/b9682d07-fa29-4fbb-a9ce-f1019cc82ca1.png\\" alt=\\"\\" width=\\"10\\" height=\\"10\\" />"`;
71 changes: 71 additions & 0 deletions test/e2e/specs/blocks/classic.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
/**
* External dependencies
*/
import path from 'path';
import fs from 'fs';
import os from 'os';
import uuid from 'uuid/v4';

/**
* Internal dependencies
*/
import {
getEditedPostContent,
newPost,
insertBlock,
pressWithModifier,
} from '../../support/utils';

describe( 'Classic', () => {
beforeEach( async () => {
await newPost();
} );

it( 'should be inserted', async () => {
await insertBlock( 'Classic' );
// Wait for TinyMCE to initialise.
await page.waitForSelector( '.mce-content-body' );
// Ensure there is focus.
await page.focus( '.mce-content-body' );
await page.keyboard.type( 'test' );
// Move focus away.
await pressWithModifier( 'shift', 'Tab' );

expect( await getEditedPostContent() ).toMatchSnapshot();
} );

it( 'should insert media', async () => {
await insertBlock( 'Classic' );
// Wait for TinyMCE to initialise.
await page.waitForSelector( '.mce-content-body' );
// Ensure there is focus.
await page.focus( '.mce-content-body' );
await page.keyboard.type( 'test' );

// Click the image button.
await page.click( 'div[aria-label="Insert Media"]' );

// Wait for media modal to appear and upload image.
await page.waitForSelector( '.media-modal input[type=file]' );
const inputElement = await page.$( '.media-modal input[type=file]' );
const testImagePath = path.join( __dirname, '..', '..', 'assets', '10x10_e2e_test_image_z9T8jK.png' );
const filename = uuid();
const tmpFileName = path.join( os.tmpdir(), filename + '.png' );
fs.copyFileSync( testImagePath, tmpFileName );
await inputElement.uploadFile( tmpFileName );

// Wait for upload.
await page.waitForSelector( `.media-modal li[aria-label="${ filename }"]` );

// Insert the uploaded image.
await page.click( '.media-modal button.media-button-insert' );

// Wait for image to be inserted.
await page.waitForSelector( '.mce-content-body img' );

// Move focus away.
await pressWithModifier( 'shift', 'Tab' );

expect( await getEditedPostContent() ).toMatchSnapshot();
} );
} );

0 comments on commit b732aaa

Please sign in to comment.