HAALCENTRAAL English translation
BRP API / Personen / Features / fout-cases-gba

Consult by citizen service number - error cases

#language: en

@gba
Feature: Consult by citizen service number - error cases

Rule: The burgerservicenummer parameter is a mandatory parameter

  @fout-case
  Scenario: The burgerservicenummer parameter has not been supplied
    When gba persons are searched with the following parameters
    | naam   | waarde                          |
    | type   | RaadpleegMetBurgerservicenummer |
    | 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: burgerservicenummer.         |
    | code     | paramsValidation                                            |
    | instance | /haalcentraal/api/brp/personen                              |
    And the object has the following 'invalidParams' data
    | code     | name                | reason                  |
    | required | burgerservicenummer | Parameter is verplicht. |

Rule: The burgerservicenummer parameter contains a list with at least one citizen service number

  @fout-case
  Scenario Outline: The burgerservicenummer parameter contains an empty list
    When gba persons are searched with the following parameters
    | naam                | waarde                          |
    | type                | RaadpleegMetBurgerservicenummer |
    | burgerservicenummer |                                 |
    | 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: burgerservicenummer.         |
    | code     | paramsValidation                                            |
    | instance | /haalcentraal/api/brp/personen                              |
    And the object has the following 'invalidParams' data
    | code     | name                | reason                          |
    | minItems | burgerservicenummer | Array bevat minder dan 1 items. |

  @fout-case
  Scenario: The burgerservicenummer parameter contains a string of citizen service numbers separated by a comma
    When gba persons are searched with the following parameters
    | naam                             | waarde                          |
    | type                             | RaadpleegMetBurgerservicenummer |
    | burgerservicenummer (als string) | 999994086,999994086,999994086   |
    | 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: burgerservicenummer.         |
    | code     | paramsValidation                                            |
    | instance | /haalcentraal/api/brp/personen                              |
    And the object has the following 'invalidParams' data
    | code  | name                | reason                   |
    | array | burgerservicenummer | Parameter is geen array. |

Rule: A citizen service number is a string of exactly 9 digits

  @fout-case
  Scenario Outline: <titel>
    When gba persons are searched with the following parameters
    | naam                | waarde                          |
    | type                | RaadpleegMetBurgerservicenummer |
    | burgerservicenummer | <burgerservicenummers>          |
    | 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: burgerservicenummer[0].      |
    | code     | paramsValidation                                            |
    | instance | /haalcentraal/api/brp/personen                              |
    And the object has the following 'invalidParams' data
    | code    | name                   | reason                                      |
    | pattern | burgerservicenummer[0] | Waarde voldoet niet aan patroon ^[0-9]{9}$. |

    Examples:
    | burgerservicenummers       | titel                                                                       |
    | 12345678                   | De opgegeven burgerservicenummer is een string met minder dan negen cijfers |
    | 1234567890                 | De opgegeven burgerservicenummer is een string met meer dan negen cijfers   |
    | <script>123456789</script> | De opgegeven burgerservicenummer bevat niet-cijfer karakters                |

  @fout-case
  Scenario: The burgerservicenummer parameter contains several invalid citizen service numbers
    When gba persons are searched with the following parameters
    | naam                | waarde                          |
    | type                | RaadpleegMetBurgerservicenummer |
    | burgerservicenummer | 1234567890,123456789,1234567890 |
    | 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: burgerservicenummer[0], burgerservicenummer[2]. |
    | code     | paramsValidation                                                               |
    | instance | /haalcentraal/api/brp/personen                                                 |
    And the object has the following 'invalidParams' data
    | code    | name                   | reason                                      |
    | pattern | burgerservicenummer[0] | Waarde voldoet niet aan patroon ^[0-9]{9}$. |
    | pattern | burgerservicenummer[2] | Waarde voldoet niet aan patroon ^[0-9]{9}$. |

Rule: The burgerservicenummer parameter contains a list of at most 20 citizen service numbers

  @fout-case
  Scenario: The burgerservicenummer parameter contains more than 20 citizen service numbers
    When gba persons are searched with the following parameters
    | naam                | waarde                                                                                                                                                                                                            |
    | type                | RaadpleegMetBurgerservicenummer                                                                                                                                                                                   |
    | burgerservicenummer | 999999321,999995492,999991802,999995492,999991802,999995492,999991802,999995492,999991802,999995492,999991802,999995492,999991802,999995492,999991802,999995492,999991802,999995492,999991802,999995492,999991802 |
    | 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: burgerservicenummer.         |
    | code     | paramsValidation                                            |
    | instance | /haalcentraal/api/brp/personen                              |
    And the object has the following 'invalidParams' data
    | code     | name                | reason                         |
    | maxItems | burgerservicenummer | Array bevat meer dan 20 items. |

Rule: A gemeenteVanInschrijving value consists of 4 digits

  @fout-case
  Scenario Outline: <titel>
    When gba persons are searched with the following parameters
    | naam                    | waarde                          |
    | type                    | RaadpleegMetBurgerservicenummer |
    | burgerservicenummer     | 999999321,999995492             |
    | 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: Only the parameters specified for the search type supplied may be used

  @fout-case
  Scenario Outline: <titel>
    When gba persons are searched with the following parameters
    | naam                    | waarde                          |
    | type                    | RaadpleegMetBurgerservicenummer |
    | burgerservicenummer     | 999999321                       |
    | <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   | voornamen              | Pietje     |
    | typfout in naam optionele parameter       | gemeenteVanInschijving | 0363       |
    | zoeken met niet gespecificeerde parameter | bestaatNiet            | een waarde |