flecks/packages/core/test/invoke.js
2022-02-26 10:24:16 -06:00

44 lines
1006 B
JavaScript

import {expect} from 'chai';
// eslint-disable-next-line import/no-unresolved
import {Flecks} from '@flecks/core';
const testOne = require('./one');
const testTwo = require('./two');
let flecks;
beforeEach(() => {
flecks = new Flecks({
flecks: {
'@flecks/core/one': testOne,
'@flecks/core/two': testTwo,
},
});
});
it('can invoke', () => {
expect(flecks.invoke('@flecks/core/test/invoke'))
.to.deep.equal({
'@flecks/core/one': 69,
'@flecks/core/two': 420,
});
});
it('can invoke parallel', async () => {
const O = {foo: 3};
await Promise.all(flecks.invokeParallel('@flecks/core/test/invoke-parallel', O));
expect(O.foo)
.to.equal(8);
});
it('can invoke reduced', () => {
expect(flecks.invokeReduce('@flecks/core/test/invoke-reduce'))
.to.deep.equal({foo: 69, bar: 420});
});
it('can invoke reduced async', async () => {
expect(await flecks.invokeReduce('@flecks/core/test/invoke-reduce'))
.to.deep.equal({foo: 69, bar: 420});
});