2
0
mirror of https://github.com/frappe/books.git synced 2024-11-10 15:50:56 +00:00
books/frappe/tests/test_database.js
2018-01-02 15:40:32 +05:30

49 lines
1.6 KiB
JavaScript

const assert = require('assert');
const frappe = require('frappe-core');
describe('Database', () => {
before(async function() {
await frappe.init();
await frappe.db.migrate();
});
it('should insert and get values', async () => {
await frappe.db.sql('delete from todo');
await frappe.insert({doctype:'ToDo', subject: 'testing 1'});
await frappe.insert({doctype:'ToDo', subject: 'testing 3'});
await frappe.insert({doctype:'ToDo', subject: 'testing 2'});
let subjects = await frappe.db.get_all('ToDo', ['name', 'subject'])
subjects = subjects.map(d => d.subject);
assert.ok(subjects.includes('testing 1'));
assert.ok(subjects.includes('testing 2'));
assert.ok(subjects.includes('testing 3'));
});
it('should filter correct values', async () => {
let subjects = null;
await frappe.db.sql('delete from todo');
await frappe.insert({doctype:'ToDo', subject: 'testing 1', status: 'Open'});
await frappe.insert({doctype:'ToDo', subject: 'testing 3', status: 'Open'});
await frappe.insert({doctype:'ToDo', subject: 'testing 2', status: 'Closed'});
subjects = await frappe.db.get_all('ToDo', ['name', 'subject'],
{status: 'Open'})
subjects = subjects.map(d => d.subject);
assert.ok(subjects.includes('testing 1'));
assert.ok(subjects.includes('testing 3'));
assert.equal(subjects.includes('testing 2'), false);
subjects = await frappe.db.get_all('ToDo', ['name', 'subject'],
{status: 'Closed'})
subjects = subjects.map(d => d.subject);
assert.equal(subjects.includes('testing 1'), false);
assert.equal(subjects.includes('testing 3'), false);
assert.ok(subjects.includes('testing 2'));
});
});