@@ -512,6 +512,110 @@ func TestShouldPostThread(t *testing.T) {
512512 wantPost : true ,
513513 wantReasonPart : "invalid_config" ,
514514 },
515+ {
516+ name : "passing: posts when in StateReviewedNeedsRefinement" ,
517+ when : "passing" ,
518+ checkResult : & turn.CheckResponse {
519+ PullRequest : prx.PullRequest {
520+ State : "open" ,
521+ },
522+ Analysis : turn.Analysis {
523+ WorkflowState : string (turn .StateReviewedNeedsRefinement ),
524+ },
525+ },
526+ wantPost : true ,
527+ wantReasonPart : "workflow_state" ,
528+ },
529+ {
530+ name : "passing: posts when in StateRefinedWaitingForApproval" ,
531+ when : "passing" ,
532+ checkResult : & turn.CheckResponse {
533+ PullRequest : prx.PullRequest {
534+ State : "open" ,
535+ },
536+ Analysis : turn.Analysis {
537+ WorkflowState : string (turn .StateRefinedWaitingForApproval ),
538+ },
539+ },
540+ wantPost : true ,
541+ wantReasonPart : "workflow_state" ,
542+ },
543+ {
544+ name : "passing: posts when in StateApprovedWaitingForMerge" ,
545+ when : "passing" ,
546+ checkResult : & turn.CheckResponse {
547+ PullRequest : prx.PullRequest {
548+ State : "open" ,
549+ },
550+ Analysis : turn.Analysis {
551+ WorkflowState : string (turn .StateApprovedWaitingForMerge ),
552+ },
553+ },
554+ wantPost : true ,
555+ wantReasonPart : "workflow_state" ,
556+ },
557+ {
558+ name : "passing: does not post when StateNewlyPublished" ,
559+ when : "passing" ,
560+ checkResult : & turn.CheckResponse {
561+ PullRequest : prx.PullRequest {
562+ State : "open" ,
563+ },
564+ Analysis : turn.Analysis {
565+ WorkflowState : string (turn .StateNewlyPublished ),
566+ },
567+ },
568+ wantPost : false ,
569+ wantReasonPart : "waiting_for" ,
570+ },
571+ {
572+ name : "passing: does not post when StateInDraft" ,
573+ when : "passing" ,
574+ checkResult : & turn.CheckResponse {
575+ PullRequest : prx.PullRequest {
576+ State : "open" ,
577+ },
578+ Analysis : turn.Analysis {
579+ WorkflowState : string (turn .StateInDraft ),
580+ },
581+ },
582+ wantPost : false ,
583+ wantReasonPart : "waiting_for" ,
584+ },
585+ {
586+ name : "passing: does not post when StateTestedWaitingForAssignment" ,
587+ when : "passing" ,
588+ checkResult : & turn.CheckResponse {
589+ PullRequest : prx.PullRequest {
590+ State : "open" ,
591+ },
592+ Analysis : turn.Analysis {
593+ WorkflowState : string (turn .StateTestedWaitingForAssignment ),
594+ },
595+ },
596+ wantPost : false ,
597+ wantReasonPart : "waiting_for" ,
598+ },
599+ {
600+ name : "passing: uses fallback when tests have Waiting status" ,
601+ when : "passing" ,
602+ checkResult : & turn.CheckResponse {
603+ PullRequest : prx.PullRequest {
604+ State : "open" ,
605+ },
606+ Analysis : turn.Analysis {
607+ WorkflowState : "unknown_state" ,
608+ Checks : turn.Checks {
609+ Passing : 0 ,
610+ Failing : 0 ,
611+ Pending : 0 ,
612+ Waiting : 3 ,
613+ },
614+ },
615+ },
616+ wantPost : false ,
617+ wantReasonPart : "tests_pending" ,
618+ },
515619 }
516620
517621 for _ , tt := range tests {
0 commit comments