Skip to content

Commit 116c0ba

Browse files
committed
Add e2e test for copying obj from server context
1 parent 116b073 commit 116c0ba

File tree

3 files changed

+10
-0
lines changed

3 files changed

+10
-0
lines changed

packages/e2e-tests/plugins/interactive-blocks/get-server-context/render.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
>
4848
<div data-testid="prop" data-wp-text="context.prop"></div>
4949
<div data-testid="nested.prop" data-wp-text="context.nested.prop"></div>
50+
<div data-testid="objCopiedFromServer" data-wp-text="context.objCopiedFromServer.prop"></div>
5051
<div data-testid="newProp" data-wp-text="context.newProp"></div>
5152
<div data-testid="nested.newProp" data-wp-text="context.nested.newProp"></div>
5253
<div data-testid="inherited.prop" data-wp-text="context.inherited.prop"></div>

packages/e2e-tests/plugins/interactive-blocks/get-server-context/view.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,11 @@ store( 'test/get-server-context', {
6060
if ( inherited?.newProp ) {
6161
ctx.inherited.newProp = inherited.newProp;
6262
}
63+
if ( ctx.objCopiedFromServer ) {
64+
ctx.objCopiedFromServer.prop = nested?.prop;
65+
} else {
66+
ctx.objCopiedFromServer = nested;
67+
}
6368
},
6469
updateNonChanging() {
6570
// This property never changes in the server, but it changes in the

test/e2e/specs/interactivity/get-sever-context.spec.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,25 +107,29 @@ test.describe( 'getServerContext()', () => {
107107
test( 'should update modified props on navigation', async ( { page } ) => {
108108
const prop = page.getByTestId( 'prop' );
109109
const nestedProp = page.getByTestId( 'nested.prop' );
110+
const objCopiedFromServer = page.getByTestId( 'objCopiedFromServer' );
110111
const inheritedProp = page.getByTestId( 'inherited.prop' );
111112

112113
await expect( page ).toHaveTitle( /main/ );
113114
await expect( prop ).toHaveText( 'child' );
114115
await expect( nestedProp ).toHaveText( 'child' );
116+
await expect( objCopiedFromServer ).toHaveText( 'child' );
115117
await expect( inheritedProp ).toHaveText( 'parent' );
116118

117119
await page.getByTestId( 'modified' ).click();
118120
await expect( page ).toHaveTitle( /modified/ );
119121

120122
await expect( prop ).toHaveText( 'childModified' );
121123
await expect( nestedProp ).toHaveText( 'childModified' );
124+
await expect( objCopiedFromServer ).toHaveText( 'childModified' );
122125
await expect( inheritedProp ).toHaveText( 'parentModified' );
123126

124127
await page.goBack();
125128
await expect( page ).toHaveTitle( /main/ );
126129

127130
await expect( prop ).toHaveText( 'child' );
128131
await expect( nestedProp ).toHaveText( 'child' );
132+
await expect( objCopiedFromServer ).toHaveText( 'child' );
129133
await expect( inheritedProp ).toHaveText( 'parent' );
130134
} );
131135

0 commit comments

Comments
 (0)