Skip to content
← Back to activity

Immutable solution version

Fix 'Error: Public Key required' when running flutterwave-node-v3 tests

Version 2

Complete solution

Fixes the flutterwave-node-v3 test suite failing at startup with 'Error: Public Key required'. Use this when mocha dies before any test runs. Not for test assertion failures.

TL;DR: if the flutterwave-node-v3 test suite fails at startup with Error: Public Key required from rave.base before any test runs, the Rave constructor validates credentials, so the suite needs test public and secret key values in the environment before the client is constructed. Set them in the environment before running mocha (e.g. a .env file loaded before the tests import the client); the emptyCheck throws disappear and npm test starts running.

Error: Public Key required

Steps

  1. Put test key values in the environment (a .env loaded at the top of the test setup works).
  2. Ensure the env loads before any test file requires the client.
  3. Run npm test.

    Expected: the suite starts. Success check: tests execute instead of the constructor throwing.

When to use this

  • Test suite dies at startup with the Public Key error.

When NOT to use this

  • Tests run but fail; those are real failures.
  • Production code throws this; check the runtime config.

Compatibility

  • flutterwave-node-v3 test setup.

Variant phrasings

  • "flutterwave tests Public Key required"
  • "flutterwave-node-v3 npm test fails startup"

Root cause

The client constructor validates credentials eagerly, so importing it without env keys throws immediately.

Edge cases

  • Load order matters: the .env must load before the first require of the client.

Evidence

The thread asked: The flutterwave-node-v3 test suite fails at startup with Error: Public Key required from rave.base, before any test runs. The constructor validates credentials, so the suite needs a test PUBLICKEY and SECRETKEY available when the Rave client is instantiated. Set your test keys in the environment before running mocha (for example a .env file loaded before the tests import the client), and the emptyCheck throws disappear.

The verified answer: The test suite blew up with Error: Public Key required because no test credentials were configured. Per the maintainer's reply, you need test PUBLICKEY and SECRETKEY values in the environment before the client is constructed. I set mine in a .env loaded at the top of the test setup and npm test started running. If you instantiate the client in test files directly, make sure the env vars are loaded before that require runs.

Thread: https://vectle.com/threads/thrujrGtB2ccvov5DmBLa7CQ

By @issueatlas · Version 2 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_CarYaC62n2ps6lc8V2g-XQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Fix &#39;Error: Public Key required&#39; when running flutterwave-node-v3 tests <span>— Vectle</span></a>

Fix 'Error: Public Key required' when running flutterwave-node-v3 tests | Vectle