errors are now logged, and events are checked

This commit is contained in:
joseji 2022-09-22 12:07:12 +02:00
parent c08aac58a9
commit 0176131c39
3 changed files with 63 additions and 3 deletions

View File

@ -134,6 +134,12 @@ describe('ContributionResolver', () => {
)
})
it('logs the error found', () => {
expect(logger.error).toBeCalledWith(
'No information for available creations for the given date',
)
})
it('throws error when creationDate 3 month behind', async () => {
const date = new Date()
await expect(
@ -153,6 +159,12 @@ describe('ContributionResolver', () => {
}),
)
})
it('logs the error found', () => {
expect(logger.error).toBeCalledWith(
'No information for available creations for the given date',
)
})
})
describe('valid input', () => {
@ -369,6 +381,10 @@ describe('ContributionResolver', () => {
}),
)
})
it('logs the error found', () => {
expect(logger.error).toBeCalledWith('No contribution found to given id')
})
})
describe('Memo length smaller than 5 chars', () => {
@ -390,6 +406,10 @@ describe('ContributionResolver', () => {
}),
)
})
it('logs the error found', () => {
expect(logger.error).toBeCalledWith('memo text is too short: memo.length=4 < (5)')
})
})
describe('Memo length greater than 255 chars', () => {
@ -411,6 +431,10 @@ describe('ContributionResolver', () => {
}),
)
})
it('logs the error found', () => {
expect(logger.error).toBeCalledWith('memo text is too long: memo.length=259 > (255)')
})
})
describe('wrong user tries to update the contribution', () => {
@ -442,6 +466,12 @@ describe('ContributionResolver', () => {
}),
)
})
it('logs the error found', () => {
expect(logger.error).toBeCalledWith(
'user of the pending contribution and send user does not correspond',
)
})
})
describe('admin tries to update a user contribution', () => {
@ -463,6 +493,8 @@ describe('ContributionResolver', () => {
}),
)
})
// TODO check that the error is logged (need to modify AdminResolver, avoid conflicts)
})
describe('update too much so that the limit is exceeded', () => {
@ -494,6 +526,12 @@ describe('ContributionResolver', () => {
}),
)
})
it('logs the error found', () => {
expect(logger.error).toBeCalledWith(
'The amount (1019 GDD) to be created exceeds the amount (1000 GDD) still available for this month.',
)
})
})
describe('update creation to a date that is older than 3 months', () => {
@ -517,6 +555,12 @@ describe('ContributionResolver', () => {
}),
)
})
it('logs the error found', () => {
expect(logger.error).toBeCalledWith(
'No information for available creations for the given date',
)
})
})
describe('valid input', () => {
@ -686,9 +730,13 @@ describe('ContributionResolver', () => {
}),
)
})
it('logs the error found', () => {
expect(logger.error).toBeCalledWith('Contribution not found for given id')
})
})
describe('other user sends a deleteContribtuion', () => {
describe('other user sends a deleteContribution', () => {
it('returns an error', async () => {
await query({
query: login,
@ -707,6 +755,10 @@ describe('ContributionResolver', () => {
}),
)
})
it('logs the error found', () => {
expect(logger.error).toBeCalledWith('Can not delete contribution of another user')
})
})
describe('User deletes own contribution', () => {
@ -751,6 +803,10 @@ describe('ContributionResolver', () => {
}),
)
})
it('logs the error found', () => {
expect(logger.error).toBeCalledWith('A confirmed contribution can not be deleted')
})
})
})
})

View File

@ -13,7 +13,7 @@ import { Contribution, ContributionListResult } from '@model/Contribution'
import { UnconfirmedContribution } from '@model/UnconfirmedContribution'
import { validateContribution, getUserCreation, updateCreations } from './util/creations'
import { MEMO_MAX_CHARS, MEMO_MIN_CHARS } from './const/const'
import { Event, EventConfirmationEmail, EventContributionCreate } from '@/event/Event'
import { Event, EventContributionCreate } from '@/event/Event'
import { eventProtocol } from '@/event/EventProtocolEmitter'
@Resolver()
@ -166,7 +166,7 @@ export class ContributionResolver {
where: { id: contributionId, confirmedAt: IsNull() },
})
if (!contributionToUpdate) {
logger.error('No contribution found for given id')
logger.error('No contribution found to given id')
throw new Error('No contribution found to given id.')
}
if (contributionToUpdate.userId !== user.id) {

View File

@ -19,10 +19,14 @@ export const validateContribution = (
const index = getCreationIndex(creationDate.getMonth())
if (index < 0) {
logger.error('No information for available creations for the given date')
throw new Error('No information for available creations for the given date')
}
if (amount.greaterThan(creations[index].toString())) {
logger.error(
`The amount (${amount} GDD) to be created exceeds the amount (${creations[index]} GDD) still available for this month.`,
)
throw new Error(
`The amount (${amount} GDD) to be created exceeds the amount (${creations[index]} GDD) still available for this month.`,
)