summaryrefslogtreecommitdiffstatshomepage
path: root/tests/e2e/specs/maintenance-mode.test.js
blob: df9d409a07895524130c96ef11e060f5c843001a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
 * External dependencies
 */
import { writeFileSync, unlinkSync } from 'node:fs';
import { join } from 'node:path';

/**
 * WordPress dependencies
 */
import { test, expect } from '@wordpress/e2e-test-utils-playwright';

test.describe( 'Maintenance mode', () => {
	const documentRoot = join(
		process.cwd(),
		process.env.LOCAL_DIR ?? 'src',
	);
	const maintenanceLockFile = join( documentRoot, '.maintenance' );

	test.beforeAll( async () => {
		writeFileSync( maintenanceLockFile, '<?php $upgrading = 10000000000; ?>' ); // Year 2286.
	} );

	test.afterAll( async () => {
		unlinkSync( maintenanceLockFile );
	} );

	test( 'should display maintenance mode page', async ( { page } ) => {
		await page.goto( '/' );
		await expect(
			page.getByText( /Briefly unavailable for scheduled maintenance\. Check back in a minute\./ )
		).toBeVisible();
	} );
} );