@@ -109,7 +109,7 @@ describe('FormDraftPublish', () => {
109109 modal . findAll ( 'form p' ) . length . should . equal ( 1 ) ;
110110 } ) ;
111111
112- it ( 'does not show input if version string of draft is different' , async ( ) => {
112+ it ( 'does not show version input if version string of draft is different' , async ( ) => {
113113 testData . extendedForms . createPast ( 1 ) ;
114114 testData . extendedFormVersions . createPast ( 1 , {
115115 version : 'v2' ,
@@ -118,15 +118,15 @@ describe('FormDraftPublish', () => {
118118 const modal = mount ( FormDraftPublish , mountOptions ( ) ) ;
119119 await modal . setProps ( { state : true } ) ;
120120 modal . find ( 'input' ) . exists ( ) . should . be . false ;
121- modal . findAll ( '.modal-introduction p ' ) . length . should . equal ( 3 ) ;
121+ modal . find ( '.modal-introduction' ) . text ( ) . should . not . match ( / y o u r D r a f t F o r m h a s t h e s a m e v e r s i o n n a m e / ) ;
122122 } ) ;
123123
124- it ( 'does not show the input for a form without a published version' , async ( ) => {
124+ it ( 'does not show the version input for a form without a published version' , async ( ) => {
125125 testData . extendedForms . createPast ( 1 , { draft : true } ) ;
126126 const modal = mount ( FormDraftPublish , mountOptions ( ) ) ;
127127 await modal . setProps ( { state : true } ) ;
128128 modal . find ( 'input' ) . exists ( ) . should . be . false ;
129- modal . findAll ( '.modal-introduction p ' ) . length . should . equal ( 3 ) ;
129+ modal . find ( '.modal-introduction' ) . text ( ) . should . not . match ( / y o u r D r a f t F o r m h a s t h e s a m e v e r s i o n n a m e / ) ;
130130 } ) ;
131131
132132 it ( 'focuses the input' , async ( ) => {
@@ -178,18 +178,6 @@ describe('FormDraftPublish', () => {
178178 modal : true
179179 } ) ;
180180 } ) ;
181-
182- it ( 'implements things if the version string input is not shown' , ( ) => {
183- testData . extendedForms . createPast ( 1 , { draft : true } ) ;
184- return mockHttp ( )
185- . mount ( FormDraftPublish , mountOptions ( ) )
186- . afterResponses ( modal => modal . setProps ( { state : true } ) )
187- . testStandardButton ( {
188- button : '.btn-primary' ,
189- disabled : [ '.btn-link' ] ,
190- modal : true
191- } ) ;
192- } ) ;
193181 } ) ;
194182
195183 describe ( 'request' , ( ) => {
@@ -199,7 +187,7 @@ describe('FormDraftPublish', () => {
199187 . mount ( FormDraftPublish , mountOptions ( ) )
200188 . request ( async ( modal ) => {
201189 await modal . setProps ( { state : true } ) ;
202- return modal . get ( '.btn-primary ' ) . trigger ( 'click ' ) ;
190+ return modal . get ( 'form ' ) . trigger ( 'submit ' ) ;
203191 } )
204192 . beforeEachResponse ( ( _ , { method, url } ) => {
205193 method . should . equal ( 'POST' ) ;
@@ -249,7 +237,7 @@ describe('FormDraftPublish', () => {
249237 . mount ( FormDraftPublish , mountOptions ( ) )
250238 . request ( async ( modal ) => {
251239 await modal . setProps ( { state : true } ) ;
252- return modal . get ( '.btn-primary ' ) . trigger ( 'click ' ) ;
240+ return modal . get ( 'form ' ) . trigger ( 'submit ' ) ;
253241 } )
254242 . beforeEachResponse ( ( _ , { url } ) => {
255243 url . should . equal ( '/v1/projects/1/forms/f/draft/publish' ) ;
@@ -283,7 +271,7 @@ describe('FormDraftPublish', () => {
283271 . mount ( FormDraftPublish , mountOptions ( ) )
284272 . request ( async ( modal ) => {
285273 await modal . setProps ( { state : true } ) ;
286- return modal . get ( '#form-draft-publish .btn-primary ' ) . trigger ( 'click ' ) ;
274+ return modal . get ( '#form-draft-publish form ' ) . trigger ( 'submit ' ) ;
287275 } )
288276 . respondWithProblem ( {
289277 code : 409.17 ,
@@ -309,7 +297,7 @@ describe('FormDraftPublish', () => {
309297 . mount ( FormDraftPublish , mountOptions ( ) )
310298 . request ( async ( modal ) => {
311299 await modal . setProps ( { state : true } ) ;
312- return modal . get ( '# form-draft-publish .btn-primary ' ) . trigger ( 'click ' ) ;
300+ return modal . get ( 'form' ) . trigger ( 'submit ' ) ;
313301 } )
314302 . respondWithProblem ( 409.6 )
315303 . afterResponse ( modal => {
@@ -329,13 +317,13 @@ describe('FormDraftPublish', () => {
329317 . mount ( FormDraftPublish , mountOptions ( ) )
330318 . request ( async ( modal ) => {
331319 await modal . setProps ( { state : true } ) ;
332- return modal . get ( '# form-draft-publish .btn-primary ' ) . trigger ( 'click ' ) ;
320+ return modal . get ( 'form' ) . trigger ( 'submit ' ) ;
333321 } )
334322 . respondWithProblem ( 500.1 )
335323 . afterResponse ( modal => {
336324 modal . should . alert ( 'danger' ) ;
337325 modal . find ( 'input' ) . exists ( ) . should . be . false ;
338- modal . findAll ( '.modal-introduction p ' ) . length . should . equal ( 3 ) ;
326+ modal . find ( '.modal-introduction' ) . text ( ) . should . not . match ( / y o u r D r a f t F o r m h a s t h e s a m e v e r s i o n n a m e / ) ;
339327 } ) ;
340328 } ) ;
341329
@@ -355,7 +343,7 @@ describe('FormDraftPublish', () => {
355343 . complete ( )
356344 . request ( async ( app ) => {
357345 await app . get ( '#form-edit-publish-button' ) . trigger ( 'click' ) ;
358- return app . get ( '#form-draft-publish .btn-primary ' ) . trigger ( 'click ' ) ;
346+ return app . get ( '#form-draft-publish form ' ) . trigger ( 'submit ' ) ;
359347 } )
360348 . modify ( respondToPublish ) ;
361349 } ;
@@ -369,6 +357,23 @@ describe('FormDraftPublish', () => {
369357 { url : '/v1/projects/1/forms/f/dataset-diff' }
370358 ] ) ) ;
371359
360+ it ( 'sends X-Action-Notes header when notes are provided' , ( ) => {
361+ testData . extendedForms . createPast ( 1 , { draft : true } ) ;
362+ return load ( '/projects/1/forms/f/draft' )
363+ . complete ( )
364+ . request ( async ( app ) => {
365+ await app . get ( '#form-edit-publish-button' ) . trigger ( 'click' ) ;
366+ await app . get ( '#form-draft-publish-note' ) . setValue ( 'Version 1 release notes' ) ;
367+ return app . get ( '#form-draft-publish form' ) . trigger ( 'submit' ) ;
368+ } )
369+ . beforeEachResponse ( ( _ , { url, headers } ) => {
370+ if ( url === '/v1/projects/1/forms/f/draft/publish' ) {
371+ headers [ 'X-Action-Notes' ] . should . equal ( encodeURIComponent ( 'Version 1 release notes' ) ) ;
372+ }
373+ } )
374+ . modify ( respondToPublish ) ;
375+ } ) ;
376+
372377 it ( 'hides the modal' , ( ) =>
373378 publish ( )
374379 . afterResponses ( app => {
@@ -422,7 +427,7 @@ describe('FormDraftPublish', () => {
422427 . complete ( )
423428 . request ( async ( app ) => {
424429 await app . get ( '#form-edit-publish-button' ) . trigger ( 'click' ) ;
425- return app . get ( '#form-draft-publish .btn-primary ' ) . trigger ( 'click ' ) ;
430+ return app . get ( '#form-draft-publish form ' ) . trigger ( 'submit ' ) ;
426431 } )
427432 . modify ( respondToPublish )
428433 . complete ( )
0 commit comments