1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-06-30 23:44:55 +02:00

Tools: Moved lib-specific tests under lib package

This commit is contained in:
Laurent Cozic
2021-05-21 15:17:21 +02:00
parent 6ff560f22f
commit 2806aa1b19
86 changed files with 1145 additions and 1196 deletions

View File

@ -0,0 +1,51 @@
const { setupDatabaseAndSynchronizer, sleep, switchClient } = require('./testing/test-utils.js');
const TaskQueue = require('./TaskQueue.js');
describe('TaskQueue', function() {
beforeEach(async (done) => {
await setupDatabaseAndSynchronizer(1);
await switchClient(1);
done();
});
it('should queue and execute tasks', (async () => {
const queue = new TaskQueue();
queue.push(1, async () => { await sleep(0.5); return 'a'; });
queue.push(2, async () => { await sleep(0.5); return 'b'; });
queue.push(3, async () => { await sleep(0.5); return 'c'; });
const results = [];
results.push(await queue.waitForResult(1));
results.push(await queue.waitForResult(2));
results.push(await queue.waitForResult(3));
expect(results[0].id).toBe(1);
expect(results[0].result).toBe('a');
expect(results[1].id).toBe(2);
expect(results[1].result).toBe('b');
expect(results[2].id).toBe(3);
expect(results[2].result).toBe('c');
}));
it('should handle errors', (async () => {
const queue = new TaskQueue();
queue.push(1, async () => { await sleep(0.5); return 'a'; });
queue.push(2, async () => { await sleep(0.5); throw new Error('e'); });
const results = [];
results.push(await queue.waitForResult(1));
results.push(await queue.waitForResult(2));
expect(results[0].id).toBe(1);
expect(results[0].result).toBe('a');
expect(results[1].id).toBe(2);
expect(!results[1].result).toBe(true);
expect(results[1].error.message).toBe('e');
}));
});