85 lines
3.1 KiB
JavaScript
85 lines
3.1 KiB
JavaScript
/* eslint-disable jest/no-export, jest/no-disabled-tests */
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
const {
|
|
StoreOwnerFlow,
|
|
settingsPageSaveChanges,
|
|
verifyValueOfInputField
|
|
} = require( '@woocommerce/e2e-utils' );
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
const {
|
|
it,
|
|
describe,
|
|
beforeAll,
|
|
} = require( '@jest/globals' );
|
|
|
|
const runUpdateGeneralSettingsTest = () => {
|
|
describe('WooCommerce General Settings', () => {
|
|
beforeAll(async () => {
|
|
await StoreOwnerFlow.login();
|
|
});
|
|
|
|
it('can update settings', async () => {
|
|
// Go to general settings page
|
|
await StoreOwnerFlow.openSettings('general');
|
|
|
|
// Make sure the general tab is active
|
|
await expect(page).toMatchElement('a.nav-tab-active', {text: 'General'});
|
|
|
|
// Set selling location to all countries first,
|
|
// so we can choose california as base location.
|
|
await expect(page).toSelect('#woocommerce_allowed_countries', 'Sell to all countries');
|
|
await settingsPageSaveChanges();
|
|
|
|
// Verify that settings have been saved
|
|
await Promise.all([
|
|
expect(page).toMatchElement('#message', {text: 'Your settings have been saved.'}),
|
|
expect(page).toMatchElement('#woocommerce_allowed_countries', {text: 'Sell to all countries'}),
|
|
]);
|
|
|
|
// Set base location with state CA.
|
|
await expect(page).toSelect('select[name="woocommerce_default_country"]', 'United States (US) — California');
|
|
await settingsPageSaveChanges();
|
|
|
|
// Verify that settings have been saved
|
|
await Promise.all([
|
|
expect(page).toMatchElement('#message', {text: 'Your settings have been saved.'}),
|
|
expect(page).toMatchElement('select[name="woocommerce_default_country"]', {text: 'United States (US) — California'}),
|
|
]);
|
|
|
|
// Set selling location to specific countries first, so we can choose U.S as base location (without state).
|
|
// This will makes specific countries option appears.
|
|
await expect(page).toSelect('#woocommerce_allowed_countries', 'Sell to specific countries');
|
|
await expect(page).toSelect('select[name="woocommerce_specific_allowed_countries[]"]', 'United States (US)');
|
|
await settingsPageSaveChanges();
|
|
|
|
// Verify that settings have been saved
|
|
await Promise.all([
|
|
expect(page).toMatchElement('#message', {text: 'Your settings have been saved.'}),
|
|
expect(page).toMatchElement('#woocommerce_allowed_countries', {text: 'Sell to specific countries'}),
|
|
expect(page).toMatchElement('select[name="woocommerce_specific_allowed_countries[]"]', {text: 'United States (US)'}),
|
|
]);
|
|
|
|
// Set currency options.
|
|
await expect(page).toFill('#woocommerce_price_thousand_sep', ',');
|
|
await expect(page).toFill('#woocommerce_price_decimal_sep', '.');
|
|
await expect(page).toFill('#woocommerce_price_num_decimals', '2');
|
|
await settingsPageSaveChanges();
|
|
|
|
// Verify that settings have been saved
|
|
await Promise.all([
|
|
expect(page).toMatchElement('#message', {text: 'Your settings have been saved.'}),
|
|
verifyValueOfInputField('#woocommerce_price_thousand_sep', ','),
|
|
verifyValueOfInputField('#woocommerce_price_decimal_sep', '.'),
|
|
verifyValueOfInputField('#woocommerce_price_num_decimals', '2'),
|
|
]);
|
|
});
|
|
});
|
|
};
|
|
|
|
module.exports = runUpdateGeneralSettingsTest;
|