Version:
SDK for interfacing with WhatsApp Business Platform in Typescript or Node.js using the Cloud API, hosted by Meta.
63 lines (48 loc) • 1.87 kB
text/typescript
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
* All rights reserved.
*
* This source code is licensed under the license found in the
* LICENSE file in the root directory of this source tree.
*/
import { WAConfigType } from '../types/config';
import WhatsApp from '../index';
import { SDKVersion } from '../version';
describe('WhatsApp SDK class', () => {
const sdkConfig: WAConfigType = (global as any).sdkConfig;
it('Instantiate the SDK', () => {
process.env.WA_BASE_URL = sdkConfig.WA_BASE_URL;
process.env.M4D_APP_ID = sdkConfig.M4D_APP_ID;
process.env.M4D_APP_SECRET = sdkConfig.M4D_APP_SECRET;
process.env.WA_PHONE_NUMBER_ID = sdkConfig.WA_PHONE_NUMBER_ID.toString();
process.env.WA_BUSINESS_ACCOUNT_ID = sdkConfig.WA_BUSINESS_ACCOUNT_ID;
process.env.CLOUD_API_ACCESS_TOKEN = sdkConfig.CLOUD_API_ACCESS_TOKEN;
process.env.CLOUD_API_VERSION = sdkConfig.CLOUD_API_VERSION;
process.env.WEBHOOK_ENDPOINT = sdkConfig.WEBHOOK_ENDPOINT;
process.env.WEBHOOK_VERIFICATION_TOKEN =
sdkConfig.WEBHOOK_VERIFICATION_TOKEN;
process.env.LISTENER_PORT = sdkConfig.LISTENER_PORT.toString();
process.env.DEBUG = sdkConfig.DEBUG.toString();
const wa = new WhatsApp();
expect(wa).toBeInstanceOf(WhatsApp);
});
it('verify SDK version', () => {
const wa = new WhatsApp();
expect(wa.version()).toBe(SDKVersion);
});
it('update request timeout config', () => {
const newTimeout = sdkConfig.REQUEST_TIMEOUT + 1;
const wa = new WhatsApp();
expect(wa.updateTimeout(newTimeout)).toBe(true);
});
it('update sender number id', () => {
const newNumber = 4;
const wa = new WhatsApp();
expect(wa.updateSenderNumberId(newNumber)).toBe(true);
});
it('update access token', () => {
const newAccessToken = 'accesstoken2';
const wa = new WhatsApp();
expect(wa.updateAccessToken(newAccessToken)).toBe(true);
});
});