thaibulksms-api
Version:
วิธีส่ง SMS ง่ายๆด้วย Thaibulksms API ทั้งแบบข้อความและ OTP
120 lines (98 loc) • 2.95 kB
JavaScript
'use strict';
const axios = require('axios');
const expect = require('expect')
const otp = require('../otp')
jest.mock('axios');
describe('Verify OTP', () => {
test('Check typeof otp equalt function', () => {
expect(typeof otp).toBe('function')
})
test('Check request fail [V1]', async () => {
const respFail = {
response: {
status: 400,
statusText: 'Bad Request',
data: {
error: {
code: 400,
errors: [
{
detail: {
statusText: 'invalidateion slsls'
}
}
],
}
}
}
};
axios.post.mockReturnValue(Promise.reject(respFail))
let options = {
apiKey: 'keyotptest',
apiSecret: 'secretTest',
version: 'v1'
}
let token = 'apisdfdsfsfsdflod'
let pin = 12345
try {
const _otp = otp(options)
await _otp.verify(token, pin)
} catch (error) {
expect(error).toMatchObject({
code: respFail.response.status,
message: respFail.response.data.error.errors[0],
statusText: respFail.response.statusText,
})
}
})
test('Check verify otp success [V1]', async () => {
const resp = {
"data": {
"data": {
"status": "success",
"message": "Code is correct."
}
}
};
let token = 'apisdfdsfsfsdflod'
let pin = 12345
axios.post.mockResolvedValue(resp);
let options = {
apiKey: 'keyotptest',
apiSecret: 'secretTest',
version: 'v1'
}
const _otp = otp(options)
try {
const res = await _otp.verify(token, pin)
expect(res).toEqual(resp.data)
} catch (error) {
expect(error).toBe(1);
}
})
test('Check verify otp success [V2]', async () => {
const resp = {
"data": {
"data": {
"status": "success",
"message": "Code is correct."
}
}
};
let token = 'apisdfdsfsfsdflod'
let pin = 12345
axios.post.mockResolvedValue(resp);
let options = {
apiKey: 'keyotptest',
apiSecret: 'secretTest',
version: 'v2'
}
const _otp = otp(options)
try {
const res = await _otp.verify(token, pin)
expect(res).toEqual(resp.data)
} catch (error) {
expect(error).toBe(1);
}
})
})