| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import SseSource from "~/services/sse/sseSource";
- import {EventSourcePolyfill} from "event-source-polyfill";
- class TestableSseSource extends SseSource {
- public eventSource: EventSourcePolyfill | null = null
- public createEventSource(url: string, withCredentials: boolean): EventSourcePolyfill {
- return super.createEventSource(url, withCredentials)
- }
- }
- describe('SseSource', () => {
- describe('createEventSource', () => {
- it('returnValidEventSourcePolyfill', () => {
- const sseSource = new TestableSseSource(
- 'http://mercure',
- '',
- () => {},
- (eventData) => {},
- () => {}
- )
- const eventSource = sseSource.createEventSource('http://mercure', true)
- expect(eventSource.url).toEqual('http://mercure')
- expect(eventSource.withCredentials).toEqual(true)
- })
- })
- describe('isConnected', () => {
- it('is true when readyState is open', () =>
- {
- const eventSource = new EventSourcePolyfill('http://mercure')
- Object.defineProperty(eventSource, 'readyState', {value: EventSourcePolyfill.OPEN})
- const sseSource = new TestableSseSource(
- 'http://mercure',
- '',
- () => {},
- (eventData) => {},
- () => {}
- )
- sseSource.eventSource = eventSource
- expect(sseSource.isConnected()).toBeTruthy()
- })
- it('is false else', () => {
- const sseSource = new TestableSseSource(
- 'http://mercure',
- '',
- () => {},
- (eventData) => {},
- () => {}
- )
- expect(sseSource.isConnected()).toBeFalsy()
- })
- })
- })
|