wechaty-puppet-padplus
Version:
Puppet Padplus for Wechaty
113 lines • 4.98 kB
JavaScript
;
// tslint:disable:max-line-length
// tslint:disable:no-shadowed-variable
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const blue_tape_1 = __importDefault(require("blue-tape"));
const wechaty_puppet_1 = require("wechaty-puppet");
const contact_raw_payload_parser_1 = require("./contact-raw-payload-parser");
/**
*
* {
"alias": "",
"bigHeadUrl": "http://wx.qlogo.cn/mmhead/KDLS0fhbCTJ0H7wsWRiaeMdibHvaeoZw1jQScfCqfVaPM/132",
"city": "Haidian",
"contactType": 1,
"country": "",
"labelLists": "",
"nickName": "高原ོ",
"province": "Beijing",
"remark": "",
"sex": 1,
"signature": "",
"smallHeadUrl": "http://wx.qlogo.cn/mmhead/KDLS0fhbCTJ0H7wsWRiaeMdibHvaeoZw1jQScfCqfVaPM/132",
"stranger": "v1_xxx",
"ticket": "",
"userName": "lylezhuifeng"
}
*/
blue_tape_1.default('contactRawPayloadParser', (t) => __awaiter(void 0, void 0, void 0, function* () {
const PADPLUS_CONTACT_PAYLOAD_PERSONAL = {
alias: 'lylezhuifeng',
bigHeadUrl: 'http://wx.qlogo.cn/mmhead/KDLS0fhbCTJ0H7wsWRiaeMdibHvaeoZw1jQScfCqfVaPM/132',
city: 'Haidian',
contactFlag: 3,
contactType: 1,
country: '',
labelLists: '',
nickName: '高原ོ',
province: 'Beijing',
remark: '',
sex: 1,
signature: '',
smallHeadUrl: 'http://wx.qlogo.cn/mmhead/KDLS0fhbCTJ0H7wsWRiaeMdibHvaeoZw1jQScfCqfVaPM/132',
stranger: 'v1_xxx',
ticket: '',
userName: 'lylezhuifeng',
verifyFlag: 0,
};
const PADPLUS_CONTACT_PAYLOAD_OFFICIAL = {
alias: 'wxid_v7j3e9kna9l912',
bigHeadUrl: 'http://wx.qlogo.cn/mmhead/ver_1/icxUZE0qz1c1HubRfXHscMA1PialA7q3OEIWiaRtUjYmpj2EDFhTNGwlicUFe1NQR67gVGgjhILV1ZTsZ1qO3XTMehhH1k6icF1adbaibUMJXbMWk/132',
city: 'Fengtai',
contactFlag: 3,
contactType: 1,
country: '',
labelLists: '',
nickName: '李青青',
province: 'Beijing',
remark: '',
sex: 2,
signature: '',
smallHeadUrl: 'http://wx.qlogo.cn/mmhead/ver_1/icxUZE0qz1c1HubRfXHscMA1PialA7q3OEIWiaRtUjYmpj2EDFhTNGwlicUFe1NQR67gVGgjhILV1ZTsZ1qO3XTMehhH1k6icF1adbaibUMJXbMWk/132',
stranger: 'v1_xxx',
ticket: '',
userName: 'wxid_v7j3e9kna9l912',
verifyFlag: 0,
};
const EXPECTED_CONTACT_PAYLOAD_PERSONAL = {
alias: '',
avatar: 'http://wx.qlogo.cn/mmhead/KDLS0fhbCTJ0H7wsWRiaeMdibHvaeoZw1jQScfCqfVaPM/132',
city: 'Haidian',
friend: true,
gender: wechaty_puppet_1.ContactGender.Male,
id: 'lylezhuifeng',
name: '高原ོ',
province: 'Beijing',
signature: '',
type: wechaty_puppet_1.ContactType.Personal,
weixin: 'lylezhuifeng',
};
const EXPECTED_CONTACT_PAYLOAD_OFFICIAL = {
alias: '',
avatar: 'http://wx.qlogo.cn/mmhead/ver_1/icxUZE0qz1c1HubRfXHscMA1PialA7q3OEIWiaRtUjYmpj2EDFhTNGwlicUFe1NQR67gVGgjhILV1ZTsZ1qO3XTMehhH1k6icF1adbaibUMJXbMWk/132',
city: 'Fengtai',
friend: true,
gender: wechaty_puppet_1.ContactGender.Female,
id: 'wxid_v7j3e9kna9l912',
name: '李青青',
province: 'Beijing',
signature: '',
type: wechaty_puppet_1.ContactType.Personal,
weixin: 'wxid_v7j3e9kna9l912',
};
const resultPersonal = contact_raw_payload_parser_1.contactRawPayloadParser(PADPLUS_CONTACT_PAYLOAD_PERSONAL);
t.deepEqual(resultPersonal, EXPECTED_CONTACT_PAYLOAD_PERSONAL, 'should parse ContactPayload for male account payload');
const resultOfficial = contact_raw_payload_parser_1.contactRawPayloadParser(PADPLUS_CONTACT_PAYLOAD_OFFICIAL);
t.deepEqual(resultOfficial, EXPECTED_CONTACT_PAYLOAD_OFFICIAL, 'should parse ContactPayload for female account payload');
t.throws(() => contact_raw_payload_parser_1.contactRawPayloadParser({}), 'should throw exception for invalid object');
t.throws(() => contact_raw_payload_parser_1.contactRawPayloadParser(undefined), 'should throw exception for undifined');
}));
//# sourceMappingURL=contact-raw-payload-parser.spec.js.map