> ## Documentation Index
> Fetch the complete documentation index at: https://docs.waniwani.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Test cases template

> A copy-pasteable template for the ChatGPT Plugin Store test-case step: the 5 positive cases where your app should trigger and the 3 negative cases where it should not.

OpenAI reviewers run your test cases to validate your app, so this section is reviewed carefully. You need at least **5 positive** cases (where the app should trigger and work) and at least **3 negative** cases (where it should not). Lay them out here before you open the form, then paste each value in.

<Note>
  For managed Waniwani apps you receive these pre-filled based on your app's tools and behavior. Review them to confirm they match how your app actually works before submitting.
</Note>

## Positive test cases (minimum 5)

Scenarios where your app **should** trigger and work correctly. For each, the form asks for the scenario, the user prompt, which tools fire, and the expected output.

| # | Scenario                      | User prompt (paste into form)      | Tools triggered | Expected output            |
| - | ----------------------------- | ---------------------------------- | --------------- | -------------------------- |
| 1 | What the user is trying to do | The exact prompt a user would type | `tool_name`     | What the app should return |
| 2 |                               |                                    |                 |                            |
| 3 |                               |                                    |                 |                            |
| 4 |                               |                                    |                 |                            |
| 5 |                               |                                    |                 |                            |

Add rows for any additional use cases worth covering.

## Negative test cases (minimum 3)

Prompts where your app should **not** trigger. These confirm your app does not activate inappropriately. For each, the form asks for the scenario and a prompt.

| # | Scenario             | User prompt (paste into form)      | Why the app should NOT trigger |
| - | -------------------- | ---------------------------------- | ------------------------------ |
| 1 | An unrelated request | A prompt outside your app's domain | Why this is out of scope       |
| 2 |                      |                                    |                                |
| 3 |                      |                                    |                                |

## Writing good test cases

* **Positive cases should be realistic.** Use prompts a real user would actually type, phrased naturally, not keyword-stuffed prompts engineered to trigger the app.
* **Cover distinct paths.** Spread the five across different tools and use cases rather than five variations of the same request.
* **Negative cases should be plausibly nearby.** The strongest negatives are requests in an adjacent area where the app should stay quiet, not random unrelated prompts. They show the app has well-defined boundaries.
* **Match the expected output to reality.** Reviewers run these against your live app, so describe what it genuinely returns.

<CardGroup cols={2}>
  <Card title="Back to ChatGPT submission" icon="store" href="/platform/guides/chatgpt">
    Where this template fits in the full checklist.
  </Card>

  <Card title="Tool justification template" icon="shield-check" href="/platform/guides/templates/tool-justification">
    The other section reviewers check hardest.
  </Card>
</CardGroup>
