@@ -251,6 +251,55 @@ describe('Rest Experience', { concurrent: true }, () => {
251251 } )
252252 } )
253253
254+ test ( 'create sends templateId when creating a template-backed experience' , async ( ) => {
255+ const mockResponse = {
256+ sys : { id : 'new-experience-456' , type : 'Experience' , version : 1 } ,
257+ name : 'Template Experience' ,
258+ description : 'A template-backed experience' ,
259+ viewports : [ ] ,
260+ contentProperties : { } ,
261+ designProperties : { } ,
262+ dimensionKeyMap : { designProperties : { } } ,
263+ }
264+
265+ const { httpMock, adapterMock } = setupRestAdapter ( Promise . resolve ( { data : mockResponse } ) )
266+
267+ return adapterMock
268+ . makeRequest ( {
269+ entityType : 'Experience' ,
270+ action : 'create' ,
271+ userAgent : 'mocked' ,
272+ params : {
273+ spaceId : 'space123' ,
274+ environmentId : 'master' ,
275+ } ,
276+ payload : {
277+ name : 'Template Experience' ,
278+ description : 'A template-backed experience' ,
279+ templateId : 'tmpl-789' ,
280+ viewports : [ ] ,
281+ contentProperties : { } ,
282+ designProperties : { } ,
283+ dimensionKeyMap : { designProperties : { } } ,
284+ } ,
285+ } )
286+ . then ( ( r ) => {
287+ expect ( r ) . to . eql ( mockResponse )
288+ expect ( httpMock . post . mock . calls [ 0 ] [ 0 ] ) . to . eql (
289+ '/spaces/space123/environments/master/experiences' ,
290+ )
291+ expect ( httpMock . post . mock . calls [ 0 ] [ 1 ] ) . to . eql ( {
292+ name : 'Template Experience' ,
293+ description : 'A template-backed experience' ,
294+ templateId : 'tmpl-789' ,
295+ viewports : [ ] ,
296+ contentProperties : { } ,
297+ designProperties : { } ,
298+ dimensionKeyMap : { designProperties : { } } ,
299+ } )
300+ } )
301+ } )
302+
254303 test ( 'update calls correct URL with version header' , async ( ) => {
255304 const mockResponse = {
256305 sys : { id : 'experience123' , type : 'Experience' , version : 2 } ,
0 commit comments