UNPKG

wechaty-puppet-padplus

Version:
113 lines 4.98 kB
#!/usr/bin/env ts-node "use strict"; // 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