UNPKG

serverless-offline-streams

Version:

This plugin provides support for event driven systems using Serverless Offline

53 lines (43 loc) 1.97 kB
import mergeQueueDefinitions from "./mergeQueueDefinitions"; import {queueDef} from "../testHelpers"; describe('mergeQueueDefinitions', () => { const func = mergeQueueDefinitions it('handles empty queue definitions', () => { expect(func([])).toEqual([]) }) it('does not merge queue definitions with different names', () => { const defs = [ queueDef({name: 'queue1', handlerFunctions: ['f1']}), queueDef({name: 'queue2', handlerFunctions: ['f2']}), queueDef({name: 'queue3', handlerFunctions: ['f3']}), ] const merged = func(defs) expect(merged.length).toBe(3) expect(merged[0]).toEqual(defs[0]) expect(merged[1]).toEqual(defs[1]) expect(merged[2]).toEqual(defs[2]) expect(func([])).toEqual([]) }) it('merges queue definitions with the same names', () => { const defs = [ queueDef({name: 'queue1', handlerFunctions: ['f1'], aliases: ['ff1', 'ff1a']}), queueDef({name: 'queue1', handlerFunctions: ['f1'], aliases: ['ff1a', 'ff1b']}), queueDef({name: 'queue1', handlerFunctions: ['f2']}), queueDef({name: 'queue3', handlerFunctions: ['f3']}), ] const merged = func(defs) expect(merged.length).toBe(2) expect(merged[0].name).toEqual('queue1') expect(merged[0].handlerFunctions.length).toBe(2) expect(merged[0].handlerFunctions).toContain('f1') expect(merged[0].handlerFunctions).toContain('f2') expect(merged[0].aliases.length).toBe(3) expect(merged[0].aliases).toContain('ff1') expect(merged[0].aliases).toContain('ff1a') expect(merged[0].aliases).toContain('ff1b') expect(merged[1].name).toEqual('queue3') expect(merged[1].handlerFunctions.length).toBe(1) expect(merged[1].handlerFunctions).toContain('f3') expect(merged[1].aliases.length).toBe(0) }) })