ihub-framework-js
Version:
Legacy version of iHub Framework written in Javascript
105 lines (89 loc) • 2.75 kB
JavaScript
process.env.SERVER_HTTP_PORT = 45121;
const { expect } = require('chai');
const ihubframework = require('../index');
before(function () {
return ihubframework();
});
describe('Test IHUB Framework bootup', () => {
const core = require('../core');
it('Should return true for the core.log', (done) => {
expect(core.log).to.not.be.false
done();
});
it('Should return true for the core.request', (done) => {
expect(core.request).to.not.be.false
done();
});
it('Should return true for the core.db', (done) => {
expect(core.db).to.not.be.false
done();
});
it('Should return true for the core.server', (done) => {
expect(core.server).to.not.be.true
done();
});
it('Should return true for the core.tasks', (done) => {
expect(core.tasks).to.not.be.false
done();
});
});
describe('Test IHUB Framework Core Task Feature', () => {
const core = require('../core');
it('Should send a task and listen to the queue and get the same payload value', (done) => {
const queue = 'core:task:feature';
const payload = 'payload:task';
try {
core.tasks.send(queue, payload);
core.tasks.job(queue, (recPayload, ack) => {
expect(payload).to.equal(recPayload);
ack();
done();
})
} catch (error) {
console.log(error);
}
});
it('Should send a task and listen to the queue and get the same payload value and nack', (done) => {
const queue = 'core:task:feature';
const payload = 'payload:task';
try {
core.tasks.send(queue, payload);
core.tasks.job(queue, (recPayload, taskDone) => {
expect(payload).to.equal(recPayload);
taskDone(false);
done();
})
} catch (error) {
console.log(error);
}
});
});
describe('Test IHUB Framework Core Request Feature', () => {
const core = require('../core');
it('Should get a external url', (done) => {
const url = 'https://google.com';
core.request.get(url).then((response) => {
expect(response.data).to.not.be.empty;
done();
});
});
});
describe('Test IHUB Framework Core Database Feature', () => {
const core = require('../core');
const documentName = `doc-${Date.now()}`;
it('Should save a new document', (done) => {
const Collection = core.db.model('IhubFramework', { name: String });
const collection = new Collection({ name: documentName });
collection.save().then(() => done());
});
it('Should get the new document saved', (done) => {
const Collection = core.db.model('IhubFramework');
Collection.find({ name: documentName}, (err, doc) => {
if (err) throw new Error(err);
done();
});
})
});
after(() => {
process.exit(0);
})