odoo-await
Version:
Simple Odoo API client using promises.
69 lines (54 loc) • 2.06 kB
JavaScript
const OdooAwait = require('../lib/index');
const should = require('should');
describe('OddoAwait', () => {
const odoo = new OdooAwait({
baseUrl: process.env.ODOO_BASE_URL,
port: process.env.ODOO_PORT,
db: process.env.ODOO_DB,
username: process.env.ODOO_USER,
password: process.env.ODOO_PW
});
describe('#connect()', () => {
it('Authenticates and returns a UID number', async() => {
const uid = await odoo.connect();
uid.should.be.a.Number();
})
})
let recordId;
describe('#create()', () => {
it('Creates a record and returns a record ID', async() => {
recordId = await odoo.create('res.partner', {name: 'Kool Keith', email: 'lostinspace@example.com'});
recordId.should.be.a.Number();
})
})
describe('#read()', () => {
it('Fetches record data by an array of IDs', async() => {
const records = await odoo.read('res.partner', [recordId], ['name', 'email']);
records.should.be.instanceOf(Array);
})
})
describe('#update()', () => {
it('Updates record and returns true', async() => {
const updated = await odoo.update('res.partner', recordId, {email: 'seeingrobots@example.com'});
updated.should.be.exactly(true);
})
})
describe('#searchRead()', () => {
it('Searches for records and returns the record(s) with data', async() => {
const records = await odoo.searchRead('res.partner', {email: ['seeingrobots@example.com']});
records[0].should.have.property('name');
})
})
describe('#search()', () => {
it('Searches for records and returns an array of record IDs', async() => {
const records = await odoo.search('res.partner', {email: 'seeingrobots@example.com'});
records.should.be.instanceOf(Array);
})
})
describe('#delete()', () => {
it('Deletes record and returns true', async() => {
const deleted = await odoo.delete('res.partner', recordId);
deleted.should.be.exactly(true);
})
})
})