mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
127 lines
3.4 KiB
TypeScript
127 lines
3.4 KiB
TypeScript
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
/* eslint-disable @typescript-eslint/unbound-method */
|
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
|
|
|
import { createTestClient } from 'apollo-server-testing'
|
|
import createServer from '@/server/createServer'
|
|
import CONFIG from '@/config'
|
|
|
|
jest.mock('@/config')
|
|
|
|
let query: any
|
|
|
|
// to do: We need a setup for the tests that closes the connection
|
|
let con: any
|
|
|
|
beforeAll(async () => {
|
|
const server = await createServer({})
|
|
con = server.con
|
|
query = createTestClient(server.apollo).query
|
|
})
|
|
|
|
afterAll(async () => {
|
|
await con.close()
|
|
})
|
|
|
|
describe('CommunityResolver', () => {
|
|
const getCommunityInfoQuery = `
|
|
query {
|
|
getCommunityInfo {
|
|
name
|
|
description
|
|
url
|
|
registerUrl
|
|
}
|
|
}
|
|
`
|
|
|
|
const communities = `
|
|
query {
|
|
communities {
|
|
id
|
|
name
|
|
url
|
|
description
|
|
registerUrl
|
|
}
|
|
}
|
|
`
|
|
|
|
describe('getCommunityInfo', () => {
|
|
it('returns the default values', async () => {
|
|
await expect(query({ query: getCommunityInfoQuery })).resolves.toMatchObject({
|
|
data: {
|
|
getCommunityInfo: {
|
|
name: 'Gradido Entwicklung',
|
|
description: 'Die lokale Entwicklungsumgebung von Gradido.',
|
|
url: 'http://localhost/',
|
|
registerUrl: 'http://localhost/register',
|
|
},
|
|
},
|
|
})
|
|
})
|
|
})
|
|
|
|
describe('communities', () => {
|
|
describe('PRODUCTION = false', () => {
|
|
beforeEach(() => {
|
|
CONFIG.PRODUCTION = false
|
|
})
|
|
|
|
it('returns three communities', async () => {
|
|
await expect(query({ query: communities })).resolves.toMatchObject({
|
|
data: {
|
|
communities: [
|
|
{
|
|
id: 1,
|
|
name: 'Gradido Entwicklung',
|
|
description: 'Die lokale Entwicklungsumgebung von Gradido.',
|
|
url: 'http://localhost/',
|
|
registerUrl: 'http://localhost/register-community',
|
|
},
|
|
{
|
|
id: 2,
|
|
name: 'Gradido Staging',
|
|
description: 'Der Testserver der Gradido-Akademie.',
|
|
url: 'https://stage1.gradido.net/',
|
|
registerUrl: 'https://stage1.gradido.net/register-community',
|
|
},
|
|
{
|
|
id: 3,
|
|
name: 'Gradido-Akademie',
|
|
description: 'Freies Institut für Wirtschaftsbionik.',
|
|
url: 'https://gradido.net',
|
|
registerUrl: 'https://gdd1.gradido.com/register-community',
|
|
},
|
|
],
|
|
},
|
|
})
|
|
})
|
|
})
|
|
|
|
describe('PRODUCTION = true', () => {
|
|
beforeEach(() => {
|
|
CONFIG.PRODUCTION = true
|
|
})
|
|
|
|
it('returns one community', async () => {
|
|
await expect(query({ query: communities })).resolves.toMatchObject({
|
|
data: {
|
|
communities: [
|
|
{
|
|
id: 3,
|
|
name: 'Gradido-Akademie',
|
|
description: 'Freies Institut für Wirtschaftsbionik.',
|
|
url: 'https://gradido.net',
|
|
registerUrl: 'https://gdd1.gradido.com/register-community',
|
|
},
|
|
],
|
|
},
|
|
})
|
|
})
|
|
})
|
|
})
|
|
})
|