Files
talk/plugin-api/beta/server/getReactionConfig.spec.js
T
Wyatt Johnson 86385e0d86 Jest for server
- Introduced the Jest testing framework into our server side code so
plugins can now have tests that run
2018-04-11 19:02:38 -06:00

52 lines
1.7 KiB
JavaScript

const getReactionConfig = require('./getReactionConfig');
describe('plugins-api', () => {
describe('getReactionConfig', () => {
let config;
beforeEach(() => {
config = getReactionConfig('heart');
});
describe('context', () => {
it('provides a sort function', () => {
expect(config.context.Sort).toBeInstanceOf(Function);
const sort = config.context.Sort();
expect(sort.Comments).toHaveProperty('hearts');
});
});
describe('hooks', () => {
it('handles the __resolveType properly', () => {
expect(config.hooks.ActionSummary.__resolveType).toHaveProperty('post');
expect(config.hooks.ActionSummary.__resolveType.post).toBeInstanceOf(
Function
);
expect(
config.hooks.ActionSummary.__resolveType.post({})
).toBeUndefined();
expect(
config.hooks.ActionSummary.__resolveType.post({ action_type: 'LOVE' })
).toBeUndefined();
expect(
config.hooks.ActionSummary.__resolveType.post({
action_type: 'HEART',
})
).toEqual('HeartActionSummary');
});
it('handles the __resolveType properly', () => {
expect(config.hooks.Action.__resolveType).toHaveProperty('post');
expect(config.hooks.Action.__resolveType.post).toBeInstanceOf(Function);
expect(config.hooks.Action.__resolveType.post({})).toBeUndefined();
expect(
config.hooks.Action.__resolveType.post({ action_type: 'LOVE' })
).toBeUndefined();
expect(
config.hooks.Action.__resolveType.post({
action_type: 'HEART',
})
).toEqual('HeartAction');
});
});
});
});