|
| 1 | +import { describe, expect, it } from 'vitest'; |
| 2 | + |
| 3 | +import { |
| 4 | + extractTransportPendingMessages, |
| 5 | + mergeTransportPendingMessagesForRunningState, |
| 6 | +} from '../src/transport-queue.js'; |
| 7 | + |
| 8 | +describe('extractTransportPendingMessages', () => { |
| 9 | + it('keeps only non-empty string entries', () => { |
| 10 | + expect(extractTransportPendingMessages([' one ', '', 1, null, 'two'])).toEqual(['one', 'two']); |
| 11 | + }); |
| 12 | +}); |
| 13 | + |
| 14 | +describe('mergeTransportPendingMessagesForRunningState', () => { |
| 15 | + it('preserves the existing queue when running reports no pendingMessages field', () => { |
| 16 | + expect(mergeTransportPendingMessagesForRunningState(['queued one'], undefined, false)).toEqual(['queued one']); |
| 17 | + }); |
| 18 | + |
| 19 | + it('preserves the existing queue when running reports an empty pendingMessages array', () => { |
| 20 | + expect(mergeTransportPendingMessagesForRunningState(['queued one', 'queued two'], [], true)).toEqual(['queued one', 'queued two']); |
| 21 | + }); |
| 22 | + |
| 23 | + it('replaces the queue when running reports a non-empty pendingMessages array', () => { |
| 24 | + expect(mergeTransportPendingMessagesForRunningState(['queued one'], ['queued two'], true)).toEqual(['queued two']); |
| 25 | + }); |
| 26 | + |
| 27 | + it('returns an empty queue when nothing is queued yet', () => { |
| 28 | + expect(mergeTransportPendingMessagesForRunningState([], [], true)).toEqual([]); |
| 29 | + }); |
| 30 | +}); |
0 commit comments