diff --git a/src/reactions/gitlab/merge-request-merged.ts b/src/reactions/gitlab/merge-request-merged.ts index 3861d41..f8f1b19 100644 --- a/src/reactions/gitlab/merge-request-merged.ts +++ b/src/reactions/gitlab/merge-request-merged.ts @@ -7,7 +7,7 @@ export class MergeRequestMerged extends Reaction { } getTwitchChatMessage({ payload }: ReactionHandleOptions): string { - return `The merge request from ${payload.user.username} has been merged into ${payload.repository.homepage}`; + return `The merge request from ${payload.user.username} has been merged into ${payload.object_attributes.url}`; } canHandle({ payload, event }: ReactionCanHandleOptions): boolean { diff --git a/src/reactions/gitlab/merge-request-opened.ts b/src/reactions/gitlab/merge-request-opened.ts index 0d7ffb3..ae71d1f 100644 --- a/src/reactions/gitlab/merge-request-opened.ts +++ b/src/reactions/gitlab/merge-request-opened.ts @@ -8,7 +8,7 @@ export class MergeRequestOpened extends Reaction { } getTwitchChatMessage({ payload }: ReactionHandleOptions): string { - return `${payload.user.username} just opened a merge request in ${payload.repository.homepage}`; + return `${payload.user.username} just opened a merge request in ${payload.object_attributes.url}`; } canHandle({ payload, event, config }: ReactionCanHandleOptions): boolean { diff --git a/src/schemas/gitlab/merge-request-payload.ts b/src/schemas/gitlab/merge-request-payload.ts index cc44015..f6669f1 100644 --- a/src/schemas/gitlab/merge-request-payload.ts +++ b/src/schemas/gitlab/merge-request-payload.ts @@ -14,5 +14,6 @@ export interface MergeRequestPayload { }; object_attributes: { state: 'merged' | 'created' | 'updated' | 'closed' | 'opened'; + url: url; }; } diff --git a/test/builders/gitlab/merge-request-payload-builder.ts b/test/builders/gitlab/merge-request-payload-builder.ts index b888b66..ea32a91 100644 --- a/test/builders/gitlab/merge-request-payload-builder.ts +++ b/test/builders/gitlab/merge-request-payload-builder.ts @@ -1,5 +1,6 @@ -import { MergeRequestPayload } from '../../../src/schemas/gitlab/merge-request-payload'; import { merge } from 'lodash'; +import { DeepPartial } from 'utility-types'; +import { MergeRequestPayload } from '../../../src/schemas/gitlab/merge-request-payload'; export class MergeRequestPayloadBuilder { private payload: MergeRequestPayload = { @@ -17,10 +18,11 @@ export class MergeRequestPayloadBuilder { }, object_attributes: { state: 'merged', + url: 'http://example.com/diaspora/merge_requests/1', }, }; - public with(payload: Partial): MergeRequestPayloadBuilder { + public with(payload: DeepPartial): MergeRequestPayloadBuilder { merge(this.payload, payload); return this; diff --git a/test/reactions/gitlab/merge-request-merged.spec.ts b/test/reactions/gitlab/merge-request-merged.spec.ts index a6b725b..daa8198 100644 --- a/test/reactions/gitlab/merge-request-merged.spec.ts +++ b/test/reactions/gitlab/merge-request-merged.spec.ts @@ -55,7 +55,7 @@ describe('MergeRequestMerged', () => { expect.objectContaining({ twitchChat: { notified: true, - message: `The merge request from ${payload.user.username} has been merged into ${payload.repository.homepage}`, + message: `The merge request from ${payload.user.username} has been merged into ${payload.object_attributes.url}`, }, }), ); diff --git a/test/reactions/gitlab/merge-request-opened.spec.ts b/test/reactions/gitlab/merge-request-opened.spec.ts index 2af648a..cac772c 100644 --- a/test/reactions/gitlab/merge-request-opened.spec.ts +++ b/test/reactions/gitlab/merge-request-opened.spec.ts @@ -92,7 +92,7 @@ describe('MergeRequestOpened', () => { expect(response).toEqual({ notified: true, - message: `${payload.user.username} just opened a merge request in ${payload.repository.homepage}`, + message: `${payload.user.username} just opened a merge request in ${payload.object_attributes.url}`, }); });