Vulcan/packages/vulcan-lib/test/components.test.js

27 lines
1.1 KiB
JavaScript
Raw Normal View History

import { mergeWithComponents } from '../lib/modules/components';
2018-11-14 11:38:41 +01:00
import { Components } from 'meteor/vulcan:core';
import expect from 'expect';
import { initComponentTest } from 'meteor/vulcan:test';
2018-11-14 11:38:41 +01:00
initComponentTest();
2018-11-14 11:38:41 +01:00
describe('vulcan:lib/components', function () {
describe('mergeWithComponents', function () {
const TestComponent = () => 'foo';
const OverrideTestComponent = () => 'bar';
2018-11-14 11:38:41 +01:00
Components.TestComponent = TestComponent;
it('override existing components', function () {
const MyComponents = { TestComponent: OverrideTestComponent };
2018-11-14 11:38:41 +01:00
const MergedComponents = mergeWithComponents(MyComponents);
expect(MergedComponents.TestComponent).toEqual(OverrideTestComponent);
2018-12-31 15:26:22 +09:00
// eslint-disable-next-line
expect(MergedComponents.TestComponent()).toEqual('bar');
2018-11-14 11:38:41 +01:00
});
it('return \'Components\' if no components are provided', function () {
expect(mergeWithComponents()).toEqual(Components);
expect(mergeWithComponents().TestComponent).toEqual(TestComponent);
2018-11-14 11:38:41 +01:00
});
});
});