#!/usr/bin/env ts-node /* eslint-disable */ // tslint:disable:max-line-length // tslint:disable:no-shadowed-variable import test from 'blue-tape' import { YOU } from 'wechaty-puppet' import { PadplusMessagePayload, } from '../schemas' import { roomLeaveEventMessageParser, } from './room-event-leave-message-parser' test('roomLeaveEventMessageParser() not detected', async t => { t.equal( await roomLeaveEventMessageParser(undefined as any), null, 'should return null for undefined', ) t.equal( await roomLeaveEventMessageParser('null' as any), null, 'should return null for null', ) t.equal( await roomLeaveEventMessageParser('test' as any), null, 'should return null for string', ) t.equal( await roomLeaveEventMessageParser({} as any), null, 'should return null for empty object', ) t.equal( await roomLeaveEventMessageParser({ content: 'fsdfsfsdfasfas' } as PadplusMessagePayload), null, 'should return null for PadplusMessagePayload with unknown content', ) }) test('roomLeaveEventMessageParser() bot kick out other', async t => { const MESSAGE_PAYLOAD: PadplusMessagePayload = { content: '25044049015@chatroom:\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\n', createTime: 1597032764085, fromMemberUserName: '25044049015@chatroom', fromUserName: '25044049015@chatroom', imgBuf: '', imgStatus: 1, l1MsgType: 5, msgId: '1921720239587556760', msgSource: '', msgSourceCd: 2, msgType: 10002, newMsgId: 1921720239587556900, pushContent: '', status: 4, toUserName: 'wxid_orp7dihe2pm112', uin: '289099750', wechatUserName: 'wxid_orp7dihe2pm112', } const actual = { leaverIdList: [ 'Soul001001' ], removerId: YOU, roomId: '25044049015@chatroom', timestamp: 1597032764085, } t.deepEqual(await roomLeaveEventMessageParser(MESSAGE_PAYLOAD), actual, 'should return actual data') })