HEX
Server: Apache/2
System: Linux server-27-254-144-72.da.direct 5.10.0-33-amd64 #1 SMP Debian 5.10.226-1 (2024-10-03) x86_64
User: pokaorgani (1114)
PHP: 8.1.33
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/pokaorgani/public_html/wp-content/themes/sydney/tests/blog/archive/blog-layouts.spec.js
// @ts-check
const { test, expect } = require('@playwright/test');

test.describe.configure({ mode: 'serial' });

import { adminLoginAction } from '../../utils/login';
import { setCustomizerSetting } from '../../utils/customizer';

test.describe('Blog layout tests', () => {

	//after all
	test.afterAll( async ({ page }) => {
		setCustomizerSetting('blog_layout', 'layout3');
	});

	const blog_layouts = [
		'layout1',
		'layout2',
		'layout3',
		'layout4',
		'layout5',
		'layout6'
	];

	//Check the correct layout class
	blog_layouts.forEach( (layout) => {
		test(`Blog layout is ${layout}`, async ({ page }) => {

			setCustomizerSetting('blog_layout', layout);

			await page.goto('http://tests.local/my-blog-page/');
			await page.reload();

			await expect(page.locator( '.content-area' )).toHaveClass( `content-area archive-wrapper sidebar-right ${layout} col-md-9` );

			//perform layout specific checks
			switch (layout) {
				case 'layout1':
				case 'layout2':
					await expect(page.locator( '.content-area article' ).last()).toHaveClass( /col-md-12/ );
					break;
				case 'layout3':
				case 'layout5':
					await expect(page.locator( '.content-area article' ).last()).toHaveClass( /col-lg-6 col-md-6/ );
					break;
				case 'layout4':
				case 'layout6':	
					await expect(page.locator( '.content-area article' ).last()).toHaveClass( /col-md-12/ );
					await expect(page.locator( '.content-inner' ).first()).toHaveCSS( 'display', 'flex' );
					break;
				case 'layout6':
					await expect(page.locator( '.layout6 article:nth-of-type(even) .list-image' ).first()).toHaveCSS( 'order', '1' );
					break;
			}

			setCustomizerSetting('blog_layout', 'layout3');
		});
	} );
});