(global as any).DotNet = { attachReviver: jest.fn() }; import { discoverPrerenderedCircuits } from '../src/Platform/Circuits/CircuitManager'; import { NullLogger } from '../src/Platform/Logging/Loggers'; import { JSDOM } from 'jsdom'; describe('CircuitManager', () => { it('discoverPrerenderedCircuits returns discovered prerendered circuits', () => { const dom = new JSDOM(`
Prerendered content
`); const results = discoverPrerenderedCircuits(dom.window.document); expect(results.length).toEqual(1); expect(results[0].components.length).toEqual(1); const result = results[0].components[0]; expect(result.circuitId).toEqual("1234"); expect(result.rendererId).toEqual(2); expect(result.componentId).toEqual(1); }); it('discoverPrerenderedCircuits returns discovers multiple prerendered circuits', () => { const dom = new JSDOM(`Prerendered content
`); const results = discoverPrerenderedCircuits(dom.window.document); expect(results.length).toEqual(1); expect(results[0].components.length).toEqual(2); const first = results[0].components[0]; expect(first.circuitId).toEqual("1234"); expect(first.rendererId).toEqual(2); expect(first.componentId).toEqual(1); const second = results[0].components[1]; expect(second.circuitId).toEqual("1234"); expect(second.rendererId).toEqual(2); expect(second.componentId).toEqual(2); }); it('discoverPrerenderedCircuits throws for malformed circuits', () => { const dom = new JSDOM(`Prerendered content
`); expect(() => discoverPrerenderedCircuits(dom.window.document)) .toThrow(); }); it('discoverPrerenderedCircuits initializes circuits', () => { const dom = new JSDOM(`Prerendered content
`); const results = discoverPrerenderedCircuits(dom.window.document); for (let i = 0; i < results.length; i++) { const result = results[i]; for (let j = 0; j < result.components.length; j++) { const component = result.components[j]; component.initialize(); } } }); });