flecks/packages/core/test/invoke.js

44 lines
1006 B
JavaScript
Raw Normal View History

2022-02-25 04:58:08 -06:00
import {expect} from 'chai';
2022-02-26 09:47:29 -06:00
// eslint-disable-next-line import/no-unresolved
import {Flecks} from '@flecks/core';
2022-02-25 04:58:08 -06:00
2022-02-26 10:24:16 -06:00
const testOne = require('./one');
const testTwo = require('./two');
2022-02-25 04:58:08 -06:00
let flecks;
beforeEach(() => {
flecks = new Flecks({
flecks: {
2022-02-26 10:24:16 -06:00
'@flecks/core/one': testOne,
'@flecks/core/two': testTwo,
2022-02-25 04:58:08 -06:00
},
});
});
it('can invoke', () => {
2022-02-26 10:24:16 -06:00
expect(flecks.invoke('@flecks/core/test/invoke'))
2022-02-25 04:58:08 -06:00
.to.deep.equal({
2022-02-26 10:24:16 -06:00
'@flecks/core/one': 69,
'@flecks/core/two': 420,
2022-02-25 04:58:08 -06:00
});
});
it('can invoke parallel', async () => {
const O = {foo: 3};
2022-02-26 10:24:16 -06:00
await Promise.all(flecks.invokeParallel('@flecks/core/test/invoke-parallel', O));
2022-02-25 04:58:08 -06:00
expect(O.foo)
.to.equal(8);
});
it('can invoke reduced', () => {
2022-02-26 10:24:16 -06:00
expect(flecks.invokeReduce('@flecks/core/test/invoke-reduce'))
2022-02-25 04:58:08 -06:00
.to.deep.equal({foo: 69, bar: 420});
});
it('can invoke reduced async', async () => {
2022-02-26 10:24:16 -06:00
expect(await flecks.invokeReduce('@flecks/core/test/invoke-reduce'))
2022-02-25 04:58:08 -06:00
.to.deep.equal({foo: 69, bar: 420});
});