HAAL✻CENTRAAL English translation
BRP API / Personen / Features / fout-cases

Search by surname, given names and municipality of registration - error cases

#language: en

Feature: Search by surname, given names and municipality of registration - error cases

Rule: Geslachtsnaam, voornamen and gemeenteVanInschrijving are mandatory parameters

  @fout-case
  Scenario: The voornamen, geslachtsnaam and gemeenteVanInschrijving parameters have not been supplied
    When persons are searched with the following parameters
    | naam   | waarde                               |
    | type   | ZoekMetNaamEnGemeenteVanInschrijving |
    | fields | burgerservicenummer                  |
    Then the response has an object with the following data
    | naam     | waarde                                                                            |
    | type     | https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1                       |
    | title    | Een of meerdere parameters zijn niet correct.                                     |
    | status   | 400                                                                               |
    | detail   | De foutieve parameter(s) zijn: gemeenteVanInschrijving, geslachtsnaam, voornamen. |
    | code     | paramsValidation                                                                  |
    | instance | /haalcentraal/api/brp/personen                                                    |
    And the object has the following 'invalidParams' data
    | code     | name                    | reason                  |
    | required | gemeenteVanInschrijving | Parameter is verplicht. |
    | required | geslachtsnaam           | Parameter is verplicht. |
    | required | voornamen               | Parameter is verplicht. |

  @fout-case
  Scenario: Only the geslachtsnaam parameter has not been supplied
    When persons are searched with the following parameters
    | naam                    | waarde                               |
    | type                    | ZoekMetNaamEnGemeenteVanInschrijving |
    | voornamen               | Jan                                  |
    | gemeenteVanInschrijving | 0518                                 |
    | fields                  | burgerservicenummer                  |
    Then the response has an object with the following data
    | naam     | waarde                                                      |
    | type     | https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1 |
    | title    | Een of meerdere parameters zijn niet correct.               |
    | status   | 400                                                         |
    | detail   | De foutieve parameter(s) zijn: geslachtsnaam.               |
    | code     | paramsValidation                                            |
    | instance | /haalcentraal/api/brp/personen                              |
    And the object has the following 'invalidParams' data
    | code     | name          | reason                  |
    | required | geslachtsnaam | Parameter is verplicht. |

  @fout-case
  Scenario: Only the voornamen parameter has not been supplied
    When persons are searched with the following parameters
    | naam                    | waarde                               |
    | type                    | ZoekMetNaamEnGemeenteVanInschrijving |
    | geslachtsnaam           | Jansen                               |
    | gemeenteVanInschrijving | 0518                                 |
    | fields                  | burgerservicenummer                  |
    Then the response has an object with the following data
    | naam     | waarde                                                      |
    | type     | https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1 |
    | title    | Een of meerdere parameters zijn niet correct.               |
    | status   | 400                                                         |
    | detail   | De foutieve parameter(s) zijn: voornamen.                   |
    | code     | paramsValidation                                            |
    | instance | /haalcentraal/api/brp/personen                              |
    And the object has the following 'invalidParams' data
    | code     | name      | reason                  |
    | required | voornamen | Parameter is verplicht. |

  @fout-case
  Scenario: Only the gemeenteVanInschrijving parameter has not been supplied
    When persons are searched with the following parameters
    | naam          | waarde                               |
    | type          | ZoekMetNaamEnGemeenteVanInschrijving |
    | voornamen     | Jan                                  |
    | geslachtsnaam | Jansen                               |
    | fields        | burgerservicenummer                  |
    Then the response has an object with the following data
    | naam     | waarde                                                      |
    | type     | https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1 |
    | title    | Een of meerdere parameters zijn niet correct.               |
    | status   | 400                                                         |
    | detail   | De foutieve parameter(s) zijn: gemeenteVanInschrijving.     |
    | code     | paramsValidation                                            |
    | instance | /haalcentraal/api/brp/personen                              |
    And the object has the following 'invalidParams' data
    | code     | name                    | reason                  |
    | required | gemeenteVanInschrijving | Parameter is verplicht. |

  @fout-case
  Scenario: An empty string has been supplied as the voornamen, geslachtsnaam and municipality of registration value
    When persons are searched with the following parameters
    | naam                    | waarde                               |
    | type                    | ZoekMetNaamEnGemeenteVanInschrijving |
    | voornamen               |                                      |
    | geslachtsnaam           |                                      |
    | gemeenteVanInschrijving |                                      |
    | fields                  | burgerservicenummer                  |
    Then the response has an object with the following data
    | naam     | waarde                                                                            |
    | type     | https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1                       |
    | title    | Een of meerdere parameters zijn niet correct.                                     |
    | status   | 400                                                                               |
    | detail   | De foutieve parameter(s) zijn: gemeenteVanInschrijving, geslachtsnaam, voornamen. |
    | code     | paramsValidation                                                                  |
    | instance | /haalcentraal/api/brp/personen                                                    |
    And the object has the following 'invalidParams' data
    | code     | name                    | reason                  |
    | required | gemeenteVanInschrijving | Parameter is verplicht. |
    | required | geslachtsnaam           | Parameter is verplicht. |
    | required | voornamen               | Parameter is verplicht. |

  @fout-case
  Scenario Outline: <titel>
    When persons are searched with the following parameters
    | naam                    | waarde                               |
    | type                    | ZoekMetNaamEnGemeenteVanInschrijving |
    | voornamen               | <voornamen>                          |
    | geslachtsnaam           | <geslachtsnaam>                      |
    | gemeenteVanInschrijving | <gemeente van inschrijving>          |
    | fields                  | burgerservicenummer                  |
    Then the response has an object with the following data
    | naam     | waarde                                                      |
    | type     | https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1 |
    | title    | Een of meerdere parameters zijn niet correct.               |
    | status   | 400                                                         |
    | detail   | De foutieve parameter(s) zijn: <foutieve parameter>.        |
    | code     | paramsValidation                                            |
    | instance | /haalcentraal/api/brp/personen                              |
    And the object has the following 'invalidParams' data
    | code     | name                 | reason                  |
    | required | <foutieve parameter> | Parameter is verplicht. |

    Examples:
    | titel                                                             | voornamen | geslachtsnaam | gemeente van inschrijving | foutieve parameter      |
    | Een lege string is opgegeven als voornamen waarde                 |           | Jansen        | 0518                      | voornamen               |
    | Een lege string is opgegeven als geslachtsnaam waarde             | Jan       |               | 0518                      | geslachtsnaam           |
    | Een lege string is opgegeven als gemeente van inschrijving waarde | Jan       | Jansen        |                           | gemeenteVanInschrijving |

