@@ -3,6 +3,8 @@ import { getConfig } from '../../../src/config';
33import { StreamLabs } from '../../../src/services/StreamLabs' ;
44import { TwitchChat } from '../../../src/services/TwitchChat' ;
55import { ReleaseCreatedPayloadBuilder } from '../../builders/release-created-payload-builder' ;
6+ import { ReleaseCreatedPayload } from '../../../src/schemas/github/release-created-payload' ;
7+ import { WebhookResponse } from '../../../src/schemas/webhook-response' ;
68
79describe ( '/github' , ( ) => {
810 let streamLabsSpy : jest . SpyInstance < Promise < void > > ;
@@ -17,7 +19,12 @@ describe('/github', () => {
1719 } ) ;
1820
1921 it ( 'handles release events' , async ( ) => {
20- const payload = new ReleaseCreatedPayloadBuilder ( ) . getInstance ( ) ;
22+ const payload = new ReleaseCreatedPayloadBuilder ( )
23+ . with ( {
24+ action : 'published' ,
25+ release : { tag_name : '1.0.0' } ,
26+ } as Partial < ReleaseCreatedPayload > )
27+ . getInstance ( ) ;
2128
2229 const subject = await initServer ( getConfig ( ) ) ;
2330
@@ -30,6 +37,16 @@ describe('/github', () => {
3037 } ,
3138 } ) ;
3239
33- expect ( response . statusCode ) . toEqual ( 200 ) ;
40+ expect ( ( response . result as WebhookResponse ) . messages ) . toEqual (
41+ expect . arrayContaining ( [
42+ expect . objectContaining ( {
43+ twitchChat : {
44+ message :
45+ 'streamdevs/webhook version 1.0.0 has just been released 🚀! Check it out http://github.com/streamdevs/webhook/releases/1.0.0' ,
46+ notified : true ,
47+ } ,
48+ } ) ,
49+ ] ) ,
50+ ) ;
3451 } ) ;
3552} ) ;
0 commit comments