add message type arg to admin create contribution message

This commit is contained in:
Moriz Wahl 2023-06-20 12:11:44 +02:00
parent 65965a2ffd
commit 732560aaac
3 changed files with 43 additions and 5 deletions

View File

@ -217,6 +217,33 @@ describe('ContributionMessageResolver', () => {
)
})
})
describe('contribution message type MODERATOR', () => {
it('creates ContributionMessage', async () => {
await expect(
mutate({
mutation: adminCreateContributionMessage,
variables: {
contributionId: result.data.createContribution.id,
message: 'Internal moderator communication',
messageType: 'MODERATOR',
},
}),
).resolves.toEqual(
expect.objectContaining({
data: {
adminCreateContributionMessage: expect.objectContaining({
id: expect.any(Number),
message: 'Internal moderator communication',
type: 'MODERATOR',
userFirstName: 'Peter',
userLastName: 'Lustig',
}),
},
}),
)
})
})
})
})
@ -395,7 +422,7 @@ describe('ContributionMessageResolver', () => {
expect.objectContaining({
data: {
listContributionMessages: {
count: 2,
count: 3,
messages: expect.arrayContaining([
expect.objectContaining({
id: expect.any(Number),
@ -411,6 +438,13 @@ describe('ContributionMessageResolver', () => {
userFirstName: 'Bibi',
userLastName: 'Bloxberg',
}),
expect.objectContaining({
id: expect.any(Number),
message: 'Internal moderator communication',
type: 'MODERATOR',
userFirstName: 'Peter',
userLastName: 'Lustig',
}),
]),
},
},

View File

@ -104,7 +104,7 @@ export class ContributionMessageResolver {
@Authorized([RIGHTS.ADMIN_CREATE_CONTRIBUTION_MESSAGE])
@Mutation(() => ContributionMessage)
async adminCreateContributionMessage(
@Args() { contributionId, message }: ContributionMessageArgs,
@Args() { contributionId, message, messageType }: ContributionMessageArgs,
@Ctx() context: Context,
): Promise<ContributionMessage> {
const moderator = getUser(context)
@ -133,7 +133,7 @@ export class ContributionMessageResolver {
contributionMessage.createdAt = new Date()
contributionMessage.message = message
contributionMessage.userId = moderator.id
contributionMessage.type = ContributionMessageType.DIALOG
contributionMessage.type = messageType
contributionMessage.isModerator = true
await queryRunner.manager.insert(DbContributionMessage, contributionMessage)

View File

@ -284,8 +284,12 @@ export const createContributionMessage = gql`
`
export const adminCreateContributionMessage = gql`
mutation ($contributionId: Int!, $message: String!) {
adminCreateContributionMessage(contributionId: $contributionId, message: $message) {
mutation ($contributionId: Int!, $message: String!, $messageType: ContributionMessageType) {
adminCreateContributionMessage(
contributionId: $contributionId
message: $message
messageType: $messageType
) {
id
message
createdAt