@@ -16,10 +16,8 @@ import { FIRST_QUEUED_PR_LABEL, JUMP_THE_QUEUE_PR_LABEL, READY_FOR_MERGE_PR_LABE
1616import { Mocktokit } from '../types' ;
1717import { context } from '@actions/github' ;
1818import { octokit } from '../../src/octokit' ;
19- import { updateMergeQueue } from '../../src/utils/update-merge-queue' ;
2019import { prepareQueuedPrForMerge } from '../../src/helpers/prepare-queued-pr-for-merge' ;
2120import { removePrFromQueue } from '../../src/helpers/manage-merge-queue' ;
22- import { removeLabelIfExists } from '../../src/helpers/remove-label' ;
2321
2422jest . mock ( '@actions/core' ) ;
2523jest . mock ( '../../src/utils/update-merge-queue' ) ;
@@ -348,14 +346,60 @@ describe('prepareQueuedPrForMerge', () => {
348346 : { data : [ ] }
349347 ) ;
350348 ( octokit . repos . merge as unknown as Mocktokit ) . mockRejectedValue ( { status : 409 } ) ;
351- ( core . getBooleanInput as jest . Mock ) . mockReturnValue ( true ) ;
349+ ( core . getInput as jest . Mock ) . mockReturnValue ( ' true' ) ;
352350 await prepareQueuedPrForMerge ( ) ;
353351 } ) ;
354352
355- it ( 'should NOT remove PR from queue and call core.error ' , ( ) => {
353+ it ( 'should NOT remove PR from queue and call core.info ' , ( ) => {
356354 expect ( removePrFromQueue ) . not . toHaveBeenCalled ( ) ;
357- expect ( removeLabelIfExists ) . not . toHaveBeenCalled ( ) ;
358- expect ( updateMergeQueue ) . not . toHaveBeenCalled ( ) ;
355+ expect ( core . info ) . toHaveBeenCalled ( ) ;
356+ } ) ;
357+ } ) ;
358+
359+ describe ( 'merge conflict without no_evict_upon_conflict' , ( ) => {
360+ const firstInQueue = {
361+ number : 123 ,
362+ head : {
363+ ref
364+ } ,
365+ state : 'open' ,
366+ labels : [
367+ {
368+ name : READY_FOR_MERGE_PR_LABEL
369+ } ,
370+ {
371+ name : FIRST_QUEUED_PR_LABEL
372+ }
373+ ]
374+ } ;
375+ beforeEach ( async ( ) => {
376+ ( octokit . pulls . list as unknown as Mocktokit ) . mockImplementation ( async ( { page } ) =>
377+ page === 1 || ! page
378+ ? {
379+ data : [
380+ {
381+ head : {
382+ ref : 'other branch name'
383+ } ,
384+ state : 'open' ,
385+ labels : [
386+ {
387+ name : 'CORE APPROVED'
388+ }
389+ ]
390+ } ,
391+ firstInQueue
392+ ]
393+ }
394+ : { data : [ ] }
395+ ) ;
396+ ( octokit . repos . merge as unknown as Mocktokit ) . mockRejectedValue ( { status : 409 } ) ;
397+ ( core . getInput as jest . Mock ) . mockReturnValue ( '' ) ;
398+ await prepareQueuedPrForMerge ( ) ;
399+ } ) ;
400+
401+ it ( 'should remove PR from queue and call core.error' , ( ) => {
402+ expect ( removePrFromQueue ) . toHaveBeenCalled ( ) ;
359403 expect ( core . setFailed ) . toHaveBeenCalled ( ) ;
360404 } ) ;
361405 } ) ;
0 commit comments