Skip to content

Full API Coverage, Bug Fixes & Infrastructure Improvements#24

Merged
Auwalms merged 3 commits into
mainfrom
bills-payment-and-tests
May 28, 2026
Merged

Full API Coverage, Bug Fixes & Infrastructure Improvements#24
Auwalms merged 3 commits into
mainfrom
bills-payment-and-tests

Conversation

@Auwalms

@Auwalms Auwalms commented May 28, 2026

Copy link
Copy Markdown
Collaborator

This PR upgrades the library from partial API coverage to full parity with the Monnify API specification.

New modules

Six new service modules have been added: Invoice, Settlement, Wallet, LimitProfile, DirectDebit, and BillsPayment (including the complete bill payment lifecycle — validate customer, vend, and requery).

New methods on existing modules
Ten new methods across Transaction, ReservedAccount, Disbursement, and Verification, including getAllTransactions, verifyNin, resendBulkTransferOTP, and four new reserved account update methods.

Bug fixes

  • All three Verification methods were throwing a ReferenceError at runtime due to an undefined schema import
  • cardTokenization was using the wrong validator schema
  • getBulkTransferStatus was pointing to the wrong endpoint
  • [Breaking] createMandate schema has been rewritten to match the Monnify spec — the previous implementation used field names that do not exist in the API (mandateType, debitType, frequency, beneficiary*, payer*). All calls to this method must be updated to use the correct spec fields (customerName, customerEmailAddress, customerPhoneNumber, customerAddress, customerAccountNumber, customerAccountBankCode). See CHANGELOG.md for the full before/after field mapping
  • [Breaking] debitMandateamount has been renamed to debitAmount and customerEmail is now a required field, both corrected to match the spec

Infrastructure

  • Replaced file-based token cache (SANDBOX_Cache.js) with a safe in-memory cache — no more accidental secret commits
  • node_modules untracked from version control
  • GitHub Actions upgraded to actions/checkout@v6 and actions/setup-node@v6
  • Code coverage added via c8 with Codecov integration
  • express, swagger-jsdoc, and swagger-ui-express moved to devDependencies
  • [Breaking] Node.js minimum version raised to >=18 — Node 16 reached end-of-life in September 2023. Node 24 added to CI matrix

Tests

Grows from ~30 tests across 7 files to 71 tests across 11 files, all passing against the Monnify sandbox.

See CHANGELOG.md for the full detailed breakdown.

Auwalms and others added 3 commits May 27, 2026 12:32
node_modules was committed by initial contributors. Removed from git
index via git rm -r --cached. The .gitignore already has node_modules/
listed so it will not be re-added.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@codecov

codecov Bot commented May 28, 2026

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

@Auwalms Auwalms merged commit 2adda1c into main May 28, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant