## TL;DR

For "Error: Public Key required": 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. ``text Error: Public Key required `` Success check: tests execute instead of the constructor throwing.

```text
Error: Public Key required
```

## Steps

1. 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.

```text
Error: Public Key required
```

2. Put test key values in the environment (a .env loaded at the top of the test setup works).

3. Ensure the env loads before any test file requires the client.

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

5. - Test suite dies at startup with the Public Key error.

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

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

## When to use

You are seeing this: 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... Use this skill when you run into "Fix 'Error: Public Key required' when running flutterwave-node-v3 tests".

## When not to use

If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.

## Versions

No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.

## Why this happens

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