UNPKG

@jfln/marvin-db

Version:

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

73 lines (64 loc) 1.9 kB
"use strict"; require("reflect-metadata"); var _core = require("@mikro-orm/core"); var _ = require(".."); var _Audit = require("../../types/Audit.types"); var _mikroOrm = _interopRequireDefault(require("../../mikro-orm.config")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('Audits Entity', () => { let ormAudit; let em; let content; let user; beforeAll(async () => { ormAudit = await _core.MikroORM.init(_mikroOrm.default); em = ormAudit.em.fork(); content = { message: 'Apenas um simples teste', messageId: '123456789', number: '1' }; user = { id: '9876543210', name: 'Teste' }; }); afterAll(() => { ormAudit.close(true); }); it('should be able to create an Audit', async () => { const audit = new _.Audit(_Audit.AuditType.AUTO_MODERATION, false, '123456789', content, user); await em.persistAndFlush(audit); expect(audit._id).toBeDefined(); }); it('should be able to find an Audit', async () => { const audit = await em.findOne(_.Audit, { guildId: '123456789' }); expect(audit).toBeDefined(); }); it('should be able to update an Answer', async () => { const audit = await em.findOne(_.Audit, { guildId: '123456789' }); expect(audit).toBeDefined(); if (audit) { audit.auditType = _Audit.AuditType.CONFESSION; await em.persistAndFlush(audit); expect(audit.auditType).toEqual(_Audit.AuditType.CONFESSION); } }); it('should be able to delete an Audit', async () => { const audit = await em.findOne(_.Audit, { guildId: '123456789' }); expect(audit).toBeDefined(); if (audit) { await em.removeAndFlush(audit); const audit2 = await em.findOne(_.Audit, { guildId: '123456789' }); expect(audit2).toBeNull(); } }); });