flecks/packages/core/test/invoke.js

51 lines
1.2 KiB
JavaScript
Raw Normal View History

import chai from 'chai';
import chaiAsPromised from 'chai-as-promised';
2022-02-25 04:58:08 -06:00
2022-02-26 09:47:29 -06:00
import {Flecks} from '@flecks/core';
2022-02-25 04:58:08 -06:00
chai.use(chaiAsPromised);
const {expect} = chai;
2024-01-16 00:28:20 -06:00
const testOne = require('./packages/one');
const testTwo = require('./packages/two');
2022-02-25 04:58:08 -06:00
let flecks;
2024-01-28 08:05:25 -06:00
beforeEach(async () => {
flecks = await Flecks.from({
2022-02-25 04:58:08 -06:00
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
});
});
2022-03-08 14:50:16 -06:00
it('can invoke merge', () => {
expect(flecks.invokeMerge('@flecks/core/test/invoke-merge'))
2022-02-25 04:58:08 -06:00
.to.deep.equal({foo: 69, bar: 420});
});
2022-03-08 14:50:16 -06:00
it('can invoke merge async', async () => {
expect(await flecks.invokeMergeAsync('@flecks/core/test/invoke-merge-async'))
2022-02-25 04:58:08 -06:00
.to.deep.equal({foo: 69, bar: 420});
});
it('can enforce uniqueness', () => {
expect(() => flecks.invokeMergeUnique('@flecks/core/test/invoke-merge-unique'))
.to.throw(ReferenceError);
});
it('can enforce uniqueness async', async () => {
expect(flecks.invokeMergeUniqueAsync('@flecks/core/test/invoke-merge-unique-async'))
.to.be.rejectedWith(ReferenceError);
});