Skip to content

Commit

Permalink
Merge branch 'master' into try/jetpack-stories-block-mobile
Browse files Browse the repository at this point in the history
  • Loading branch information
mzorz committed Nov 5, 2020
2 parents e39af70 + 664f027 commit 74d2fd6
Show file tree
Hide file tree
Showing 7 changed files with 178 additions and 152 deletions.
6 changes: 6 additions & 0 deletions .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ jobs:

steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: '12'

- name: Use yarn cache
uses: actions/cache@v2
Expand Down Expand Up @@ -70,6 +73,9 @@ jobs:

steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: '12'

- name: Use yarn cache
uses: actions/cache@v2
Expand Down
39 changes: 19 additions & 20 deletions tests/e2e/lib/global-teardown.js
Original file line number Diff line number Diff line change
@@ -1,56 +1,48 @@
import { readFileSync } from 'fs';
import { teardown } from 'jest-environment-puppeteer';

import {
sendSnippetToSlack,
sendMessageToSlack,
sendFileToSlack,
getFailedTestMessage,
getResultMessage,
getSuccessMessage,
} from './reporters/slack';
module.exports = async function ( globalConfig ) {
if ( process.env.CI ) {
await processSlackLog();
}
await teardown( globalConfig );
};
import SlackReporter from './reporters/slack';

/**
* Goes through the messages in slack-specific log, and send these messages into slack
*/
async function processSlackLog() {
const log = readFileSync( './logs/e2e-slack.log' ).toString();
const slack = new SlackReporter();
const messages = getMessages( log );

const failures = messages.filter( json => json.type === 'failure' );

let response;
if ( failures.length === 0 ) {
response = await sendMessageToSlack( getSuccessMessage() );
response = await slack.sendSuccessMessage();
} else {
response = await sendMessageToSlack( getResultMessage( failures.length ) );
response = await slack.sendFailureMessage( failures );
}

const options = { thread_ts: response.ts };

for ( const json of messages ) {
switch ( json.type ) {
case 'file':
await sendFileToSlack( json.message, options );
await slack.sendFileToSlack( json.message, options );
break;

case 'failure':
await sendMessageToSlack( getFailedTestMessage( json ), options );
await slack.sendMessageToSlack( slack.getFailedTestMessage( json ), options );
break;

case 'debuglog':
await sendSnippetToSlack( json.message, options );
await slack.sendSnippetToSlack( json.message, options );
break;

case 'message':
await slack.sendMessageToSlack( json.message, options );
break;
}
}

await sendFileToSlack( './logs/e2e-simple.log', options );
await slack.sendFileToSlack( './logs/e2e-simple.log', options );
}

function getMessages( log ) {
Expand All @@ -64,3 +56,10 @@ function getMessages( log ) {

return messages;
}

module.exports = async function ( globalConfig ) {
if ( process.env.CI ) {
await processSlackLog();
}
await teardown( globalConfig );
};
6 changes: 4 additions & 2 deletions tests/e2e/lib/page-helper.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import { pressKeyWithModifier } from '@wordpress/e2e-test-utils';
/**
* Internal dependencies
*/
import { sendSnippetToSlack } from './reporters/slack';
import logger from './logger';
import { execSyncShellCommand } from './utils-helper';

Expand Down Expand Up @@ -197,7 +196,7 @@ export async function logHTML() {
logger.info( page.url() );
logger.info( bodyHTML );
}
await sendSnippetToSlack( bodyHTML );
logger.slack( { message: bodyHTML, type: 'debuglog' } );
return bodyHTML;
}

Expand All @@ -220,4 +219,7 @@ export async function logDebugLog() {
}
logger.slack( { message: log, type: 'debuglog' } );
}

const apacheLog = execSyncShellCommand( 'yarn wp-env logs tests --watch=false' );
logger.slack( { type: 'debuglog', message: apacheLog } );
}
3 changes: 1 addition & 2 deletions tests/e2e/lib/pages/wpcom/authorize.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
*/
import Page from '../page';
import { waitForSelector, waitAndClick } from '../../page-helper';
import { sendMessageToSlack } from '../../reporters/slack';
import logger from '../../logger';

export default class AuthorizePage extends Page {
Expand All @@ -24,7 +23,7 @@ export default class AuthorizePage extends Page {
if ( repeat ) {
const message = 'Jetpack connection failed. Retrying once again.';
logger.info( message );
await sendMessageToSlack( message );
logger.slack( { message, type: 'message' } );

return await this.approve( false );
}
Expand Down
8 changes: 7 additions & 1 deletion tests/e2e/lib/pages/wpcom/pick-a-plan.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,19 @@
* Internal dependencies
*/
import Page from '../page';
import { waitAndClick } from '../../page-helper';
import { waitAndClick, waitForSelector } from '../../page-helper';

export default class PickAPlanPage extends Page {
constructor( page ) {
const expectedSelector = 'div[data-e2e-product-slug="jetpack_complete"]';
super( page, { expectedSelector, explicitWaitMS: 40000 } );
}

async waitForPage() {
await super.waitForPage();
waitForSelector( this.page, '.jetpack-product-card-alt__price-placeholder', { hidden: true } );
}

async select( product = 'free' ) {
switch ( product ) {
case 'complete':
Expand All @@ -22,6 +27,7 @@ export default class PickAPlanPage extends Page {

async selectFreePlan() {
const freePlanButton = '.jetpack-free-card-alt__main a';
await this.page.waitFor( 500 );
return await waitAndClick( this.page, freePlanButton );
}

Expand Down
Loading

0 comments on commit 74d2fd6

Please sign in to comment.