UNPKG

@jfln/marvin-db

Version:

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

61 lines (53 loc) 1.7 kB
"use strict"; require("reflect-metadata"); var _core = require("@mikro-orm/core"); var _ = require(".."); var _mikroOrm = _interopRequireDefault(require("../../mikro-orm.config")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('Challenge Entity', () => { let ormChallenge; let em; const guildId = '1234567890'; beforeAll(async () => { ormChallenge = await _core.MikroORM.init(_mikroOrm.default); 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(); } }); });