@@ -125,4 +125,84 @@ describe('Rest Fragment', { concurrent: true }, () => {
125125 )
126126 } )
127127 } )
128+
129+ test ( 'create calls correct URL with POST' , async ( ) => {
130+ const mockResponse = {
131+ sys : { id : 'fragment123' , type : 'Fragment' } ,
132+ name : 'New Fragment' ,
133+ }
134+
135+ const { httpMock, adapterMock } = setupRestAdapter ( Promise . resolve ( { data : mockResponse } ) )
136+
137+ return adapterMock
138+ . makeRequest ( {
139+ entityType : 'Fragment' ,
140+ action : 'create' ,
141+ userAgent : 'mocked' ,
142+ params : {
143+ spaceId : 'space123' ,
144+ environmentId : 'master' ,
145+ } ,
146+ payload : { name : 'New Fragment' } ,
147+ } )
148+ . then ( ( r ) => {
149+ expect ( r ) . to . eql ( mockResponse )
150+ expect ( httpMock . post . mock . calls [ 0 ] [ 0 ] ) . to . eql (
151+ '/spaces/space123/environments/master/fragments' ,
152+ )
153+ } )
154+ } )
155+
156+ test ( 'update calls correct URL with PUT and X-Contentful-Version header' , async ( ) => {
157+ const mockResponse = {
158+ sys : { id : 'fragment123' , type : 'Fragment' , version : 2 } ,
159+ name : 'Updated Fragment' ,
160+ }
161+
162+ const { httpMock, adapterMock } = setupRestAdapter ( Promise . resolve ( { data : mockResponse } ) )
163+
164+ return adapterMock
165+ . makeRequest ( {
166+ entityType : 'Fragment' ,
167+ action : 'update' ,
168+ userAgent : 'mocked' ,
169+ params : {
170+ spaceId : 'space123' ,
171+ environmentId : 'master' ,
172+ fragmentId : 'fragment123' ,
173+ } ,
174+ payload : {
175+ sys : { id : 'fragment123' , type : 'Fragment' , version : 1 } ,
176+ name : 'Updated Fragment' ,
177+ } ,
178+ } )
179+ . then ( ( r ) => {
180+ expect ( r ) . to . eql ( mockResponse )
181+ expect ( httpMock . put . mock . calls [ 0 ] [ 0 ] ) . to . eql (
182+ '/spaces/space123/environments/master/fragments/fragment123' ,
183+ )
184+ expect ( httpMock . put . mock . calls [ 0 ] [ 2 ] . headers [ 'X-Contentful-Version' ] ) . to . eql ( 1 )
185+ } )
186+ } )
187+
188+ test ( 'delete calls correct URL' , async ( ) => {
189+ const { httpMock, adapterMock } = setupRestAdapter ( Promise . resolve ( { data : '' } ) )
190+
191+ return adapterMock
192+ . makeRequest ( {
193+ entityType : 'Fragment' ,
194+ action : 'delete' ,
195+ userAgent : 'mocked' ,
196+ params : {
197+ spaceId : 'space123' ,
198+ environmentId : 'master' ,
199+ fragmentId : 'fragment123' ,
200+ } ,
201+ } )
202+ . then ( ( ) => {
203+ expect ( httpMock . delete . mock . calls [ 0 ] [ 0 ] ) . to . eql (
204+ '/spaces/space123/environments/master/fragments/fragment123' ,
205+ )
206+ } )
207+ } )
128208} )
0 commit comments