import { Chat } from '../src/chat'; import { mock, instance } from 'ts-mockito'; import fetch from 'node-fetch'; import { ChatHandler } from '../src/chat-handler'; import { ChatConfig } from '../src/chat-config'; describe.skip('Chat', () => { let chat: Chat; let handlerSpyMock: ChatHandler; let handlerSpy: ChatHandler; beforeEach(async () => { const createChatUrl = 'https://visit-x.net/interfaces/content/start.php?json=1&userID=1628124&ualias=UnitTestUser'; const response = await fetch(createChatUrl, { method: 'GET', headers: { Authorization: 'Basic ' + btoa('vxtechnik:christoph'), }, }); const createdChat = await response.json(); const chatConfig: ChatConfig = { clientId: createdChat.clientId, host: createdChat.server, version: 'unit-test', }; handlerSpyMock = mock(); handlerSpy = instance(handlerSpyMock); chat = new Chat(chatConfig, handlerSpy); await chat.init(); }); describe('startUpstream', () => { it('returns expected jpegTargetSet', async () => { const targetSet = await chat.startUpstream(); expect(targetSet.jpeg).toBeDefined(); expect(targetSet.jpeg.length).toBeGreaterThanOrEqual(1); const jpegTargetSet = targetSet.jpeg[0]; expect(jpegTargetSet).toBeDefined(); expect(jpegTargetSet.stream).toMatch(/^http.*$/); expect(jpegTargetSet.width).toBeGreaterThan(0); expect(jpegTargetSet.height).toBeGreaterThan(0); expect(jpegTargetSet.fps).toBeGreaterThan(0); expect(jpegTargetSet.quality).toBeGreaterThan(0); expect(jpegTargetSet.quality).toBeLessThanOrEqual(1); }); }); describe('queryCharge', () => { it('returns ChargeInfo', async () => { const chargeInfo = await chat.getChargeInfo(); expect(chargeInfo.available).toBeDefined(); expect(chargeInfo.autoCharged).toBeGreaterThanOrEqual(0); }); }); // describe('sendMediaFile', () => { // it('with image', async () => { // const buffer = readFileSync('./test/data/test_image.jpeg'); // const testImage = new File([buffer], 'testFile'); // const result = await chat.sendMediaFile( // testImage, // 'test_message_key' // ); // expect(result.error).toBeNull(); // expect(result.successfull).toBe(true); // }); // }); // describe('sendImage', () => { // it('test', async () => { // const buffer = readFileSync('./test/data/test_image.jpeg'); // const testImage = new File([buffer], 'testFile'); // const response = await chat.sendImageFile(testImage); // expect(response.successfull).toBe(true); // }); // }); describe('sendMessage', () => { it('with calling startText before', async () => { await chat.startText(); const response = await chat.sendMessage('Test-Message'); expect(response).toBeUndefined(); }); it('without calling startText before', async () => { const response = await chat.sendMessage('Test-Message'); expect(response).toBeUndefined(); }); }); });