mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
Fix 'i18n' server integration for testing
- Fix the sending of the multiple times registrars name to the email owner. - Clarify the logging of the multiple times registrars name and the email owners name.
This commit is contained in:
parent
9154ff32d1
commit
f8eea10371
@ -27,7 +27,7 @@ import { TransactionLink } from '@entity/TransactionLink'
|
|||||||
|
|
||||||
import { EventProtocolType } from '@/event/EventProtocolType'
|
import { EventProtocolType } from '@/event/EventProtocolType'
|
||||||
import { EventProtocol } from '@entity/EventProtocol'
|
import { EventProtocol } from '@entity/EventProtocol'
|
||||||
import { logger } from '@test/testSetup'
|
import { logger, i18n as localization } from '@test/testSetup'
|
||||||
import { validate as validateUUID, version as versionUUID } from 'uuid'
|
import { validate as validateUUID, version as versionUUID } from 'uuid'
|
||||||
import { peterLustig } from '@/seeds/users/peter-lustig'
|
import { peterLustig } from '@/seeds/users/peter-lustig'
|
||||||
import { UserContact } from '@entity/UserContact'
|
import { UserContact } from '@entity/UserContact'
|
||||||
@ -71,7 +71,8 @@ let mutate: any, query: any, con: any
|
|||||||
let testEnv: any
|
let testEnv: any
|
||||||
|
|
||||||
beforeAll(async () => {
|
beforeAll(async () => {
|
||||||
testEnv = await testEnvironment(logger)
|
// Wolle: console.log('beforeAll – localization: ', localization)
|
||||||
|
testEnv = await testEnvironment(logger, localization)
|
||||||
mutate = testEnv.mutate
|
mutate = testEnv.mutate
|
||||||
query = testEnv.query
|
query = testEnv.query
|
||||||
con = testEnv.con
|
con = testEnv.con
|
||||||
|
|||||||
@ -416,8 +416,11 @@ export class UserResolver {
|
|||||||
logger.info(`DbUser.findOne(email=${email}) = ${foundUser}`)
|
logger.info(`DbUser.findOne(email=${email}) = ${foundUser}`)
|
||||||
|
|
||||||
if (foundUser) {
|
if (foundUser) {
|
||||||
// ATTENTION: this logger-message will be exactly expected during tests
|
// ATTENTION: this logger-message will be exactly expected during tests, next line
|
||||||
logger.info(`User already exists with this email=${email}`)
|
logger.info(`User already exists with this email=${email}`)
|
||||||
|
logger.info(
|
||||||
|
`Specified username when trying to register multiple times with this email: firstName=${firstName}, lastName=${lastName}`,
|
||||||
|
)
|
||||||
// TODO: this is unsecure, but the current implementation of the login server. This way it can be queried if the user with given EMail is existent.
|
// TODO: this is unsecure, but the current implementation of the login server. This way it can be queried if the user with given EMail is existent.
|
||||||
|
|
||||||
const user = new User(communityDbUser)
|
const user = new User(communityDbUser)
|
||||||
@ -431,8 +434,8 @@ export class UserResolver {
|
|||||||
logger.debug('partly faked user=' + user)
|
logger.debug('partly faked user=' + user)
|
||||||
|
|
||||||
const emailSent = await sendAccountMultiRegistrationEmail({
|
const emailSent = await sendAccountMultiRegistrationEmail({
|
||||||
firstName,
|
firstName: foundUser.firstName, // this is the real name of the email owner, but just "firstName" would be the name of the new registrant which shall not be passed to the outside
|
||||||
lastName,
|
lastName: foundUser.lastName, // this is the real name of the email owner, but just "lastName" would be the name of the new registrant which shall not be passed to the outside
|
||||||
email,
|
email,
|
||||||
language,
|
language,
|
||||||
})
|
})
|
||||||
@ -441,7 +444,9 @@ export class UserResolver {
|
|||||||
eventProtocol.writeEvent(
|
eventProtocol.writeEvent(
|
||||||
event.setEventSendConfirmationEmail(eventSendAccountMultiRegistrationEmail),
|
event.setEventSendConfirmationEmail(eventSendAccountMultiRegistrationEmail),
|
||||||
)
|
)
|
||||||
logger.info(`sendAccountMultiRegistrationEmail of ${firstName}.${lastName} to ${email}`)
|
logger.info(
|
||||||
|
`sendAccountMultiRegistrationEmail by ${firstName} ${lastName} to ${foundUser.firstName} ${foundUser.lastName} <${email}>`,
|
||||||
|
)
|
||||||
/* uncomment this, when you need the activation link on the console */
|
/* uncomment this, when you need the activation link on the console */
|
||||||
// In case EMails are disabled log the activation link for the user
|
// In case EMails are disabled log the activation link for the user
|
||||||
if (!emailSent) {
|
if (!emailSent) {
|
||||||
|
|||||||
@ -37,7 +37,7 @@ const createServer = async (
|
|||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
context: any = serverContext,
|
context: any = serverContext,
|
||||||
logger: Logger = apolloLogger,
|
logger: Logger = apolloLogger,
|
||||||
localization: any = i18n,
|
localization: i18n.I18n = i18n,
|
||||||
): Promise<ServerDef> => {
|
): Promise<ServerDef> => {
|
||||||
logger.addContext('user', 'unknown')
|
logger.addContext('user', 'unknown')
|
||||||
logger.debug('createServer...')
|
logger.debug('createServer...')
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import path from 'path'
|
|||||||
import { backendLogger } from './logger'
|
import { backendLogger } from './logger'
|
||||||
import i18n from 'i18n'
|
import i18n from 'i18n'
|
||||||
|
|
||||||
|
// Wolle: console.log('i18n – backend/src/server/localization.ts: ', i18n)
|
||||||
i18n.configure({
|
i18n.configure({
|
||||||
locales: ['en', 'de'],
|
locales: ['en', 'de'],
|
||||||
defaultLocale: 'en',
|
defaultLocale: 'en',
|
||||||
|
|||||||
@ -25,8 +25,9 @@ export const cleanDB = async () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const testEnvironment = async (logger?: any) => {
|
export const testEnvironment = async (logger?: any, localization?: any) => {
|
||||||
const server = await createServer(context, logger)
|
// Wolle: console.log('testEnvironment – localization: ', localization)
|
||||||
|
const server = await createServer(context, logger, localization)
|
||||||
const con = server.con
|
const con = server.con
|
||||||
const testClient = createTestClient(server.apollo)
|
const testClient = createTestClient(server.apollo)
|
||||||
const mutate = testClient.mutate
|
const mutate = testClient.mutate
|
||||||
|
|||||||
@ -1,4 +1,6 @@
|
|||||||
import { backendLogger as logger } from '@/server/logger'
|
import { backendLogger as logger } from '@/server/logger'
|
||||||
|
// Wolle: import i18n from 'i18n'
|
||||||
|
import { i18n } from '@/server/localization'
|
||||||
|
|
||||||
jest.setTimeout(1000000)
|
jest.setTimeout(1000000)
|
||||||
|
|
||||||
@ -19,4 +21,18 @@ jest.mock('@/server/logger', () => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
export { logger }
|
jest.mock('@/server/localization', () => {
|
||||||
|
const originalModule = jest.requireActual('@/server/localization')
|
||||||
|
return {
|
||||||
|
__esModule: true,
|
||||||
|
...originalModule,
|
||||||
|
i18n: {
|
||||||
|
init: jest.fn(),
|
||||||
|
// configure: jest.fn(),
|
||||||
|
// setLocale: jest.fn(),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// Wolle: console.log('testSetup.js – i18n: ', i18n)
|
||||||
|
export { logger, i18n }
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user