import { mockClient } from "@xmpp/test"; test("enable", async () => { const { entity, streamManagement: sm } = mockClient(); entity.mockInput( PLAIN , ); const stanza_out = await entity.catchOutgoing(); const enable = stanza_out .getChild("bind", "urn:xmpp:bind:0") .getChild("enable"); enable.parent = null; expect(enable).toEqual(); expect(sm.enabled).toBe(false); expect(sm.id).toBe(""); expect(sm.max).toBe(null); entity.mockInput( , ); expect(sm.enabled).toBe(true); expect(sm.id).toBe("2j44j2"); expect(sm.max).toBe("600"); }); // https://xmpp.org/extensions/xep-0198.html#example-29 test("Client failed to enable stream management", async () => { const { entity, streamManagement: sm } = mockClient(); entity.mockInput( PLAIN , ); const stanza_out = await entity.catchOutgoing(); const enable = stanza_out .getChild("bind", "urn:xmpp:bind:0") .getChild("enable"); enable.parent = null; expect(enable).toEqual(); expect(sm.enabled).toBe(false); expect(sm.id).toBe(""); expect(sm.max).toBe(null); entity.mockInput( , ); expect(sm.enabled).toBe(false); expect(sm.id).toBe(""); expect(sm.max).toBe(null); });