thaibulksms-api
Version:
วิธีส่ง SMS ง่ายๆด้วย Thaibulksms API ทั้งแบบข้อความและ OTP
96 lines (82 loc) • 2.4 kB
JavaScript
'use strict';
const axios = require('axios');
const expect = require('expect')
const sms = require('../sms')
jest.mock('axios');
describe('SMS API', () => {
test('Check typeof sms equalt function', () => {
expect(typeof sms).toBe('function')
})
test('Check request fail [Send SMS]', async () => {
const respFail = {
response: {
data: {
error: {
code: 1,
description: "System Failure.",
name: "ERROR_SYSTEM_FAILURE"
}
}
}
}
axios.post.mockReturnValue(Promise.reject(respFail))
let options = {
apiKey: '',
apiSecret: '',
}
let body = {
msisdn: '',
message: '',
// sender: '',
// scheduled_delivery: '',
// force: ''
}
try {
const _sms = sms(options)
await _sms.sendSMS(body)
} catch (error) {
expect(error).toMatchObject(respFail.response)
}
})
test('Check response sms success [Send SMS]', async () => {
const resp = {
data: {
bad_phone_number_list: [
{
message: "Phone number is invalid.",
number: "66812345678"
}
],
credit_type: "corporate",
phone_number_list: [
{
message_id: "VtznKfqHUjmDCysZyOZDQX",
number: "66812345678",
used_credit: 1
}
],
remaining_credit: 156758,
total_use_credit: 1
}
};
let options = {
apiKey: '',
apiSecret: '',
}
let body = {
msisdn: '',
message: '',
// sender: '',
// scheduled_delivery: '',
// force: ''
}
axios.post.mockReturnValue(Promise.resolve(resp))
try {
const _sms = sms(options)
const res = await _sms.sendSMS(body)
expect(res).toEqual(resp.data)
} catch (error) {
expect(error).toBe(1);
}
})
})