From 2009428a241163a55ffc9ef46ef82ec133c4d57f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Santiago=20Mart=C3=ADn=20Agra?= Date: Sun, 3 May 2020 20:19:52 +0200 Subject: [PATCH 1/2] feat: send merge request link in merged pull requests --- src/reactions/gitlab/merge-request-merged.ts | 2 +- src/schemas/gitlab/merge-request-payload.ts | 1 + test/builders/gitlab/merge-request-payload-builder.ts | 6 ++++-- test/reactions/gitlab/merge-request-merged.spec.ts | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) 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/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}`, }, }), ); From 609d8516bd450dff87cef78b08ed2f996118698c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Santiago=20Mart=C3=ADn=20Agra?= Date: Sun, 3 May 2020 20:22:48 +0200 Subject: [PATCH 2/2] feat: send merge request link in open merge requests --- src/reactions/gitlab/merge-request-opened.ts | 2 +- test/reactions/gitlab/merge-request-opened.spec.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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/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}`, }); });