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

# Typical Test Scenarios

> This guide covers common test scenarios for the FrankieOne Sandbox environment. All examples use Test Personas from our [Test Data](/docs/v1/api/guide-to-the-api/getting-started/test-data).

<Info>
  A Test Persona is a pre-configured individual or business profile available in our sandbox environment for testing purposes.
</Info>

<AccordionGroup>
  <Accordion title="Basic Testing Scenarios">
    ## Successful Match Testing

    To verify a successful match:

    1. Select a Test Persona from the test data spreadsheet
    2. Enter the information **exactly** as shown in the spreadsheet
    3. The required information depends on your Recipe configuration

    <Info>
      A Recipe defines the set of verification checks applied to a customer's profile. See [Entity Profiles/Recipes](/docs/v1/entity-profiles-recipes-available-to-test-with) for available configurations.
    </Info>

    ## Failed Match Testing

    To simulate a failed match:

    1. Select a Test Persona
    2. Modify one or more values from their original data

    ```javascript theme={null}
    // Example: Modifying first name
    originalName: "Bobby"
    modifiedName: "Bobble" // This will cause a match failure
    ```

    <Callout icon="bell" color="#FFCA16" iconType="regular">
      Avoid modifying the Family Name field as it's used as a primary key for Test Personas and may cause unexpected behavior.
    </Callout>
  </Accordion>

  <Accordion title="Dynamic Persona Testing">
    ## Dynamic Test Personas

    Unlike static Test Data, Dynamic Personas allow you to simulate outcomes with custom information.

    <Tabs>
      <Tab title="Always Match">
        ### Force Successful Matches

        Use any of these methods to ensure a successful match:

        <CodeGroup>
          ```javascript title="Method 1: Middle Name" theme={null}
          middleName: "passall"  // Forces all checks to pass
          middleName: "onepass"  // Forces one data source to pass
          ```

          ```javascript title="Method 2: Street Name" theme={null}
          streetName: "passall"  // Alternative to middle name
          streetName: "onepass"  // Alternative for single source
          ```

          ```javascript title="Method 3: Document Number" theme={null}
          documentNumber: "XXX37125YY"  // Include 37125 anywhere in the number
          ```
        </CodeGroup>
      </Tab>

      <Tab title="Always Fail">
        ### Force Failed Matches

        Simply use data that doesn't match any existing Test Persona attributes.
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="Special Test Scenarios">
    ## Specialized Testing Cases

    <CardGroup cols={2}>
      <Card title="Non-ID Check Failures" icon="id-card">
        Set `otherName: "FailNonID"` to pass document checks but fail other verifications.

        <Callout icon="thumbtack" color="#1A6CFF" iconType="regular">
          Ensure document-related details (name, DoB, ID) match the Test Data exactly.
        </Callout>
      </Card>

      <Card title="Credit Header Failures" icon="credit-card">
        To simulate provider-specific failures:

        ```javascript theme={null}
        streetName: "77 Equifax Street"   // Equifax failure
        streetName: "123 Experian Street" // Experian failure
        ```
      </Card>
    </CardGroup>

    ## PEP, Fraud, and Sanctions Testing

    <Step>
      1. Select a Test Persona marked with PEP, Sanctions, or Fraud flags
      2. Ensure your Recipe includes PEP checks
      3. Execute the verification process
    </Step>

    <Info>
      PEP/Sanctions matches are pre-configured and static. Use Test Personas marked as `SKIP` to bypass these checks and test with external services instead.
    </Info>
  </Accordion>
</AccordionGroup>
