@jfln/marvin-db
Version:
biblioteca de objetos para normalizar o acesso a um banco mongo db
61 lines (53 loc) • 1.7 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('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();
}
});
});