UNPKG

@jfln/marvin-db

Version:

biblioteca de objetos para normalizar o acesso a um banco mongo db

54 lines (43 loc) 1.5 kB
import 'reflect-metadata' import {EntityManager, MikroORM} from '@mikro-orm/core' import {Challenge} from '..' import options from '../../mikro-orm.config' describe('Challenge Entity', () => { let ormChallenge: MikroORM let em: EntityManager const guildId = '1234567890' beforeAll(async () => { ormChallenge = await MikroORM.init(options) em = ormChallenge.em.fork() }) afterAll(() => { ormChallenge.close(true) }) it('should be able to create an Challenge', async () => { const object = new Challenge('a generic challenge', guildId) await em.persistAndFlush(object) expect(object._id).toBeDefined() }) it('should be able to find an Challenge', async () => { const object = await em.findOne(Challenge, {guildId: guildId}) expect(object).toBeDefined() }) it('should be able to update an Challenge', async () => { const object = await em.findOne(Challenge, {guildId: guildId}) expect(object).toBeDefined() if (object) { object.challenge = 'a generic challenge updated' await em.persistAndFlush(object) expect(object.challenge).toEqual('a generic challenge updated') } }) it('should be able to delete an Challenge', async () => { const object = await em.findOne(Challenge, {guildId: guildId}) expect(object).toBeDefined() if (object) { await em.removeAndFlush(object) const object2 = await em.findOne(Challenge, {guildId: guildId}) expect(object2).toBeNull() } }) })