forked from VNG-Realisatie/Haal-Centraal-common
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpaginering.feature
98 lines (83 loc) · 6.55 KB
/
paginering.feature
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# language: nl
Functionaliteit: Als gemeente wil ik kunnen bladeren door een groot aantal resultaten
Zodat het aantal resultaten per aanroep beperkt is en de responsetijd zo kort mogelijk
Bladeren door de resultaten kan via de links first, previous, next en last.
Deze properties bevatten een uri die verwijst naar de eerste pagina, vorige pagina, volgende pagina en laatste pagina met resultaten.
Bladeren kan door gebruik van de parameter page.
De links first, previous, next en last worden alleen opgenomen in de response wanneer dit van toepassing is.
De provider kan ervoor kiezen de link last niet te leveren, om te voorkomen dat elke keer een volledige table scan nodig is om een enkele pagina te leveren.
Wanneer geen page parameter wordt meegegeven in het request, wordt de eerste pagina van het resultaat getoond.
Wanneer de opgegeven pagina met de page parameter hoger is dan het aantal pagina's resultaat, wordt een foutmelding getoond.
Achtergrond:
Gegeven de api toont maximaal 20 resultaten per pagina
En op pand met identificatie 0826100000000467 zijn er 72 nummeraanduidingen
En op pand met identificatie 0826100000000471 zijn er 2 nummeraanduidingen
Scenario: de zoekvraag levert meerdere pagina's en er wordt geen page parameter gebruikt
Als de request wordt gedaan naar /adressen?pandidentificatie=0826100000000467
Dan zitten er 20 adressen in het antwoord
En zijn dit adressen 1 tot en met 20 met deze pandidentificatie
En is attribuut _links.self.href gelijk aan "/adressen?pandidentificatie=0826100000000467"
En bevat het antwoord geen attribuut _links.first
En bevat het antwoord geen attribuut _links.previous
En is attribuut _links.next.href gelijk aan "/adressen?pandidentificatie=0826100000000467&page=2"
En is attribuut _links.last.href gelijk aan "/adressen?pandidentificatie=0826100000000467&page=4"
Scenario: de zoekvraag levert meerdere pagina's en met de page parameter wordt de eerste pagina gevraagd
Als de request wordt gedaan naar /adressen?pandidentificatie=0826100000000467&page=1
Dan zitten er 20 adressen in het antwoord
En zijn dit adressen 1 tot en met 20 met deze pandidentificatie
En is attribuut _links.self.href gelijk aan "/adressen?pandidentificatie=0826100000000467&page=1"
En bevat het antwoord geen attribuut _links.first
En bevat het antwoord geen attribuut _links.previous
En is attribuut _links.next.href gelijk aan "/adressen?pandidentificatie=0826100000000467&page=2"
En is attribuut _links.last.href gelijk aan "/adressen?pandidentificatie=0826100000000467&page=4"
Scenario: de zoekvraag levert meerdere pagina's en met de page parameter wordt een volgende pagina gevraagd
Als de request wordt gedaan naar /adressen?pandidentificatie=0826100000000467&page=3
Dan zitten er 20 adressen in het antwoord
En zijn dit adressen 41 tot en met 60 met deze pandidentificatie
En is attribuut _links.self.href gelijk aan "/adressen?pandidentificatie=0826100000000467&page=3"
En is attribuut _links.first.href gelijk aan "/adressen?pandidentificatie=0826100000000467&page=1"
En is attribuut _links.previous.href gelijk aan "/adressen?pandidentificatie=0826100000000467&page=2"
En is attribuut _links.next.href gelijk aan "/adressen?pandidentificatie=0826100000000467&page=4"
En is attribuut _links.last.href gelijk aan "/adressen?pandidentificatie=0826100000000467&page=4"
Scenario: de zoekvraag levert meerdere pagina's en met de page parameter wordt de laatste pagina gevraagd
Als de request wordt gedaan naar /adressen?pandidentificatie=0826100000000467&page=4
Dan zitten er 12 adressen in het antwoord
En zijn dit adressen 61 tot en met 72 met deze pandidentificatie
En is attribuut _links.self.href gelijk aan "/adressen?pandidentificatie=0826100000000467&page=4"
En is attribuut _links.first.href gelijk aan "/adressen?pandidentificatie=0826100000000467&page=1"
En is attribuut _links.previous.href gelijk aan "/adressen?pandidentificatie=0826100000000467&page=3"
En bevat het antwoord geen attribuut _links.next
En bevat het antwoord geen attribuut _links.last
Scenario: de zoekvraag levert meerdere pagina's en met de page parameter wordt een pagina bevraagd die niet bestaat
Als de request wordt gedaan naar /adressen?pandidentificatie=0826100000000467&page=15
Dan heeft het antwoord statuscode 400
En bevat het antwoord status met de waarde 400
En bevat het antwoord title met de waarde "Een of meerdere parameters zijn niet correct."
En bevat het antwoord instance met de waarde "/adressen?pandidentificatie=0826100000000467&page=15"
En bevat het antwoord invalidParams[0].name met de waarde "page"
En bevat het antwoord invalidParams[0].reason met de waarde "De opgegeven pagina bestaat niet."
En bevat het antwoord invalidParams[0].code met de waarde "page"
Scenario: de zoekvraag levert één pagina
Als de request wordt gedaan naar /adressen?pandidentificatie=0826100000000471
Dan zitten er 2 adressen in het antwoord
En is attribuut _links.self.href gelijk aan "/adressen?pandidentificatie=0826100000000471"
En bevat het antwoord geen attribuut _links.first
En bevat het antwoord geen attribuut _links.previous
En bevat het antwoord geen attribuut _links.next
En bevat het antwoord geen attribuut _links.last
Scenario: de zoekvraag levert geen resultaten
Als de request wordt gedaan naar /adressen?pandidentificatie=1234567890123456
Dan zitten er 0 adressen in het antwoord
En is attribuut _links.self.href gelijk aan "/adressen?pandidentificatie=1234567890123456"
En bevat het antwoord geen attribuut _links.first
En bevat het antwoord geen attribuut _links.previous
En bevat het antwoord geen attribuut _links.next
En bevat het antwoord geen attribuut _links.last
Scenario: de zoekvraag levert meerdere pagina's en de pageSize parameter wordt gebruikt
Als de request wordt gedaan naar /adressen?pandidentificatie=0826100000000467&page=3&pageSize=15
Dan zitten er 15 adressen in het antwoord
En is attribuut _links.self.href gelijk aan "/adressen?pandidentificatie=0826100000000467&page=3&pageSize=15"
En is attribuut _links.first.href gelijk aan "/adressen?pandidentificatie=0826100000000467&page=1&pageSize=15"
En is attribuut _links.previous.href gelijk aan "/adressen?pandidentificatie=0826100000000467&page=2&pageSize=15"
En is attribuut _links.next gelijk aan "/adressen?pandidentificatie=0826100000000467&page=4&pageSize=15"
En is attribuut _links.last gelijk aan "/adressen?pandidentificatie=0826100000000467&page=5&pageSize=15"