fix countrycode and formatted number functions, add tests

This commit is contained in:
Pedro Lopez
2021-10-29 23:41:49 -04:00
parent 97a1d399ee
commit c434e04e41
3 changed files with 23 additions and 4 deletions

View File

@@ -857,9 +857,10 @@ class Client extends EventEmitter {
*/
async getFormattedNumber(number) {
if(!number.endsWith('@s.whatsapp.net')) number = number.replace('c.us', 's.whatsapp.net');
if(!number.includes('@s.whatsapp.net')) number = `${number}@s.whatsapp.net`;
return await this.pupPage.evaluate(async numberId => {
return window.NumberInfo.formattedPhoneNumber(numberId);
return window.Store.NumberInfo.formattedPhoneNumber(numberId);
}, number);
}
@@ -872,7 +873,7 @@ class Client extends EventEmitter {
number = number.replace(' ', '').replace('+', '').replace('@c.us', '');
return await this.pupPage.evaluate(async numberId => {
return window.NumberInfo.findCC(numberId);
return window.Store.NumberInfo.findCC(numberId);
}, number);
}

View File

@@ -21,7 +21,7 @@ exports.ExposeStore = (moduleRaidStr) => {
window.Store.MediaPrep = window.mR.findModule('MediaPrep')[0];
window.Store.MediaObject = window.mR.findModule('getOrCreateMediaObject')[0];
window.Store.MediaUpload = window.mR.findModule('uploadMedia')[0];
window.Store.NumberInfo = window.mR.findModule('formatNumber')[0];
window.Store.NumberInfo = window.mR.findModule('formattedPhoneNumber')[0];
window.Store.Cmd = window.mR.findModule('Cmd')[0].default;
window.Store.MediaTypes = window.mR.findModule('msgToMediaType')[0];
window.Store.VCard = window.mR.findModule('vcardFromContactModel')[0];

View File

@@ -438,6 +438,24 @@ END:VCARD`;
const numberId = await client.getNumberId(number);
expect(numberId).to.eql(null);
});
it('can get a number\'s country code', async function () {
const number = '18092201111';
const countryCode = await client.getCountryCode(number);
expect(countryCode).to.eql('1');
});
it('can get a formatted number', async function () {
const number = '18092201111';
const formatted = await client.getFormattedNumber(number);
expect(formatted).to.eql('+1 (809) 220-1111');
});
it('can get a formatted number from a serialized ID', async function () {
const number = '18092201111@c.us';
const formatted = await client.getFormattedNumber(number);
expect(formatted).to.eql('+1 (809) 220-1111');
});
});
});
});