#!/usr/bin/env ts-node
// tslint:disable:max-line-length
// tslint:disable:no-shadowed-variable
import test from 'blue-tape'
import {
PuppetRoomJoinEvent,
YOU,
} from 'wechaty-puppet'
import {
PadproMessagePayload,
} from '../schemas'
import { roomJoinEventMessageParser } from './room-event-join-message-parser'
test('roomJoinEventMessageParser() ZH-other-invite-other', async t => {
const MESSAGE_PAYLOAD: PadproMessagePayload = {
content : '"李卓桓"邀请"Huan LI++"加入了群聊',
fromUser : '5354656522@chatroom',
messageId : '1303222499352704462',
messageSource: '',
messageType : 10000,
status : 1,
timestamp : 1528657265,
toUser : 'wxid_a8d806dzznm822',
}
const EXPECTED_EVENT: PuppetRoomJoinEvent = {
inviteeNameList: ['Huan LI++'],
inviterName: '李卓桓',
roomId: '5354656522@chatroom',
}
const event = await roomJoinEventMessageParser(MESSAGE_PAYLOAD)
// console.log('payload:', event)
t.deepEqual(event, EXPECTED_EVENT, 'should parse room join message payload')
})
test('roomJoinEventMessageParser() ZH-other-invite-others', async t => {
t.skip('tbw')
})
test('roomJoinEventMessageParser() ZH-other-invite-bot', async t => {
const MESSAGE_PAYLOAD: PadproMessagePayload = {
content : '"李佳芮"邀请你加入了群聊,群聊参与人还有:小桔、桔小秘、小小桔、wuli舞哩客服、舒米',
fromUser : '8083065140@chatroom',
messageId : '5158828327248760504',
messageSource: '',
messageType : 10000,
status : 1,
timestamp : 1526984649,
toUser : 'wxid_zj2cahpwzgie12',
}
const EXPECTED_EVENT: PuppetRoomJoinEvent = {
inviteeNameList : [YOU],
inviterName : '李佳芮',
roomId : '8083065140@chatroom',
}
const event = await roomJoinEventMessageParser(MESSAGE_PAYLOAD)
t.deepEqual(event, EXPECTED_EVENT, 'should parse event')
})
test('roomJoinEventMessageParser() ZH-other-invite-bot-with-other', async t => {
const MESSAGE_PAYLOAD: PadproMessagePayload = {
content : '"李卓桓"邀请你和"Huan LI++"加入了群聊',
fromUser : '5178377660@chatroom',
messageId : '8563709618990948643',
messageSource: '',
messageType : 10000,
status : 1,
timestamp : 1528751621,
toUser : 'wxid_a8d806dzznm822',
}
const EXPECTED_EVENT: PuppetRoomJoinEvent = {
inviteeNameList : [YOU, 'Huan LI++'],
inviterName : '李卓桓',
roomId : '5178377660@chatroom',
}
const event = await roomJoinEventMessageParser(MESSAGE_PAYLOAD)
t.deepEqual(event, EXPECTED_EVENT, 'should parse event')
})
test('roomJoinEventMessageParser() ZH-bot-invite-one', async t => {
const MESSAGE_PAYLOAD: PadproMessagePayload = {
content : '5354656522@chatroom: \n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\tinvite\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\n',
fromUser : '5354656522@chatroom',
messageId : '6278175026243694414',
messageSource: '',
messageType : 10002,
status : 1,
timestamp : 1528657265,
toUser : 'lizhuohuan',
}
const EXPECTED_EVENT: PuppetRoomJoinEvent = {
inviteeNameList : ['Huan LI++'],
inviterName : YOU,
roomId : '5354656522@chatroom',
}
const event = await roomJoinEventMessageParser(MESSAGE_PAYLOAD)
t.deepEqual(event, EXPECTED_EVENT, 'should parse event')
})
/**
* See more in https://github.com/lijiarui/wechaty-puppet-padchat/issues/55
*/
test('roomJoinEventMessageParser() ZH-bot-invite-three-bot-is-owner', async t => {
const MESSAGE_PAYLOAD: PadproMessagePayload = {
content : '6350854677@chatroom: \n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\tinvite\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\n',
fromUser : '6350854677@chatroom',
messageId : '4060992149171432834',
messageSource: '',
messageType : 10002,
status : 1,
timestamp : 1528828692,
toUser : 'wxid_zj2cahpwzgie12',
}
const EXPECTED_EVENT: PuppetRoomJoinEvent = {
inviteeNameList : ['李卓桓', '李佳芮', '桔小秘'],
inviterName : YOU,
roomId : '6350854677@chatroom',
}
const event = await roomJoinEventMessageParser(MESSAGE_PAYLOAD)
t.deepEqual(event, EXPECTED_EVENT, 'should parse event')
})
test('roomJoinEventMessageParser() ZH-bot-invite-three-bot-is-not-owner', async t => {
const MESSAGE_PAYLOAD: PadproMessagePayload = {
content : '12740017638@chatroom: \n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\tinvite\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\n',
fromUser : '12740017638@chatroom',
messageId : '7919516882221400792',
messageSource: '',
messageType : 10002,
status : 1,
timestamp : 1528829561,
toUser : 'wxid_zj2cahpwzgie12',
}
const EXPECTED_EVENT: PuppetRoomJoinEvent = {
inviteeNameList : ['卓桓', 'Zhuohuan', '太阁_传话助手', '桔小秘'],
inviterName : YOU,
roomId : '12740017638@chatroom',
}
const event = await roomJoinEventMessageParser(MESSAGE_PAYLOAD)
t.deepEqual(event, EXPECTED_EVENT, 'should parse event')
})
test('roomJoinEventMessageParser() ZH-other-invite-bot-and-two', async t => {
const MESSAGE_PAYLOAD: PadproMessagePayload = {
content : '"李佳芮-哈哈哈啊哈哈"邀请你加入了群聊,群聊参与人还有:小桔、桔小秘、太阁_传话助手、桔小秘',
fromUser : '5616634434@chatroom',
messageId : '4650121355699061443',
messageSource: '',
messageType : 10000,
status : 1,
timestamp : 1528830037,
toUser : 'wxid_zj2cahpwzgie12',
}
const EXPECTED_EVENT: PuppetRoomJoinEvent = {
inviteeNameList : [YOU],
inviterName : '李佳芮-哈哈哈啊哈哈',
roomId : '5616634434@chatroom',
}
const event = await roomJoinEventMessageParser(MESSAGE_PAYLOAD)
t.deepEqual(event, EXPECTED_EVENT, 'should parse event')
})
test('roomJoinEventMessageParser() ZH-scan-qrcode-shared-by-bot-when-bot-not-owner', async t => {
const MESSAGE_PAYLOAD: PadproMessagePayload = {
content : '9967013206@chatroom: \n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\tqrcode\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\n',
fromUser : '9967013206@chatroom',
messageId : '4571828451143401319',
messageSource: '',
messageType : 10002,
status : 1,
timestamp : 1528830363,
toUser : 'wxid_zj2cahpwzgie12',
}
const EXPECTED_EVENT: PuppetRoomJoinEvent = {
inviteeNameList : ['李佳芮'],
inviterName : YOU,
roomId : '9967013206@chatroom',
}
const event = await roomJoinEventMessageParser(MESSAGE_PAYLOAD)
t.deepEqual(event, EXPECTED_EVENT, 'should parse event')
})
test('roomJoinEventMessageParser() ZH-scan-qrcode-shared-by-bot-when-bot-is-owner', async t => {
const MESSAGE_PAYLOAD: PadproMessagePayload = {
content : '5616634434@chatroom: \n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\tqrcode\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\n',
fromUser : '5616634434@chatroom',
messageId : '3244658260828188781',
messageSource: '',
messageType : 10002,
status : 1,
timestamp : 1528830493,
toUser : 'wxid_zj2cahpwzgie12',
}
const EXPECTED_EVENT: PuppetRoomJoinEvent = {
inviteeNameList : ['李佳芮'],
inviterName : YOU,
roomId : '5616634434@chatroom',
}
const event = await roomJoinEventMessageParser(MESSAGE_PAYLOAD)
t.deepEqual(event, EXPECTED_EVENT, 'should parse event')
})
test('roomJoinEventMessageParser() ZH-scan-qrcode-shared-by-other-when-bot-no-owner', async t => {
const MESSAGE_PAYLOAD: PadproMessagePayload = {
content : '" 卓桓、Zhuohuan"通过扫描"李佳芮"分享的二维码加入群聊',
fromUser : '9967013206@chatroom',
messageId : '2518372397480881089',
messageSource: '',
messageType : 10000,
status : 1,
timestamp : 1528830692,
toUser : 'wxid_zj2cahpwzgie12',
}
const EXPECTED_EVENT: PuppetRoomJoinEvent = {
inviteeNameList : ['卓桓', 'Zhuohuan'],
inviterName : '李佳芮',
roomId : '9967013206@chatroom',
}
const event = await roomJoinEventMessageParser(MESSAGE_PAYLOAD)
t.deepEqual(event, EXPECTED_EVENT, 'should parse event')
})
test('roomJoinEventMessageParser() ZH-scan-qrcode-shared-by-other-when-bot-is-owner', async t => {
const MESSAGE_PAYLOAD: PadproMessagePayload = {
content : '" 卓桓、Zhuohuan"通过扫描"李佳芮"分享的二维码加入群聊',
fromUser : '5616634434@chatroom',
messageId : '2301570706114768273',
messageSource: '',
messageType : 10000,
status : 1,
timestamp : 1528830737,
toUser : 'wxid_zj2cahpwzgie12',
}
const EXPECTED_EVENT: PuppetRoomJoinEvent = {
inviteeNameList : ['卓桓', 'Zhuohuan'],
inviterName : '李佳芮',
roomId : '5616634434@chatroom',
}
const event = await roomJoinEventMessageParser(MESSAGE_PAYLOAD)
t.deepEqual(event, EXPECTED_EVENT, 'should parse event')
})
test('roomJoinEventMessageParser() ZH-bot-invite-three', async t => {
t.skip('tbw')
})
test('roomJoinEventMessageParser() ZH-room-create', async t => {
t.skip('can not get create sys message, because room will not sync or appear before the creater send the first message')
})
test('roomJoinEventMessageParser() ZH-other-invite-other-with-emoji-in-name', async t => {
const MESSAGE_PAYLOAD: PadproMessagePayload = {
content : '"XXX"邀请"YYY"加入了群聊',
fromUser : '5616634434@chatroom',
messageId : '2301570706114768273',
messageSource: '',
messageType : 10000,
status : 1,
timestamp : 1528830737,
toUser : 'wxid_zj2cahpwzgie12',
}
const EXPECTED_EVENT: PuppetRoomJoinEvent = {
inviteeNameList : ['YYY'],
inviterName : 'XXX',
roomId : '5616634434@chatroom',
}
const event = await roomJoinEventMessageParser(MESSAGE_PAYLOAD)
t.deepEqual(event, EXPECTED_EVENT, 'should parse event')
})