@@ -38,6 +38,7 @@ describe('linked-project-columns', () => {
3838 } ;
3939
4040 sinon . spy ( core , 'setFailed' ) ;
41+ sinon . spy ( core , 'warning' ) ;
4142
4243 api = sinon . stub ( ) ;
4344 sinon . stub ( octokit . graphql , 'defaults' ) . returns ( api ) ;
@@ -81,6 +82,7 @@ describe('linked-project-columns', () => {
8182
8283 await run ( ) ;
8384
85+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
8486 expect ( core . setFailed . callCount ) . toEqual ( 1 ) ;
8587 expect ( core . setFailed . getCall ( 0 ) . args ) . toEqual ( [ 'Input required and not supplied: github_token' ] ) ;
8688 } ) ;
@@ -90,6 +92,7 @@ describe('linked-project-columns', () => {
9092
9193 await run ( ) ;
9294
95+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
9396 expect ( core . setFailed . callCount ) . toEqual ( 1 ) ;
9497 expect ( core . setFailed . getCall ( 0 ) . args ) . toEqual ( [ 'Input required and not supplied: source_column_id' ] ) ;
9598 } ) ;
@@ -99,35 +102,39 @@ describe('linked-project-columns', () => {
99102
100103 await run ( ) ;
101104
105+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
102106 expect ( core . setFailed . callCount ) . toEqual ( 1 ) ;
103107 expect ( core . setFailed . getCall ( 0 ) . args ) . toEqual ( [ 'Input required and not supplied: target_column_id' ] ) ;
104108 } ) ;
105109
106110 it ( 'queries for source and target column information' , async ( ) => {
107111 await run ( ) ;
108112
113+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
114+ expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
109115 expect ( api . callCount ) . toBeGreaterThanOrEqual ( 1 ) ;
110116 expect ( api . getCall ( 0 ) . args ) . toContain ( queries . GET_PROJECT_COLUMNS ) ;
111- expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
112117 } ) ;
113118
114119 it ( 'adds an automation note to the target column' , async ( ) => {
115120 await run ( ) ;
116121
122+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
123+ expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
117124 expect ( api . callCount ) . toEqual ( 2 ) ;
118125 expect ( api . getCall ( 1 ) . args [ 0 ] ) . toEqual ( queries . ADD_PROJECT_CARD ) ;
119126 expect ( api . getCall ( 1 ) . args [ 1 ] ) . toMatchObject ( {
120127 columnId : 2 ,
121128 note : expect . stringMatching ( / \* \* D O N O T E D I T \* \* / )
122129 } ) ;
123- expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
124130 } ) ;
125131
126132 it ( 'deletes cards from the target column that are not in source' , async ( ) => {
127133 getColumnsResponse . targetColumn . cards . nodes . push ( { id : 1 , note : '1' } , { id : 2 , note : '2' } ) ;
128134
129135 await run ( ) ;
130136
137+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
131138 expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
132139 expect ( api . callCount ) . toEqual ( 4 ) ;
133140 // deletions happen before adds
@@ -142,6 +149,7 @@ describe('linked-project-columns', () => {
142149
143150 await run ( ) ;
144151
152+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
145153 expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
146154 expect ( api . callCount ) . toEqual ( 6 ) ;
147155 // call 0 -> get columns
@@ -152,12 +160,38 @@ describe('linked-project-columns', () => {
152160 expect ( api . getCall ( 5 ) . args ) . toEqual ( [ queries . MOVE_PROJECT_CARD , { columnId : 2 , cardId : 202 , afterCardId : 201 } ] ) ;
153161 } ) ;
154162
163+ it ( 'logs a warning if a card cannot be added to the target' , async ( ) => {
164+ getColumnsResponse . sourceColumn . cards . nodes . push ( { id : 1 , note : '1' } , { id : 2 , note : '2' } ) ;
165+ api
166+ . withArgs ( queries . ADD_PROJECT_CARD )
167+ . onCall ( 1 )
168+ . throws ( new Error ( 'test error' ) ) ;
169+
170+ await run ( ) ;
171+
172+ expect ( core . warning . callCount ) . toEqual ( 2 ) ;
173+ expect ( core . warning . getCall ( 0 ) . args ) . toEqual (
174+ expect . arrayContaining ( [ expect . stringContaining ( 'Could not add card' ) ] )
175+ ) ;
176+ expect ( core . warning . getCall ( 1 ) . args ) . toEqual ( [ 'test error' ] ) ;
177+ expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
178+
179+ expect ( api . callCount ) . toEqual ( 5 ) ;
180+ // call 0 -> get columns
181+ // call 1 -> add automation note
182+ // the first card, with note '1' results in an error and won't have a secondary move call
183+ expect ( api . getCall ( 2 ) . args ) . toEqual ( [ queries . ADD_PROJECT_CARD , { columnId : 2 , note : '1' } ] ) ;
184+ expect ( api . getCall ( 3 ) . args ) . toEqual ( [ queries . ADD_PROJECT_CARD , { columnId : 2 , note : '2' } ] ) ;
185+ expect ( api . getCall ( 4 ) . args ) . toEqual ( [ queries . MOVE_PROJECT_CARD , { columnId : 2 , cardId : 201 , afterCardId : 200 } ] ) ;
186+ } ) ;
187+
155188 it ( 'moves cards on the target to match the source' , async ( ) => {
156189 getColumnsResponse . sourceColumn . cards . nodes . push ( { id : 1 , note : '1' } , { id : 2 , note : '2' } ) ;
157190 getColumnsResponse . targetColumn . cards . nodes . push ( { id : 202 , note : '2' } , { id : 201 , note : '1' } ) ;
158191
159192 await run ( ) ;
160193
194+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
161195 expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
162196 expect ( api . callCount ) . toEqual ( 3 ) ;
163197 // call 0 -> get columns
@@ -171,6 +205,7 @@ describe('linked-project-columns', () => {
171205
172206 await run ( ) ;
173207
208+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
174209 expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
175210 expect ( api . callCount ) . toEqual ( 4 ) ;
176211 // call 0 -> get columns
@@ -185,6 +220,7 @@ describe('linked-project-columns', () => {
185220
186221 await run ( ) ;
187222
223+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
188224 expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
189225 expect ( api . callCount ) . toEqual ( 4 ) ;
190226 // call 0 -> get columns
@@ -227,6 +263,7 @@ describe('linked-project-columns', () => {
227263
228264 await run ( ) ;
229265
266+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
230267 expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
231268 expect ( api . callCount ) . toEqual ( 4 ) ;
232269 // call 0 -> get columns
@@ -241,6 +278,7 @@ describe('linked-project-columns', () => {
241278
242279 await run ( ) ;
243280
281+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
244282 expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
245283 expect ( api . callCount ) . toEqual ( 4 ) ;
246284 // call 0 -> get columns
@@ -268,6 +306,7 @@ describe('linked-project-columns', () => {
268306
269307 await run ( ) ;
270308
309+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
271310 expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
272311 expect ( api . callCount ) . toEqual ( 6 ) ;
273312 // call 0 -> get columns
@@ -306,6 +345,7 @@ describe('linked-project-columns', () => {
306345
307346 await run ( ) ;
308347
348+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
309349 expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
310350 expect ( api . callCount ) . toEqual ( 6 ) ;
311351 // call 0 -> get columns
@@ -337,6 +377,7 @@ describe('linked-project-columns', () => {
337377
338378 await run ( ) ;
339379
380+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
340381 expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
341382 expect ( api . callCount ) . toEqual ( 4 ) ;
342383 // call 0 -> get columns
@@ -351,6 +392,7 @@ describe('linked-project-columns', () => {
351392
352393 await run ( ) ;
353394
395+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
354396 expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
355397 expect ( api . callCount ) . toEqual ( 4 ) ;
356398 // call 0 -> get columns
@@ -367,6 +409,7 @@ describe('linked-project-columns', () => {
367409
368410 await run ( ) ;
369411
412+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
370413 expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
371414 expect ( api . callCount ) . toEqual ( 2 ) ;
372415 // call 0 -> get columns
@@ -379,6 +422,7 @@ describe('linked-project-columns', () => {
379422
380423 await run ( ) ;
381424
425+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
382426 expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
383427 expect ( api . callCount ) . toEqual ( 2 ) ;
384428 // call 0 -> get columns
@@ -394,6 +438,7 @@ describe('linked-project-columns', () => {
394438
395439 await run ( ) ;
396440
441+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
397442 expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
398443 expect ( api . callCount ) . toEqual ( 2 ) ;
399444 // call 0 -> get columns
@@ -406,6 +451,7 @@ describe('linked-project-columns', () => {
406451
407452 await run ( ) ;
408453
454+ expect ( core . warning . callCount ) . toEqual ( 0 ) ;
409455 expect ( core . setFailed . callCount ) . toEqual ( 0 ) ;
410456 expect ( api . callCount ) . toEqual ( 2 ) ;
411457 // call 0 -> get columns
0 commit comments