UNPKG

wallets-africa

Version:
122 lines (121 loc) 3.83 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const index_1 = __importDefault(require("../index")); const chai_1 = require("chai"); const faker_1 = __importDefault(require("faker")); /* Self resource tests file */ // The key is supplied from package.json under the scripts command const walletAfrica = new index_1.default({ secretKey: process.env.SECRET_KEY, publicKey: process.env.PUBLIC_KEY, sandbox: true, }); const phone1 = '08099999999'; const phone2 = '08099999999'; const transactionPin = '1111'; let expData = { FirstName: '', LastName: '', Email: '', PhoneNumber: '', BVN: '', Password: '', DateOfBirth: '', DateSignedup: '', AccountNo: '', Bank: '', AccountName: '', AvailableBalance: 0, }; describe('Wallet resource tests', function () { it('Create', async function () { const res = await walletAfrica.wallet.create({ dateOfBirth: '22-08-1923', email: faker_1.default.internet.email(), firstName: faker_1.default.name.firstName(), lastName: faker_1.default.name.lastName(), password: 'anything', phoneNumber: phone1, }); chai_1.assert.strictEqual(res.status, 200); chai_1.assert.containsAllDeepKeys(res.data, { Response: { ResponseCode: '200', }, Data: expData, }); // Assign response to expected data // So we can reuse contents for other tests expData = res.data.DATA; }); it('Debit', async function () { try { const res = await walletAfrica.wallet.debit({ transactionReference: Date.now(), amount: 100, phoneNumber: phone1, }); chai_1.assert.equal(res.status, 200); } catch (err) { if (err.response) { const res = err.response; chai_1.assert.deepEqual(res.data.Response, { ResponseCode: '400', Message: 'Insufficient Funds', }); } else { throw err; } } }); it('Credit', async function () { try { const res = await walletAfrica.wallet.credit({ transactionReference: Date.now(), amount: 100, phoneNumber: phone1, }); chai_1.assert.strictEqual(res.status, 200); chai_1.assert.containsAllDeepKeys(res.data, { Response: { ResponseCode: '200', }, }); } catch (err) { if (err.response) { const res = err.response; chai_1.assert.deepEqual(res.data.Response, { ResponseCode: '400', Message: 'Insufficient Funds', }); } else { throw err; } } }); it('Generate', async function () { const res = await walletAfrica.wallet.generate({ dateOfBirth: faker_1.default.date.past(), email: faker_1.default.internet.email(), firstName: faker_1.default.name.firstName(), lastName: faker_1.default.name.lastName(), password: faker_1.default.name.firstName(), phoneNumber: phone2, }); chai_1.assert.strictEqual(res.status, 200); chai_1.assert.containsAllDeepKeys(res.data, { Response: { ResponseCode: '200', }, }); }); });