Skip to content

Commit 1e614cf

Browse files
committed
feat: add 'MergeRequestOpened' to '/gitlab' route
1 parent 8c98995 commit 1e614cf

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

src/reactions/gitlab/index.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
import { TwitchChat } from '../../services/TwitchChat';
22
import { StreamLabs } from '../../services/StreamLabs';
33
import { MergeRequestMerged } from './merge-request-merged';
4-
import { Reaction } from '../github/reaction';
54
import { MergeRequestPayload } from '../../schemas/gitlab/merge-request-payload';
5+
import { MergeRequestOpened } from './merge-request-opened';
6+
import { Reaction } from '../github/reaction';
67

78
export const buildGitLabReactions = (
89
twitchChat: TwitchChat,
910
streamlabs: StreamLabs,
1011
): Reaction<MergeRequestPayload>[] => {
11-
return [new MergeRequestMerged(twitchChat, streamlabs)];
12+
return [
13+
new MergeRequestMerged(twitchChat, streamlabs),
14+
new MergeRequestOpened(twitchChat, streamlabs),
15+
];
1216
};

test/routes/gitlab/merge-request-hook.spec.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,21 @@ describe('POST /gitlab', () => {
3232

3333
expect(result).toEqual(expect.objectContaining({ messages: expect.anything() }));
3434
});
35+
36+
it('handles merge request opened event', async () => {
37+
const subject = await initServer(getConfig());
38+
const payload = new MergeRequestPayloadBuilder()
39+
.with({ object_attributes: { state: 'opened' } })
40+
.getInstance();
41+
42+
const { result } = await subject.inject({
43+
method: 'POST',
44+
url: '/gitlab',
45+
payload,
46+
headers: { 'x-gitlab-event': 'Merge Request Hook' },
47+
});
48+
49+
expect(result).toEqual(expect.objectContaining({ messages: expect.anything() }));
50+
});
3551
});
3652
});

0 commit comments

Comments
 (0)