mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
merge
This commit is contained in:
parent
903fe56f60
commit
7638d29052
@ -15,8 +15,7 @@ import Paginated from '@arg/Paginated'
|
|||||||
import { backendLogger as logger } from '@/server/logger'
|
import { backendLogger as logger } from '@/server/logger'
|
||||||
import { RIGHTS } from '@/auth/RIGHTS'
|
import { RIGHTS } from '@/auth/RIGHTS'
|
||||||
import { Context, getUser } from '@/server/context'
|
import { Context, getUser } from '@/server/context'
|
||||||
import { sendAddedContributionMessageEmail } from '@/mailer/sendAddedContributionMessageEmail'
|
import { sendAddedContributionMessageEmail } from '@/emails/sendEmailVariants'
|
||||||
import CONFIG from '@/config'
|
|
||||||
|
|
||||||
@Resolver()
|
@Resolver()
|
||||||
export class ContributionMessageResolver {
|
export class ContributionMessageResolver {
|
||||||
@ -139,15 +138,13 @@ export class ContributionMessageResolver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
await sendAddedContributionMessageEmail({
|
await sendAddedContributionMessageEmail({
|
||||||
|
firstName: contribution.user.firstName,
|
||||||
|
lastName: contribution.user.lastName,
|
||||||
|
email: contribution.user.emailContact.email,
|
||||||
|
language: contribution.user.language,
|
||||||
senderFirstName: user.firstName,
|
senderFirstName: user.firstName,
|
||||||
senderLastName: user.lastName,
|
senderLastName: user.lastName,
|
||||||
recipientFirstName: contribution.user.firstName,
|
|
||||||
recipientLastName: contribution.user.lastName,
|
|
||||||
recipientEmail: contribution.user.emailContact.email,
|
|
||||||
senderEmail: user.emailContact.email,
|
|
||||||
contributionMemo: contribution.memo,
|
contributionMemo: contribution.memo,
|
||||||
message,
|
|
||||||
overviewURL: CONFIG.EMAIL_LINK_OVERVIEW,
|
|
||||||
})
|
})
|
||||||
await queryRunner.commitTransaction()
|
await queryRunner.commitTransaction()
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
@ -21,7 +21,11 @@ import {
|
|||||||
listContributions,
|
listContributions,
|
||||||
listUnconfirmedContributions,
|
listUnconfirmedContributions,
|
||||||
} from '@/seeds/graphql/queries'
|
} from '@/seeds/graphql/queries'
|
||||||
import { sendContributionConfirmedEmail } from '@/mailer/sendContributionConfirmedEmail'
|
import {
|
||||||
|
// sendAccountActivationEmail,
|
||||||
|
sendContributionConfirmedEmail,
|
||||||
|
// sendContributionRejectedEmail,
|
||||||
|
} from '@/emails/sendEmailVariants'
|
||||||
import { cleanDB, resetToken, testEnvironment, contributionDateFormatter } from '@test/helpers'
|
import { cleanDB, resetToken, testEnvironment, contributionDateFormatter } from '@test/helpers'
|
||||||
import { GraphQLError } from 'graphql'
|
import { GraphQLError } from 'graphql'
|
||||||
import { userFactory } from '@/seeds/factory/user'
|
import { userFactory } from '@/seeds/factory/user'
|
||||||
@ -33,13 +37,22 @@ import { Contribution } from '@entity/Contribution'
|
|||||||
import { Transaction as DbTransaction } from '@entity/Transaction'
|
import { Transaction as DbTransaction } from '@entity/Transaction'
|
||||||
import { User } from '@entity/User'
|
import { User } from '@entity/User'
|
||||||
import { EventProtocolType } from '@/event/EventProtocolType'
|
import { EventProtocolType } from '@/event/EventProtocolType'
|
||||||
import { logger } from '@test/testSetup'
|
import { logger, i18n as localization } from '@test/testSetup'
|
||||||
|
|
||||||
// mock account activation email to avoid console spam
|
// mock account activation email to avoid console spam
|
||||||
jest.mock('@/mailer/sendContributionConfirmedEmail', () => {
|
// mock account activation email to avoid console spam
|
||||||
|
jest.mock('@/emails/sendEmailVariants', () => {
|
||||||
|
const originalModule = jest.requireActual('@/emails/sendEmailVariants')
|
||||||
return {
|
return {
|
||||||
__esModule: true,
|
__esModule: true,
|
||||||
sendContributionConfirmedEmail: jest.fn(),
|
...originalModule,
|
||||||
|
// TODO: test the call of …
|
||||||
|
// sendAccountActivationEmail: jest.fn((a) => originalModule.sendAccountActivationEmail(a)),
|
||||||
|
sendContributionConfirmedEmail: jest.fn((a) =>
|
||||||
|
originalModule.sendContributionConfirmedEmail(a),
|
||||||
|
),
|
||||||
|
// TODO: test the call of …
|
||||||
|
// sendContributionRejectedEmail: jest.fn((a) => originalModule.sendContributionRejectedEmail(a)),
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -50,7 +63,7 @@ let admin: User
|
|||||||
let result: any
|
let result: any
|
||||||
|
|
||||||
beforeAll(async () => {
|
beforeAll(async () => {
|
||||||
testEnv = await testEnvironment()
|
testEnv = await testEnvironment(logger, localization)
|
||||||
mutate = testEnv.mutate
|
mutate = testEnv.mutate
|
||||||
query = testEnv.query
|
query = testEnv.query
|
||||||
con = testEnv.con
|
con = testEnv.con
|
||||||
@ -1903,17 +1916,16 @@ describe('ContributionResolver', () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
it('calls sendContributionConfirmedEmail', async () => {
|
it('calls sendContributionConfirmedEmail', async () => {
|
||||||
expect(sendContributionConfirmedEmail).toBeCalledWith(
|
expect(sendContributionConfirmedEmail).toBeCalledWith({
|
||||||
expect.objectContaining({
|
firstName: 'Bibi',
|
||||||
contributionMemo: 'Herzlich Willkommen bei Gradido liebe Bibi!',
|
lastName: 'Bloxberg',
|
||||||
overviewURL: 'http://localhost/overview',
|
email: 'bibi@bloxberg.de',
|
||||||
recipientEmail: 'bibi@bloxberg.de',
|
language: 'de',
|
||||||
recipientFirstName: 'Bibi',
|
|
||||||
recipientLastName: 'Bloxberg',
|
|
||||||
senderFirstName: 'Peter',
|
senderFirstName: 'Peter',
|
||||||
senderLastName: 'Lustig',
|
senderLastName: 'Lustig',
|
||||||
}),
|
contributionMemo: 'Herzlich Willkommen bei Gradido liebe Bibi!',
|
||||||
)
|
contributionAmount: expect.decimalEqual(450),
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
it('stores the send confirmation email event in the database', async () => {
|
it('stores the send confirmation email event in the database', async () => {
|
||||||
|
|||||||
@ -45,10 +45,11 @@ import {
|
|||||||
EventAdminContributionUpdate,
|
EventAdminContributionUpdate,
|
||||||
} from '@/event/Event'
|
} from '@/event/Event'
|
||||||
import { eventProtocol } from '@/event/EventProtocolEmitter'
|
import { eventProtocol } from '@/event/EventProtocolEmitter'
|
||||||
import CONFIG from '@/config'
|
|
||||||
import { sendContributionRejectedEmail } from '@/mailer/sendContributionRejectedEmail'
|
|
||||||
import { calculateDecay } from '@/util/decay'
|
import { calculateDecay } from '@/util/decay'
|
||||||
import { sendContributionConfirmedEmail } from '@/mailer/sendContributionConfirmedEmail'
|
import {
|
||||||
|
sendContributionConfirmedEmail,
|
||||||
|
sendContributionRejectedEmail,
|
||||||
|
} from '@/emails/sendEmailVariants'
|
||||||
|
|
||||||
@Resolver()
|
@Resolver()
|
||||||
export class ContributionResolver {
|
export class ContributionResolver {
|
||||||
@ -533,14 +534,13 @@ export class ContributionResolver {
|
|||||||
event.setEventAdminContributionDelete(eventAdminContributionDelete),
|
event.setEventAdminContributionDelete(eventAdminContributionDelete),
|
||||||
)
|
)
|
||||||
sendContributionRejectedEmail({
|
sendContributionRejectedEmail({
|
||||||
|
firstName: user.firstName,
|
||||||
|
lastName: user.lastName,
|
||||||
|
email: user.emailContact.email,
|
||||||
|
language: user.language,
|
||||||
senderFirstName: moderator.firstName,
|
senderFirstName: moderator.firstName,
|
||||||
senderLastName: moderator.lastName,
|
senderLastName: moderator.lastName,
|
||||||
recipientEmail: user.emailContact.email,
|
|
||||||
recipientFirstName: user.firstName,
|
|
||||||
recipientLastName: user.lastName,
|
|
||||||
contributionMemo: contribution.memo,
|
contributionMemo: contribution.memo,
|
||||||
contributionAmount: contribution.amount,
|
|
||||||
overviewURL: CONFIG.EMAIL_LINK_OVERVIEW,
|
|
||||||
})
|
})
|
||||||
|
|
||||||
return !!res
|
return !!res
|
||||||
@ -628,14 +628,14 @@ export class ContributionResolver {
|
|||||||
await queryRunner.commitTransaction()
|
await queryRunner.commitTransaction()
|
||||||
logger.info('creation commited successfuly.')
|
logger.info('creation commited successfuly.')
|
||||||
sendContributionConfirmedEmail({
|
sendContributionConfirmedEmail({
|
||||||
|
firstName: user.firstName,
|
||||||
|
lastName: user.lastName,
|
||||||
|
email: user.emailContact.email,
|
||||||
|
language: user.language,
|
||||||
senderFirstName: moderatorUser.firstName,
|
senderFirstName: moderatorUser.firstName,
|
||||||
senderLastName: moderatorUser.lastName,
|
senderLastName: moderatorUser.lastName,
|
||||||
recipientFirstName: user.firstName,
|
|
||||||
recipientLastName: user.lastName,
|
|
||||||
recipientEmail: user.emailContact.email,
|
|
||||||
contributionMemo: contribution.memo,
|
contributionMemo: contribution.memo,
|
||||||
contributionAmount: contribution.amount,
|
contributionAmount: contribution.amount,
|
||||||
overviewURL: CONFIG.EMAIL_LINK_OVERVIEW,
|
|
||||||
})
|
})
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
await queryRunner.rollbackTransaction()
|
await queryRunner.rollbackTransaction()
|
||||||
|
|||||||
@ -1051,17 +1051,18 @@ export class UserResolver {
|
|||||||
}
|
}
|
||||||
const emailContact = user.emailContact
|
const emailContact = user.emailContact
|
||||||
if (emailContact.deletedAt) {
|
if (emailContact.deletedAt) {
|
||||||
logger.error(`The emailContact: ${email} of htis User is deleted.`)
|
logger.error(`The emailContact: ${email} of this User is deleted.`)
|
||||||
throw new Error(`The emailContact: ${email} of htis User is deleted.`)
|
throw new Error(`The emailContact: ${email} of this User is deleted.`)
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
const emailSent = await sendAccountActivationEmail({
|
const emailSent = await sendAccountActivationEmail({
|
||||||
link: activationLink(emailContact.emailVerificationCode),
|
|
||||||
firstName: user.firstName,
|
firstName: user.firstName,
|
||||||
lastName: user.lastName,
|
lastName: user.lastName,
|
||||||
email,
|
email,
|
||||||
duration: printTimeDuration(CONFIG.EMAIL_CODE_VALID_TIME),
|
language: user.language,
|
||||||
|
activationLink: activationLink(emailContact.emailVerificationCode),
|
||||||
|
timeDurationObject: getTimeDurationObject(CONFIG.EMAIL_CODE_VALID_TIME),
|
||||||
})
|
})
|
||||||
|
|
||||||
// In case EMails are disabled log the activation link for the user
|
// In case EMails are disabled log the activation link for the user
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user