@@ -2,8 +2,9 @@ import type { Request, Response } from 'express'
22import { describe , expect , it , vi } from 'vitest'
33
44import type { AkritesExternalContactDetailRow } from '@crowd/data-access-layer'
5+ import { WorkflowIdConflictPolicy , WorkflowIdReusePolicy } from '@crowd/temporal'
56
6- import { refreshAkritesExternalContactDetail } from './refreshAkritesExternalContactDetail '
7+ import { ingestAkritesExternalContactDetail } from './ingestAkritesExternalContactDetail '
78
89const { execute, getContactDetailsByPurls } = vi . hoisted ( ( ) => ( {
910 execute : vi . fn ( ) ,
@@ -54,20 +55,22 @@ function mockReqRes(body: unknown) {
5455 return { req, res, status, json }
5556}
5657
57- describe ( 'refreshAkritesExternalContactDetail ' , ( ) => {
58+ describe ( 'ingestAkritesExternalContactDetail ' , ( ) => {
5859 it ( 'executes ingestSecurityContactsForPurlWorkflow and returns the re-read contact detail' , async ( ) => {
5960 execute . mockResolvedValue ( { found : true , repoId : 'repo-1' } )
6061 getContactDetailsByPurls . mockResolvedValue ( [ baseRow ( ) ] )
6162
6263 const { req, res, json } = mockReqRes ( { purl : 'pkg:npm/lodash' } )
6364
64- await refreshAkritesExternalContactDetail ( req , res )
65+ await ingestAkritesExternalContactDetail ( req , res )
6566
6667 expect ( execute ) . toHaveBeenCalledTimes ( 1 )
6768 const [ workflowType , options ] = execute . mock . calls [ 0 ]
6869 expect ( workflowType ) . toBe ( 'ingestSecurityContactsForPurlWorkflow' )
6970 expect ( options . taskQueue ) . toBe ( 'security-contacts-worker' )
7071 expect ( options . workflowId ) . toMatch ( / ^ s e c u r i t y - c o n t a c t s - o n d e m a n d : [ 0 - 9 a - f ] { 64 } $ / )
72+ expect ( options . workflowIdConflictPolicy ) . toBe ( WorkflowIdConflictPolicy . USE_EXISTING )
73+ expect ( options . workflowIdReusePolicy ) . toBe ( WorkflowIdReusePolicy . ALLOW_DUPLICATE )
7174 expect ( options . args ) . toEqual ( [ 'pkg:npm/lodash' ] )
7275
7376 expect ( getContactDetailsByPurls ) . toHaveBeenCalledWith ( expect . anything ( ) , [ 'pkg:npm/lodash' ] )
@@ -79,11 +82,11 @@ describe('refreshAkritesExternalContactDetail', () => {
7982 getContactDetailsByPurls . mockResolvedValue ( [ baseRow ( ) ] )
8083
8184 const { req : req1 , res : res1 } = mockReqRes ( { purl : 'pkg:npm/lodash' } )
82- await refreshAkritesExternalContactDetail ( req1 , res1 )
85+ await ingestAkritesExternalContactDetail ( req1 , res1 )
8386 const id1 = execute . mock . calls [ 0 ] [ 1 ] . workflowId
8487
8588 const { req : req2 , res : res2 } = mockReqRes ( { purl : 'pkg:npm/lodash' } )
86- await refreshAkritesExternalContactDetail ( req2 , res2 )
89+ await ingestAkritesExternalContactDetail ( req2 , res2 )
8790 const id2 = execute . mock . calls [ 0 ] [ 1 ] . workflowId
8891
8992 expect ( id1 ) . toBe ( id2 )
@@ -94,7 +97,7 @@ describe('refreshAkritesExternalContactDetail', () => {
9497
9598 const { req, res } = mockReqRes ( { purl : 'pkg:npm/left-pad' } )
9699
97- await expect ( refreshAkritesExternalContactDetail ( req , res ) ) . rejects . toThrow ( )
100+ await expect ( ingestAkritesExternalContactDetail ( req , res ) ) . rejects . toThrow ( )
98101 expect ( getContactDetailsByPurls ) . not . toHaveBeenCalled ( )
99102 } )
100103
@@ -104,13 +107,13 @@ describe('refreshAkritesExternalContactDetail', () => {
104107
105108 const { req, res } = mockReqRes ( { purl : 'pkg:npm/lodash' } )
106109
107- await expect ( refreshAkritesExternalContactDetail ( req , res ) ) . rejects . toThrow ( )
110+ await expect ( ingestAkritesExternalContactDetail ( req , res ) ) . rejects . toThrow ( )
108111 } )
109112
110113 it ( 'rejects a request missing purl without executing a workflow' , async ( ) => {
111114 const { req, res } = mockReqRes ( { } )
112115
113- await expect ( refreshAkritesExternalContactDetail ( req , res ) ) . rejects . toThrow ( )
116+ await expect ( ingestAkritesExternalContactDetail ( req , res ) ) . rejects . toThrow ( )
114117 expect ( execute ) . not . toHaveBeenCalled ( )
115118 } )
116119} )
0 commit comments