UNPKG

thaibulksms-api

Version:

วิธีส่ง SMS ง่ายๆด้วย Thaibulksms API ทั้งแบบข้อความและ OTP

120 lines (98 loc) 2.95 kB
'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); } }) })