Testing file
unknown
typescript
4 years ago
5.0 kB
6
Indexable
import supertest from 'supertest'
import { App } from '@scnode_app/app'
// @import test_helpers
import { getGlobalAuth } from '@scnode_tests/helpers/auth/authHelpers'
// @end
import {
AcademicResourceConfigCategory,
AcademicResourceConfig,
AcademicResourceCategory,
AcademicResource,
Structure,
StructureCategory,
User,
} from '@scnode_app/models'
import {
demoStructure,
demoStructureCategory,
} from '@scnode_tests/helpers/mocks/global/alliance/structure/structureMock'
import {
demoAcademicResourceCategory,
demoAcademicResourceConfigCategory,
demoAcademicResource,
demoAcademicResourceConfig,
} from '@scnode_tests/helpers/mocks/lms/academicContent/academicResource/academicResourceMock'
import {
demoUser
} from '@scnode_tests/helpers/mocks/global/user/userMock'
import { generalUtility } from '@scnode_core/utilities/generalUtility'
const app = new App('test').app
const api = supertest(app)
jest.setTimeout(10000)
describe('Academicgroup Test Suite', () => {
/*===============================================
= Estructura de un test =
================================================
// La estructura de un test debe ser la siguiente:
test('ModuleName: /route - description of what is expected', async () => {})
/*====== End of Estructura de un test =====*/
test('academicGroup: / - success', async () => {
const { token, alliance } = await getGlobalAuth({ system: 'lms' })
await api
.get(`/api/academic-group-info/${alliance.id}/`)
.set('authorization', token)
.expect(200)
.expect((res) => {
expect(res.body.academicGroupResources).toBeDefined()
expect(res.body.total_register).toBeDefined()
expect(res.body.pageNumber).toBeDefined()
expect(res.body.nPerPage).toBeDefined()
})
})
/*===============================================
= Estructura de un test =
================================================
// La estructura de un test debe ser la siguiente:
test('ModuleName: /route - description of what is expected', async () => {})
/*====== End of Estructura de un test =====*/
let structureId: string | null = null
test('academicGroup: / - success', async () => {
const { token, alliance } = await getGlobalAuth({ system: 'lms' })
const preObjects = await preCreate(alliance.id)
structureId = preObjects.structure._id
await api
.get(`/api/academic-group-info/${structureId}/`)
.set('authorization', token)
.expect(200)
.expect((res) => {
expect(res.body.academicGroupResources).toBeDefined()
expect(res.body.total_register).toBeDefined()
expect(res.body.pageNumber).toBeDefined()
expect(res.body.nPerPage).toBeDefined()
})
})
const randomChain = generalUtility.buildRandomChain({
characters: 16,
numbers: 1,
symbols: 0,
uppercase: 0,
lowercase: 1,
})
test('academicGroup: / - structure not found', async () => {
const { token } = await getGlobalAuth({ system: 'lms' })
await api
.get(`/api/academic-group-info/${randomChain}/`)
.set('authorization', token)
.expect(400)
})
test('AcademicGroupResource: /:id - fail request, alliance not found', async () => {
const { token } = await getGlobalAuth({ system: 'lms' })
await api
.get(`/api/academic-group-info/${randomChain}/`)
.set('authorization', token)
.expect(500)
})
})
const preCreate = async (alliance_id: string) => {
try {
const academicResourceCategory = await AcademicResourceCategory.create(demoAcademicResourceCategory)
const academicResourceConfigCategory = await AcademicResourceConfigCategory.create(demoAcademicResourceConfigCategory)
demoAcademicResource.alliance_id = alliance_id
demoAcademicResource.academic_resource_category = academicResourceCategory._id
const academicResource = await AcademicResource.create(demoAcademicResource)
demoAcademicResourceConfig.alliance_id = alliance_id
demoAcademicResourceConfig.academic_resource = academicResource._id
demoAcademicResourceConfig.source.config_category = academicResourceConfigCategory._id
const academicResourceConfig = await AcademicResourceConfig.create(demoAcademicResourceConfig)
demoStructureCategory.alliance_id = alliance_id
const structureCategory = await StructureCategory.create(demoStructureCategory)
demoStructure.alliance_id = alliance_id
demoStructure.structure_category_id = structureCategory._id
const structure = await Structure.create(demoStructure)
demoUser.alliance_id = alliance_id
const user = await User.create(demoUser)
return {
academicResourceCategory,
academicResourceConfigCategory,
academicResource,
academicResourceConfig,
structureCategory,
structure,
user,
}
} catch (e) {
return null
}
}
Editor is loading...