woocommerce/plugins/woocommerce-blocks/tests/e2e-tests/config/setup.js

50 lines
1.1 KiB
JavaScript
Raw Normal View History

/* eslint-disable no-console */
/**
* External dependencies
*/
import { setup as setupPuppeteer } from 'jest-environment-puppeteer';
/**
* Internal dependencies
*/
import {
setupSettings,
createTaxes,
createCoupons,
createProducts,
createShippingZones,
createBlockPages,
enablePaymentGateways,
} from '../fixtures/fixture-loaders';
module.exports = async ( globalConfig ) => {
// we need to load puppeteer global setup here.
await setupPuppeteer( globalConfig );
Switch to use `wp-env` as the development/test environment (https://github.com/woocommerce/woocommerce-blocks/pull/2730) * Switch to use wp-env * fix travis config * fix spacing? * doh need to install packages before starting environment! * more fixes for errors in travis environment * hmm still have node-git issues * nope must use dash * maybe it’s a caching issue (we’re caching node_modules?) * remove configs * add wp-env override json to gitignore * remove obsolete scripts * fix config in travis * restore default env (for phpunit) * for e2e manually set WORDPRESS_BASE_URL * doh fix variable for wp version * run phpunit via docker and fix WordPress version used for tests * find out what’s going on with this thing * don’t escape? * doh phpunit needs dev installed from composer! * fix versions * looks liek we have to make sure wp db is up to date?!? - also moves pre-configuration stuff all into one file for easier maintenance. * see if I can get insight into what the siteurl is in the wp environment on travis * try env setup (known that will break phpunit but possible it might fix e2e?) * output plugin list to see what is active in travis * try flushing rules * do a hard fulsh * fix argument syntax * move things around and add pre-configuration as files so all wp commands run at once * revert back to running each container command separately Not sure, but this might affect permissions issues? * maybe re-ordering before the file sync will help? also try some configuration changes * another attempt at travis config In this attempt: - map .htaccess to the server on the environment start - try changing permissions of wp-content and wp-content/plugins as a part of the e2e test bootup * use default wp version for gute build * refactor to run all wp commands in one go * don’t return promise from setup function - this might fix the sporadic fails related to the fixtures being setup (and potential race conditions there). * make sure we activate gutenberg plugin (previously we were just installing) The syntax of the command was incorrect. * try alternative syntax for installing and activating plugin
2020-06-17 20:28:11 +00:00
try {
/**
* Promise.all will return an array of all promises resolved values.
* Some functions like setupSettings and enablePaymentGateways resolve
* to server data so we ignore the values here.
*/
const results = await Promise.all( [
setupSettings(),
createTaxes(),
createCoupons(),
createProducts(),
createShippingZones(),
createBlockPages(),
enablePaymentGateways(),
] );
const [ , taxes, coupons, products, shippingZones, pages ] = results;
global.fixtureData = {
taxes,
coupons,
products,
shippingZones,
pages,
};
} catch ( e ) {
console.log( e );
}
};