diff --git a/src/services/message/messageMapper.ts b/src/services/message/messageMapper.ts index 0d81f35..26bd8ac 100644 --- a/src/services/message/messageMapper.ts +++ b/src/services/message/messageMapper.ts @@ -54,6 +54,10 @@ export class MessageMapper { return Emote.NO_FURTHER_ACTION } + if (message.message.includes('PENALTY SERVED')) { + return Emote.NO_FURTHER_ACTION + } + if (message.message.includes('PENALTY')) { return Emote.BLACK } @@ -86,6 +90,10 @@ export class MessageMapper { return FlagColour.YELLOW } + if (message.message.includes('PENALTY SERVED')) { + return FlagColour.GREEN + } + if (message.message.includes('PENALTY')) { return FlagColour.BLACK } diff --git a/tests/unit/services/message/messageMapperTests.ts b/tests/unit/services/message/messageMapperTests.ts index ff0b94e..930ea2d 100644 --- a/tests/unit/services/message/messageMapperTests.ts +++ b/tests/unit/services/message/messageMapperTests.ts @@ -102,7 +102,8 @@ describe('MessageMapper', () => { { message: 'NOTED', emote: Emote.NOTED }, { message: 'NO FURTHER ACTION', emote: Emote.NO_FURTHER_ACTION }, { message: 'PENALTY', emote: Emote.BLACK }, - { message: 'TRACK LIMITS', emote: Emote.OFF_TRACK } + { message: 'TRACK LIMITS', emote: Emote.OFF_TRACK }, + { message: 'PENALTY SERVED', emote: Emote.NO_FURTHER_ACTION } ] for (const testCase of cases) { @@ -174,6 +175,15 @@ describe('MessageMapper', () => { assert.equal(embed.data.color, FlagColour.YELLOW) }) + it('should use green colour when message contains PENALTY SERVED', () => { + message = generateEnrichedRaceControlMessage(undefined, 'PENALTY SERVED') + message.flag = undefined + + const embed: EmbedBuilder = mapper.mapRaceControlMessage(message) + + assert.equal(embed.data.color, FlagColour.GREEN) + }) + it('should use black colour when message contains PENALTY', () => { message = generateEnrichedRaceControlMessage(undefined, 'PENALTY') message.flag = undefined