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
```

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