@jfln/marvin-db
Version:
biblioteca de objetos para normalizar o acesso a um banco mongo db
60 lines (52 loc) • 1.63 kB
JavaScript
;
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('Answer Entity', () => {
let ormAnswer;
let em;
beforeAll(async () => {
ormAnswer = await _core.MikroORM.init(_mikroOrm.default);
em = ormAnswer.em.fork();
});
afterAll(() => {
ormAnswer.close(true);
});
it('should be able to create an Answer', async () => {
const answer = new _.Answer('This is a test', '1234567890', '123456');
await em.persistAndFlush(answer);
expect(answer._id).toBeDefined();
});
it('should be able to find an Answer', async () => {
const answer = await em.findOne(_.Answer, {
guildId: '123456'
});
expect(answer).toBeDefined();
});
it('should be able to update an Answer', async () => {
const answer = await em.findOne(_.Answer, {
guildId: '123456'
});
expect(answer).toBeDefined();
if (answer) {
answer.answer = 'This is an updated test';
await em.persistAndFlush(answer);
expect(answer.answer).toEqual('This is an updated test');
}
});
it('should be able to delete an Answer', async () => {
const answer = await em.findOne(_.Answer, {
guildId: '123456'
});
expect(answer).toBeDefined();
if (answer) {
await em.removeAndFlush(answer);
const answer2 = await em.findOne(_.Answer, {
guildId: '123456'
});
expect(answer2).toBeNull();
}
});
});