Rule: A geslachtsnaam is a string of at least 1 and at most 200 characters. These characters may be:
      - lower-case letters (a-z)
      - upper-case letters (A-Z)
      - diacritics (À-ž)
      - space ( ), period (.), minus (-) and the single quotation mark (')

  @fout-case
  Scenario Outline: <titel>
    When persons are searched with the following parameters
    | naam                    | waarde                               |
    | type                    | ZoekMetNaamEnGemeenteVanInschrijving |
    | voornamen               | Jan                                  |
    | geslachtsnaam           | <geslachtsnaam>                      |
    | gemeenteVanInschrijving | 0599                                 |
    | fields                  | burgerservicenummer                  |
    Then the response has an object with the following data
    | naam     | waarde                                                      |
    | type     | https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1 |
    | title    | Een of meerdere parameters zijn niet correct.               |
    | status   | 400                                                         |
    | detail   | De foutieve parameter(s) zijn: geslachtsnaam.               |
    | code     | paramsValidation                                            |
    | instance | /haalcentraal/api/brp/personen                              |
    And the object has the following 'invalidParams' data
    | code    | name          | reason                                                                                               |
    | pattern | geslachtsnaam | Waarde voldoet niet aan patroon ^[a-zA-Z0-9À-ž \.\-\']{1,200}$\|^[a-zA-Z0-9À-ž \.\-\']{3,199}\*{1}$. |

    Examples:
    | titel                                                     | geslachtsnaam                                                                                                                                                                                                       |
    | De opgegeven geslachtsnaam is meer dan 200 karakters lang | abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ |
    | De opgegeven geslachtsnaam bevat ongeldige karakters      | <script>alert('hello world');</script>                                                                                                                                                                              |

Rule: A geslachtsnaam with a wildcard is a string of at least 3 and at most 199 characters, ending with the "*" character. The remaining characters may be:
      - lower-case letters (a-z)
      - upper-case letters (A-Z)
      - diacritics (À-ž)
      - space ( ), period (.), minus (-) and the single quotation mark (')

  @fout-case
  Scenario Outline: The "*" wildcard character is not at the end of the geslachtsnaam parameter
    When persons are searched with the following parameters
    | naam                    | waarde                               |
    | type                    | ZoekMetNaamEnGemeenteVanInschrijving |
    | voornamen               | Jan                                  |
    | geslachtsnaam           | <geslachtsnaam filter>               |
    | gemeenteVanInschrijving | 0599                                 |
    | fields                  | burgerservicenummer                  |
    Then the response has an object with the following data
    | naam     | waarde                                                      |
    | type     | https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1 |
    | title    | Een of meerdere parameters zijn niet correct.               |
    | status   | 400                                                         |
    | detail   | De foutieve parameter(s) zijn: geslachtsnaam.               |
    | code     | paramsValidation                                            |
    | instance | /haalcentraal/api/brp/personen                              |
    And the object has the following 'invalidParams' data
    | code    | name          | reason                                                                                               |
    | pattern | geslachtsnaam | Waarde voldoet niet aan patroon ^[a-zA-Z0-9À-ž \.\-\']{1,200}$\|^[a-zA-Z0-9À-ž \.\-\']{3,199}\*{1}$. |

    Examples:
    | geslachtsnaam filter |
    | *sen                 |
    | *SEN                 |
    | Jan*sen              |

Rule: A voornamen value is a string of at least 1 and at most 200 characters. These characters may be:
      - lower-case letters (a-z)
      - upper-case letters (A-Z)
      - diacritics (À-ž)
      - space ( ), period (.), minus (-) and the single quotation mark (')

  @fout-case
  Scenario Outline: <titel>
    When persons are searched with the following parameters
    | naam                    | waarde                               |
    | type                    | ZoekMetNaamEnGemeenteVanInschrijving |
    | voornamen               | <voornamen>                          |
    | geslachtsnaam           | Jansen                               |
    | gemeenteVanInschrijving | 0599                                 |
    | fields                  | burgerservicenummer                  |
    Then the response has an object with the following data
    | naam     | waarde                                                      |
    | type     | https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1 |
    | title    | Een of meerdere parameters zijn niet correct.               |
    | status   | 400                                                         |
    | detail   | De foutieve parameter(s) zijn: voornamen.                   |
    | code     | paramsValidation                                            |
    | instance | /haalcentraal/api/brp/personen                              |
    And the object has the following 'invalidParams' data
    | code    | name      | reason                                                                                               |
    | pattern | voornamen | Waarde voldoet niet aan patroon ^[a-zA-Z0-9À-ž \.\-\']{1,200}$\|^[a-zA-Z0-9À-ž \.\-\']{3,199}\*{1}$. |

    Examples:
    | titel                                                 | voornamen                                                                                                                                                                                                           |
    | De opgegeven voornamen is meer dan 199 karakters lang | abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ |
    | De opgegeven voornamen bevat ongeldige karakters      | <script>alert('hello world');</script>                                                                                                                                                                              |

Rule: A voornamen value with a wildcard is a string of at least 1 and at most 199 characters, ending with the "*" character. The remaining characters may be:
      - lower-case letters (a-z)
      - upper-case letters (A-Z)
      - diacritics (À-ž)
      - space ( ), period (.), minus (-) and the single quotation mark (')

  @fout-case
  Scenario Outline: The "*" wildcard has been supplied as the first character of the voornamen parameter
    When persons are searched with the following parameters
    | naam                    | waarde                               |
    | type                    | ZoekMetNaamEnGemeenteVanInschrijving |
    | voornamen               | <voornamen>                          |
    | geslachtsnaam           | Jansen                               |
    | gemeenteVanInschrijving | 0599                                 |
    | fields                  | burgerservicenummer                  |
    Then the response has an object with the following data
    | naam     | waarde                                                      |
    | type     | https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1 |
    | title    | Een of meerdere parameters zijn niet correct.               |
    | status   | 400                                                         |
    | detail   | De foutieve parameter(s) zijn: voornamen.                   |
    | code     | paramsValidation                                            |
    | instance | /haalcentraal/api/brp/personen                              |
    And the object has the following 'invalidParams' data
    | code    | name      | reason                                                                                              |
    | pattern | voornamen | Waarde voldoet niet aan patroon ^[a-zA-Z0-9À-ž \.\-\']{1,200}$\|^[a-zA-Z0-9À-ž \.\-\']{3,199}\*{1}$. |

    Examples:
    | voornamen met wildcard |
    | *iet                   |
    | *ETER                  |

Rule: A gemeenteVanInschrijving value consists of 4 digits

  @fout-case
  Scenario Outline: <titel>
    When persons are searched with the following parameters
    | naam                    | waarde                               |
    | type                    | ZoekMetNaamEnGemeenteVanInschrijving |
    | voornamen               | Jan                                  |
    | geslachtsnaam           | Jansen                               |
    | gemeenteVanInschrijving | <gemeente code>                      |
    | fields                  | burgerservicenummer                  |
    Then the response has an object with the following data
    | naam     | waarde                                                      |
    | type     | https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1 |
    | title    | Een of meerdere parameters zijn niet correct.               |
    | status   | 400                                                         |
    | detail   | De foutieve parameter(s) zijn: gemeenteVanInschrijving.     |
    | code     | paramsValidation                                            |
    | instance | /haalcentraal/api/brp/personen                              |
    And the object has the following 'invalidParams' data
    | code    | name                    | reason                                      |
    | pattern | gemeenteVanInschrijving | Waarde voldoet niet aan patroon ^[0-9]{4}$. |

    Examples:
    | titel                                                                    | gemeente code                          |
    | De opgegeven gemeenteVanInschrijving waarde is minder dan 4 cijfers lang | 123                                    |
    | De opgegeven gemeenteVanInschrijving waarde is meer dan 4 cijfers lang   | 12345                                  |
    | De opgegeven gemeenteVanInschrijving waarde bevat ongeldige karakters    | <script>alert('hello world');</script> |

Rule: A voorvoegsel value is a string of at least 1 and at most 10 characters. These characters may be:
      - lower-case letters (a-z)
      - upper-case letters (A-Z)
      - space ( ) and the single quotation mark (')

  @fout-case
  Scenario: An invalid value has been supplied for the 'voorvoegsel' parameter
    When persons are searched with the following parameters
    | naam                    | waarde                                 |
    | type                    | ZoekMetNaamEnGemeenteVanInschrijving   |
    | voornamen               | Jan                                    |
    | geslachtsnaam           | Jansen                                 |
    | gemeenteVanInschrijving | 0599                                   |
    | voorvoegsel             | <script>alert('hello world');</script> |
    | fields                  | burgerservicenummer                    |
    Then the response has an object with the following data
    | naam     | waarde                                                      |
    | type     | https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1 |
    | title    | Een of meerdere parameters zijn niet correct.               |
    | status   | 400                                                         |
    | detail   | De foutieve parameter(s) zijn: voorvoegsel.                 |
    | code     | paramsValidation                                            |
    | instance | /haalcentraal/api/brp/personen                              |
    And the object has the following 'invalidParams' data
    | code    | name        | reason                                               |
    | pattern | voorvoegsel | Waarde voldoet niet aan patroon ^[a-zA-Z \']{1,10}$. |

Rule: The geslacht value is one character long and may be one of the following characters: M, m, V, v, O, o

  @fout-case
  Scenario Outline: An invalid value has been supplied for the 'geslacht' parameter
    When persons are searched with the following parameters
    | naam                    | waarde                               |
    | type                    | ZoekMetNaamEnGemeenteVanInschrijving |
    | voornamen               | Jan                                  |
    | geslachtsnaam           | Jansen                               |
    | gemeenteVanInschrijving | 0599                                 |
    | geslacht                | <geslacht>                           |
    | fields                  | burgerservicenummer                  |
    Then the response has an object with the following data
    | naam     | waarde                                                      |
    | type     | https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1 |
    | title    | Een of meerdere parameters zijn niet correct.               |
    | status   | 400                                                         |
    | detail   | De foutieve parameter(s) zijn: geslacht.                    |
    | code     | paramsValidation                                            |
    | instance | /haalcentraal/api/brp/personen                              |
    And the object has the following 'invalidParams' data
    | code    | name     | reason                                                |
    | pattern | geslacht | Waarde voldoet niet aan patroon ^([Mm]\|[Vv]\|[Oo])$. |

    Examples:
    | geslacht                               |
    | N                                      |
    | <script>alert('hello world');</script> |

Rule: inclusiefOverledenPersonen is a boolean (a true or false value)

  @fout-case
  Scenario Outline: An invalid value has been supplied for the 'inclusiefOverledenPersonen' parameter
    When persons are searched with the following parameters
    | naam                       | waarde                               |
    | type                       | ZoekMetNaamEnGemeenteVanInschrijving |
    | voornamen                  | Jan                                  |
    | geslachtsnaam              | Jansen                               |
    | gemeenteVanInschrijving    | 0599                                 |
    | fields                     | burgerservicenummer                  |
    | inclusiefOverledenPersonen | <inclusief overleden personen>       |
    Then the response has an object with the following data
    | naam     | waarde                                                      |
    | type     | https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1 |
    | title    | Een of meerdere parameters zijn niet correct.               |
    | status   | 400                                                         |
    | detail   | De foutieve parameter(s) zijn: inclusiefOverledenPersonen.  |
    | code     | paramsValidation                                            |
    | instance | /haalcentraal/api/brp/personen                              |
    And the object has the following 'invalidParams' data
    | code    | name                       | reason                  |
    | boolean | inclusiefOverledenPersonen | Waarde is geen boolean. |

    Examples:
    | inclusief overleden personen |
    |                              |
    | geen boolean                 |

Rule: Only the parameters specified for the search type supplied may be used

  @fout-case
  Scenario Outline: <titel>
    When persons are searched with the following parameters
    | naam                    | waarde                               |
    | type                    | ZoekMetNaamEnGemeenteVanInschrijving |
    | voornamen               | Jan                                  |
    | geslachtsnaam           | Jansen                               |
    | gemeenteVanInschrijving | 0599                                 |
    | <parameter>             | <waarde>                             |
    | fields                  | burgerservicenummer                  |
    Then the response has an object with the following data
    | naam     | waarde                                                      |
    | type     | https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1 |
    | title    | Een of meerdere parameters zijn niet correct.               |
    | status   | 400                                                         |
    | detail   | De foutieve parameter(s) zijn: <parameter>.                 |
    | code     | paramsValidation                                            |
    | instance | /haalcentraal/api/brp/personen                              |
    And the object has the following 'invalidParams' data
    | code         | name        | reason                      |
    | unknownParam | <parameter> | Parameter is niet verwacht. |

    Examples:
    | titel                                     | parameter    | waarde     |
    | zoeken met parameter uit ander zoektype   | postcode     | 1234AB     |
    | typfout in naam optionele parameter       | voorvoegsels | van der    |
    | zoeken met niet gespecificeerde parameter | bestaatNiet  | een waarde |