@@ -7,6 +7,16 @@ const httpMocks = require('node-mocks-http')
77const sinon = require ( 'sinon' )
88
99describe ( 'Webhook Route for GitHub calls' , ( ) => {
10+ let clock
11+
12+ beforeEach ( ( ) => {
13+ clock = sinon . useFakeTimers ( )
14+ } )
15+
16+ afterEach ( ( ) => {
17+ clock . restore ( )
18+ } )
19+
1020 it ( 'handles invalid action' , async ( ) => {
1121 const request = createRequest ( 'yeah, right' )
1222 const response = httpMocks . createResponse ( )
@@ -65,13 +75,14 @@ describe('Webhook Route for GitHub calls', () => {
6575 // })
6676
6777 it ( 'skips closed event that is not merged' , async function ( ) {
68- this . timeout ( 12000 )
6978 const request = createRequest ( 'closed' , false )
7079 const response = httpMocks . createResponse ( )
7180 const logger = createLogger ( )
7281 const service = createCurationService ( )
7382 const router = webhookRoutes ( service , null , logger , 'secret' , 'secret' , true )
74- await router . _handlePost ( request , response )
83+ const promise = router . _handlePost ( request , response )
84+ await clock . runAllAsync ( )
85+ await promise
7586 expect ( response . statusCode ) . to . be . eq ( 200 )
7687 expect ( service . validateContributions . calledOnce ) . to . be . false
7788 expect ( service . addByMergedCuration . calledOnce ) . to . be . true
@@ -82,13 +93,14 @@ describe('Webhook Route for GitHub calls', () => {
8293 } )
8394
8495 it ( 'calls valid for PR changes' , async function ( ) {
85- this . timeout ( 12000 )
8696 const request = createRequest ( 'opened' )
8797 const response = httpMocks . createResponse ( )
8898 const logger = createLogger ( )
8999 const service = createCurationService ( )
90100 const router = webhookRoutes ( service , null , logger , 'secret' , 'secret' , true )
91- await router . _handlePost ( request , response )
101+ const promise = router . _handlePost ( request , response )
102+ await clock . runAllAsync ( )
103+ await promise
92104 expect ( response . statusCode ) . to . be . eq ( 200 )
93105 expect ( service . validateContributions . calledOnce ) . to . be . true
94106 expect ( service . updateContribution . calledOnce ) . to . be . true
@@ -97,13 +109,14 @@ describe('Webhook Route for GitHub calls', () => {
97109 } )
98110
99111 it ( 'calls missing for PR changes' , async function ( ) {
100- this . timeout ( 12000 )
101112 const request = createRequest ( 'opened' )
102113 const response = httpMocks . createResponse ( )
103114 const logger = createLogger ( )
104115 const service = createCurationService ( )
105116 const router = webhookRoutes ( service , null , logger , 'secret' , 'secret' , true )
106- await router . _handlePost ( request , response )
117+ const promise = router . _handlePost ( request , response )
118+ await clock . runAllAsync ( )
119+ await promise
107120 expect ( response . statusCode ) . to . be . eq ( 200 )
108121 expect ( service . validateContributions . calledOnce ) . to . be . true
109122 expect ( service . updateContribution . calledOnce ) . to . be . true
@@ -112,24 +125,26 @@ describe('Webhook Route for GitHub calls', () => {
112125 } )
113126
114127 it ( 'validates the curation when a PR is opened' , async function ( ) {
115- this . timeout ( 12000 )
116128 const request = createRequest ( 'opened' )
117129 const response = httpMocks . createResponse ( )
118130 const logger = createLogger ( )
119131 const service = createCurationService ( )
120132 const router = webhookRoutes ( service , null , logger , 'secret' , 'secret' , true )
121- await router . _handlePost ( request , response )
133+ const promise = router . _handlePost ( request , response )
134+ await clock . runAllAsync ( )
135+ await promise
122136 expect ( service . validateContributions . calledOnce ) . to . be . true
123137 } )
124138
125139 it ( 'validates the curation when a PR is reopened' , async function ( ) {
126- this . timeout ( 12000 )
127140 const request = createRequest ( 'reopened' )
128141 const response = httpMocks . createResponse ( )
129142 const logger = createLogger ( )
130143 const service = createCurationService ( )
131144 const router = webhookRoutes ( service , null , logger , 'secret' , 'secret' , true )
132- await router . _handlePost ( request , response )
145+ const promise = router . _handlePost ( request , response )
146+ await clock . runAllAsync ( )
147+ await promise
133148 expect ( service . validateContributions . calledOnce ) . to . be . true
134149 } )
135150} )
0 commit comments