mirror of
https://github.com/IT4Change/gradido.git
synced 2026-02-06 09:56:05 +00:00
93 lines
2.7 KiB
TypeScript
93 lines
2.7 KiB
TypeScript
import { ApolloServerTestClient } from 'apollo-server-testing'
|
|
import { Community as DbCommunity, User as DbUser } from 'database'
|
|
import { DataSource } from 'typeorm'
|
|
|
|
import { cleanDB, testEnvironment } from '@test/helpers'
|
|
|
|
import { writeHomeCommunityEntry } from '@/seeds/community'
|
|
import { userFactory } from '@/seeds/factory/user'
|
|
import { bibiBloxberg } from '@/seeds/users/bibi-bloxberg'
|
|
import { bobBaumeister } from '@/seeds/users/bob-baumeister'
|
|
import { peterLustig } from '@/seeds/users/peter-lustig'
|
|
|
|
import { findUserByIdentifier } from './findUserByIdentifier'
|
|
|
|
jest.mock('@/password/EncryptorUtils')
|
|
|
|
let con: DataSource
|
|
let testEnv: {
|
|
mutate: ApolloServerTestClient['mutate']
|
|
query: ApolloServerTestClient['query']
|
|
con: DataSource
|
|
}
|
|
|
|
beforeAll(async () => {
|
|
testEnv = await testEnvironment()
|
|
con = testEnv.con
|
|
await cleanDB()
|
|
})
|
|
|
|
afterAll(async () => {
|
|
await cleanDB()
|
|
await con.destroy()
|
|
})
|
|
|
|
describe('graphql/resolver/util/findUserByIdentifier', () => {
|
|
let homeCom: DbCommunity
|
|
let communityUuid: string
|
|
let communityName: string
|
|
let userBibi: DbUser
|
|
|
|
beforeAll(async () => {
|
|
homeCom = await writeHomeCommunityEntry()
|
|
|
|
communityUuid = homeCom.communityUuid!
|
|
|
|
communityName = homeCom.communityUuid!
|
|
|
|
userBibi = await userFactory(testEnv, bibiBloxberg)
|
|
await userFactory(testEnv, peterLustig)
|
|
await userFactory(testEnv, bobBaumeister)
|
|
})
|
|
|
|
describe('communityIdentifier is community uuid', () => {
|
|
it('userIdentifier is gradido id', async () => {
|
|
const user = await findUserByIdentifier(userBibi.gradidoID, communityUuid)
|
|
user.userRoles = []
|
|
expect(user).toMatchObject(userBibi)
|
|
})
|
|
|
|
it('userIdentifier is alias', async () => {
|
|
const user = await findUserByIdentifier(userBibi.alias, communityUuid)
|
|
user.userRoles = []
|
|
expect(user).toMatchObject(userBibi)
|
|
})
|
|
|
|
it('userIdentifier is email', async () => {
|
|
const user = await findUserByIdentifier(userBibi.emailContact.email, communityUuid)
|
|
user.userRoles = []
|
|
expect(user).toMatchObject(userBibi)
|
|
})
|
|
})
|
|
|
|
describe('communityIdentifier is community name', () => {
|
|
it('userIdentifier is gradido id', async () => {
|
|
const user = await findUserByIdentifier(userBibi.gradidoID, communityName)
|
|
user.userRoles = []
|
|
expect(user).toMatchObject(userBibi)
|
|
})
|
|
|
|
it('userIdentifier is alias', async () => {
|
|
const user = await findUserByIdentifier(userBibi.alias, communityName)
|
|
user.userRoles = []
|
|
expect(user).toMatchObject(userBibi)
|
|
})
|
|
|
|
it('userIdentifier is email', async () => {
|
|
const user = await findUserByIdentifier(userBibi.emailContact.email, communityName)
|
|
user.userRoles = []
|
|
expect(user).toMatchObject(userBibi)
|
|
})
|
|
})
|
|
})
|