HAALCENTRAAL English translation
BRP API / Personen / Features / dan-stap-definities-persoon

Persoon Then step definitions

# language: en
@stap-documentatie
Feature: Persoon Then step definitions

  Scenario Outline: Then the response has [0/no] persons
    Given the response body equals
    """
    {
      "personen": []
    }
    """
    Then the response has <aantal> persons

    Examples:
    | aantal |
    | geen   |
    | 0      |

  Scenario: Then the response has 1 person
    Given the response body equals
    """
    {
      "personen": [ {} ]
    }
    """
    Then the response has 1 person

  Scenario: Then the response has 2 persons
    Given the response body equals
    """
    {
      "personen": [ {}, {} ]
    }
    """
    Then the response has 2 persons

  Scenario Outline: Then the response has (another) person with (only) the following data
    Given the response body equals
    """
    {
      "personen": [
        {
          "burgerservicenummer": "000000012"
        }
      ]
    }
    """
    Then <stap definitie met hetzelfde gedrag>
    | naam                | waarde    |
    | burgerservicenummer | 000000012 |

    Examples:
    | stap definitie met hetzelfde gedrag                               |
    | heeft de response een persoon met de volgende gegevens            |
    | heeft de response een persoon met alleen de volgende gegevens     |
    | heeft de response nog een persoon met de volgende gegevens        |
    | heeft de response nog een persoon met alleen de volgende gegevens |

  Scenario Outline: Then '[aanduiding]' is found
    Given the person 'P1' with citizen service number '000000012'
    And the response body equals
      """
      {
        "personen": [
          {
            "burgerservicenummer": "000000012"
          }
        ]
      }
      """
    Then <stap definitie met hetzelfde gedrag>

    Examples:
      | stap definitie met hetzelfde gedrag |
      | wordt 'P1' gevonden                 |
      | wordt alleen 'P1' gevonden          |

  Scenario: Then the response has a person with the following data (several persons)
    Given the response body equals
    """
    {
      "personen": [
        {
          "burgerservicenummer": "000000012"
        },
        {
          "burgerservicenummer": "000000013"
        }
      ]
    }
    """
    Then the response has 2 persons
    And the response has a person with the following data
    | naam                | waarde    |
    | burgerservicenummer | 000000012 |
    And the response has another person with the following data
    | naam                | waarde    |
    | burgerservicenummer | 000000013 |

  Scenario Outline: Then '[aanduiding] en [aanduiding]' is found
    Given the person 'P1' with citizen service number '000000012'
    And the person 'P2' with citizen service number '000000013'
    And the response body equals
      """
      {
        "personen": [
          {
            "burgerservicenummer": "000000012"
          },
          {
            "burgerservicenummer": "000000013"
          }
        ]
      }
      """
    Then <stap definitie met hetzelfde gedrag>

    Examples:
      | stap definitie met hetzelfde gedrag |
      | worden 'P1, P2' gevonden            |
      | worden 'P1 en P2' gevonden          |
      | worden alleen 'P1 en P2' gevonden   |

  Scenario: Then '[aanduiding], [aanduiding] en [aanduiding]' is found
    Given the person 'P1' with citizen service number '000000012'
    And the person 'P2' with citizen service number '000000013'
    And the person 'P3' with citizen service number '000000014'
    And the response body equals
      """
      {
        "personen": [
          {
            "burgerservicenummer": "000000012"
          },
          {
            "burgerservicenummer": "000000013"
          },
          {
            "burgerservicenummer": "000000014"
          }
        ]
      }
      """
    Then <stap definitie met hetzelfde gedrag>

    Examples:
      | stap definitie met hetzelfde gedrag   |
      | worden 'P1, P2, P3' gevonden          |
      | worden 'P1, P2 en P3' gevonden        |
      | worden alleen 'P1, P2 en P3' gevonden |

  Scenario Outline: Then the response has a person with (only) the following '[gegevensgroep]' data
    Given the response body equals
    """
    {
      "personen": [
        {
          "naam": {
            "geslachtsnaam": "Jansen"
          }
        }
      ]
    }
    """
    Then <stap definitie met hetzelfde gedrag>
    | naam          | waarde |
    | geslachtsnaam | Jansen |

    Examples:
    | stap definitie met hetzelfde gedrag                                  |
    | heeft de response een persoon met de volgende 'naam' gegevens        |
    | heeft de response een persoon met alleen de volgende 'naam' gegevens |

  Scenario: Then the response has a person without data
    Given the response body equals
    """
    {
      "personen": [
        {}
      ]
    }
    """
    Then the response has a person without data

  Scenario: Then the response has a person without '[gegevensgroep]' data
    Given the response body equals
    """
    {
      "personen": [
        {
          "naam": {}
        }
      ]
    }
    """
    Then the response has a person without 'naam' data

  Scenario Outline: Then the person has (only) the following '[gegevensgroep]' data
    Given the response body equals
    """
    {
      "personen": [
        {
          "burgerservicenummer": "000000012",
          "geboorte": {
            "datum": "2022-05-06"
          }
        }
      ]
    }
    """
    Then the response has a person with the following data
    | burgerservicenummer |
    | 000000012           |
    And <stap definitie met hetzelfde gedrag>
    | naam  | waarde     |
    | datum | 2022-05-06 |

    Examples:
    | stap definitie met hetzelfde gedrag                     |
    | heeft de persoon de volgende 'geboorte' gegevens        |
    | heeft de persoon alleen de volgende 'geboorte' gegevens |

  Scenario: Then the person has no '[gegevensgroep]' data
    Given the response body equals
    """
    {
      "personen": [
        {
          "naam": {
            "geslachtsnaam": "Jansen"
          },
          "geboorte": {}
        }
      ]
    }
    """
    Then the response has a person with the following 'naam' data
    | naam          | waarde |
    | geslachtsnaam | Jansen |
    And the person has no 'geboorte' data

  Scenario: Then '[persoon aanduiding]' has '[gegevensgroep collectie]' with the following data
    Given the response body equals
      """
      {
        "personen": [
          {
            "<gegevensgroep collectie>": [
              {
                "naam": {
                  "geslachtsnaam": "Jansen"
                }
              },
              {
                "naam": {
                  "geslachtsnaam": "Pietersen"
                }
              }
            ]
          }
        ]
      }
      """
    Then 'Jan' has '<gegevensgroep collectie>' with the following data
      | naam.geslachtsnaam |
      | Jansen             |
      | Pietersen          |

    Examples:
      | gegevensgroep collectie |
      | kinderen                |
      | ouders                  |
      | partners                |