do not allow edit contribution for admin contributions in backend

This commit is contained in:
Moriz Wahl 2023-03-30 18:33:36 +02:00
parent d3ac556885
commit 695d037a2d
2 changed files with 47 additions and 0 deletions

View File

@ -2042,6 +2042,50 @@ describe('ContributionResolver', () => {
}),
)
})
describe('user tries to update admin contribution', () => {
beforeAll(async () => {
await mutate({
mutation: login,
variables: { email: 'bibi@bloxberg.de', password: 'Aa12345_' },
})
})
afterAll(async () => {
await mutate({
mutation: login,
variables: { email: 'peter@lustig.de', password: 'Aa12345_' },
})
})
it('logs and throws "Cannot update contribution of moderator" error', async () => {
jest.clearAllMocks()
const adminContribution = await Contribution.findOne({
where: {
moderatorId: admin.id,
userId: bibi.id,
},
})
await expect(
mutate({
mutation: updateContribution,
variables: {
contributionId: (adminContribution && adminContribution.id) || -1,
amount: 100.0,
memo: 'Test Test Test',
creationDate: new Date().toString(),
},
}),
).resolves.toMatchObject({
errors: [new GraphQLError('Cannot update contribution of moderator')],
})
expect(logger.error).toBeCalledWith(
'Cannot update contribution of moderator',
expect.any(Object),
bibi.id,
)
})
})
})
describe('second creation surpasses the available amount ', () => {

View File

@ -201,6 +201,9 @@ export class ContributionResolver {
user.id,
)
}
if (contributionToUpdate.moderatorId) {
throw new LogError('Cannot update contribution of moderator', contributionToUpdate, user.id)
}
if (
contributionToUpdate.contributionStatus !== ContributionStatus.IN_PROGRESS &&
contributionToUpdate.contributionStatus !== ContributionStatus.PENDING