Skip to content

Commit 4b3b2b3

Browse files
Add a new request utils function to update or create a template.
We need this in case the `updateTemplate` function throws an error if the template is not found.
1 parent f42dc0a commit 4b3b2b3

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

packages/e2e-test-utils-playwright/src/request-utils/index.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import { getPluginsMap, activatePlugin, deactivatePlugin } from './plugins';
1919
import {
2020
deleteAllTemplates,
2121
createTemplate,
22-
updateTemplate,
22+
updateOrCreateTemplate,
2323
} from './templates';
2424
import {
2525
activateTheme,
@@ -179,8 +179,9 @@ class RequestUtils {
179179
deleteAllTemplates.bind( this );
180180
/** @borrows createTemplate as this.createTemplate */
181181
createTemplate: typeof createTemplate = createTemplate.bind( this );
182-
/** @borrows updateTemplate as this.updateTemplate */
183-
updateTemplate: typeof updateTemplate = updateTemplate.bind( this );
182+
/** @borrows updateOrCreateTemplate as this.updateOrCreateTemplate */
183+
updateOrCreateTemplate: typeof updateOrCreateTemplate =
184+
updateOrCreateTemplate.bind( this );
184185
/** @borrows resetPreferences as this.resetPreferences */
185186
resetPreferences: typeof resetPreferences = resetPreferences.bind( this );
186187
/** @borrows listMedia as this.listMedia */

packages/e2e-test-utils-playwright/src/request-utils/templates.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ async function createTemplate(
8989
* @param type Template type.
9090
* @param payload Template attributes.
9191
*/
92-
async function updateTemplate(
92+
async function updateOrCreateTemplate(
9393
this: RequestUtils,
9494
type: TemplateType,
9595
payload: CreateTemplatePayload
@@ -104,8 +104,9 @@ async function updateTemplate(
104104

105105
const template = templates.find( ( t ) => t.slug === payload.slug );
106106

107+
// If the template is not found, create it.
107108
if ( ! template ) {
108-
throw new Error( `Template with slug "${ payload.slug }" not found.` );
109+
return createTemplate.bind( this )( type, payload );
109110
}
110111

111112
const updatedTemplate = await this.rest< Template >( {
@@ -117,4 +118,4 @@ async function updateTemplate(
117118
return updatedTemplate;
118119
}
119120

120-
export { deleteAllTemplates, createTemplate, updateTemplate };
121+
export { deleteAllTemplates, createTemplate, updateOrCreateTemplate };

test/e2e/specs/interactivity/instant-search.spec.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,7 @@ test.describe( 'Instant Search', () => {
556556

557557
test.beforeAll( async ( { requestUtils } ) => {
558558
// Edit the Home template instead of creating a new page
559-
await requestUtils.updateTemplate( 'wp_template', {
559+
await requestUtils.updateOrCreateTemplate( 'wp_template', {
560560
slug: 'home',
561561
content: `
562562
<!-- wp:query {"enhancedPagination":true,"queryId":1111,"query":{"inherit":true,"perPage":2,"order":"desc","orderBy":"date"}} -->
@@ -727,7 +727,7 @@ test.describe( 'Instant Search', () => {
727727
page,
728728
requestUtils,
729729
} ) => {
730-
await requestUtils.updateTemplate( 'wp_template', {
730+
await requestUtils.updateOrCreateTemplate( 'wp_template', {
731731
slug: 'home',
732732
content: `
733733
<!-- wp:query {"enhancedPagination":true,"queryId":1111,"query":{"inherit":true,"perPage":2,"order":"desc","orderBy":"date"}} -->
@@ -807,7 +807,7 @@ test.describe( 'Instant Search', () => {
807807
requestUtils,
808808
} ) => {
809809
// Set up: Add one inherited and one custom query to the home template
810-
await requestUtils.updateTemplate( 'wp_template', {
810+
await requestUtils.updateOrCreateTemplate( 'wp_template', {
811811
slug: 'home',
812812
content: `
813813
<!-- wp:query {"enhancedPagination":true,"queryId":1111,"query":{"inherit":true,"perPage":2,"order":"desc","orderBy":"date"}} -->

0 commit comments

Comments
 (0)