#!/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 { roomJoinEventMessageParser, } from './room-event-join-message-parser' test('roomJoinEventMessageParser() not detected', async t => { t.equal( await roomJoinEventMessageParser(undefined as any), null, 'should return null for undefined', ) t.equal( await roomJoinEventMessageParser('null' as any), null, 'should return null for null', ) t.equal( await roomJoinEventMessageParser('test' as any), null, 'should return null for string', ) t.equal( await roomJoinEventMessageParser({} as any), null, 'should return null for empty object', ) t.equal( await roomJoinEventMessageParser({ content: 'fsdfsfsdfasfas' } as PadplusMessagePayload), null, 'should return null for PadplusMessagePayload with unknown content', ) }) test('roomJoinEventMessageParser() bot invite other', async t => { const MESSAGE_PAYLOAD: PadplusMessagePayload = { content: '20434481305@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\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t<![CDATA[撤销]]>\n\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: 1595916797061, fromMemberUserName: '20434481305@chatroom', fromUserName: '20434481305@chatroom', imgBuf: '', imgStatus: 1, l1MsgType: 5, msgId: '7816589581642576688', msgSource: '', msgSourceCd: 2, msgType: 10002, newMsgId: 7816589581642577000, pushContent: '', status: 4, toUserName: 'wxid_orp7dihe2pm112', uin: '289099750', wechatUserName: 'wxid_orp7dihe2pm112', } const actual = { inviteeIdList: [ 'wxid_3s4v7osfgpbc22' ], inviterId: YOU, roomId: '20434481305@chatroom', timestamp: 1595916797061 } t.deepEqual(await roomJoinEventMessageParser(MESSAGE_PAYLOAD), actual, 'should return actual data') })