@turbox3d/shared
Version:
turbox shared internal utility
37 lines (33 loc) • 1.08 kB
text/typescript
import { compose } from '../compose';
describe('utils -> compose', () => {
it('compose', () => {
const original = param => `original${param}`;
const middlewares = [(next) => (param) => {
console.log('111');
return next(param);
}, (next) => (param) => {
console.log('222');
return next(param);
}, (next) => (param) => {
console.log('333');
return next(param);
}];
const enhanced = compose(...middlewares)(original);
expect(enhanced('test')).toBe('originaltest');
});
it('compose one middleware', () => {
const original = param => `original${param}`;
const middlewares = [(next) => (param) => {
console.log('111');
return next(param);
}];
const enhanced = compose(...middlewares)(original);
expect(enhanced('test')).toBe('originaltest');
});
it('compose no middleware', () => {
const original = param => `original${param}`;
const middlewares = [];
const enhanced = compose(...middlewares)(original);
expect(enhanced('test')).toBe('originaltest');
});
});