@jfln/marvin-db
Version:
biblioteca de objetos para normalizar o acesso a um banco mongo db
73 lines (64 loc) • 1.9 kB
JavaScript
;
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();
}
});
});