Skip to content

Commit e3ce838

Browse files
committed
test: Update test results, add bezoeker role tests, and expand Postman collection
- Add bezoeker (public visitor) test results with screenshots - Update all role-based test results (architectuur-expert, functioneel-beheerder, gemeente, leverancier, samenwerking, security-officer) - Refresh API issue test results for 120+ issues - Expand Postman test collection with new test cases - Update test skills with additional test scenarios - Fix ContactpersoonService minor code update - Add issue #457 (koppeling delete 400 error) - Update issues.md and aanvullende-informatie.md
1 parent 68f6c8a commit e3ce838

147 files changed

Lines changed: 3417 additions & 3327 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/skills/test-architectuur-expert.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ Sarah validates GEMMA compliance, reviews architecture decisions, and monitors c
2323
- **Browser**: Use Playwright MCP browser tools (prefixed `mcp__browser-N__`, where N is assigned by the orchestrator)
2424
- **Login URL**: `{FRONTEND}/login`
2525

26+
## Organization & Permissions Context
27+
28+
Sarah's account is in the Default Organisation (expected for VNG roles). The org permission system requires the internal Nextcloud org UUID to match a register object. If org fetch fails (404 in console), edit/delete buttons will be disabled — this is expected for VNG-raadpleger roles that primarily read/view rather than edit. Run `bash softwarecatalog/test-setup.sh` if org assignments are broken.
29+
2630
## Test Scope
2731

2832
### Primary Steps

.claude/skills/test-functioneel-beheerder.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,14 @@ Peter has full system access. He activates organizations, manages users, maintai
2424
- **Login URL**: `{FRONTEND}/login`
2525
- **Backend Admin**: `{BACKEND}/` ({ADMIN_USER}:{ADMIN_PASS})
2626

27+
## Organization & Permissions Context
28+
29+
Peter's account (`peter.vandijk@test.nl`) is in the Default Organisation. **Important**: the admin user (`admin`) has a known limitation — "Default Organisation" has no matching register object in `voorzieningen/organisatie`, which causes org fetch 404 errors and disables edit/delete in beheer.
30+
31+
- **For frontend beheer testing**: Log in as `peter.vandijk@test.nl` (NOT `admin`). Peter has full admin group membership and a proper org assignment.
32+
- **For Nextcloud backend testing** (OpenCatalogi admin, OpenRegister config): Use `admin:admin` via the backend URL — these features don't depend on the org permission system.
33+
- If you see "org fetch error" or disabled edit/delete buttons, the active org UUID doesn't have a matching register object. Run `bash softwarecatalog/test-setup.sh` to fix org assignments.
34+
2735
## Test Scope
2836

2937
### Primary Steps

.claude/skills/test-gemeente.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,16 @@ Maria manages her municipality's software landscape in the Softwarecatalogus. Sh
2323
- **Browser**: Use Playwright MCP browser tools (prefixed `mcp__browser-N__`, where N is assigned by the orchestrator)
2424
- **Login URL**: `{FRONTEND}/login`
2525

26+
## Organization & Permissions Context
27+
28+
Maria's active organization is **Test Gemeente**. The internal Nextcloud org UUID matches a register object in `voorzieningen/organisatie`, which is required for edit/delete permissions to work.
29+
30+
- **Beheer tables** show objects based on RBAC rules — gebruik-beheerder can see ALL objects (not just own org) for most schemas
31+
- **Edit/Delete buttons** require the org data fetch to succeed — if you see disabled actions or missing buttons, check for org fetch 404 errors in the console
32+
- **Do NOT test beheer as admin** — admin's "Default Organisation" has no register object, so org fetch always fails and permissions are broken
33+
- The test setup script (`bash softwarecatalog/test-setup.sh`) creates test objects as maria.vanderberg so they get the correct org assignment
34+
- If beheer tables are empty or missing expected test objects, run the test setup script
35+
2636
## Test Scope
2737

2838
### Primary Steps

.claude/skills/test-leverancier.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,16 @@ Jan manages his company's products in the Softwarecatalogus. He registers applic
2323
- **Browser**: Use Playwright MCP browser tools (prefixed `mcp__browser-N__`, where N is assigned by the orchestrator)
2424
- **Login URL**: `{FRONTEND}/login`
2525

26+
## Organization & Permissions Context
27+
28+
Jan's active organization is **Test Leverancier BV**. The internal Nextcloud org UUID matches a register object in `voorzieningen/organisatie`, which is required for edit/delete permissions to work.
29+
30+
- **Beheer tables** only show objects owned by Jan's org (RBAC scoping by `@self.organisation`)
31+
- **Edit/Delete buttons** require the org data fetch to succeed — if you see disabled actions or missing buttons, check for org fetch 404 errors in the console
32+
- **Do NOT test beheer as admin** — admin's "Default Organisation" has no register object, so org fetch always fails and permissions are broken
33+
- The test setup script (`bash softwarecatalog/test-setup.sh`) creates test objects as jan.pietersen so they get the correct org assignment
34+
- If beheer tables are empty, run the test setup script to create/verify test objects
35+
2636
## Test Scope
2737

2838
This agent tests the following steps from the test flow (`testen.md`):
@@ -126,6 +136,7 @@ This agent tests the following steps from the test flow (`testen.md`):
126136
| #453 | Zoeken: filters van slag met filter Type=Koppeling | Step 14 |
127137
| #454 | Wizard koppelingen: Reeds bestaande koppelingen voor worden niet gevonden | Step 11 |
128138
| #456 | Consistentie in werking van wizards | Step 7 |
139+
| #457 | Koppeling: verwijderen geeft een 400-error | Step 11 |
129140

130141
## Acceptance Criteria Reference
131142

.claude/skills/test-samenwerking.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ Linda represents a collaboration that acts as BOTH a supplier (offering shared s
2323
- **Browser**: Use Playwright MCP browser tools (prefixed `mcp__browser-N__`, where N is assigned by the orchestrator)
2424
- **Login URL**: `{FRONTEND}/login`
2525

26+
## Organization & Permissions Context
27+
28+
Linda's active organization is **Test Samenwerking**. The org permission system requires the internal Nextcloud org UUID to match a register object in `voorzieningen/organisatie`. If org fetch fails (404 in console), edit/delete buttons will be disabled. Do NOT test beheer features as `admin` — use the test persona accounts. Run `bash softwarecatalog/test-setup.sh` if org assignments are broken.
29+
2630
## Test Scope
2731

2832
### Primary Steps

.claude/skills/test-security-officer.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ Mark monitors security requirements, validates privacy implementations, and ensu
2323
- **Browser**: Use Playwright MCP browser tools (prefixed `mcp__browser-N__`, where N is assigned by the orchestrator)
2424
- **Login URL**: `{FRONTEND}/login`
2525

26+
## Organization & Permissions Context
27+
28+
Mark's active organization is **Test Gemeente** (same as Maria). The org permission system requires the internal Nextcloud org UUID to match a register object in `voorzieningen/organisatie`. If org fetch fails (404 in console), edit/delete buttons will be disabled. Do NOT test beheer features as `admin` — use the test persona accounts. Run `bash softwarecatalog/test-setup.sh` if org assignments are broken.
29+
2630
## Test Scope
2731

2832
### Primary Steps

aanvullende-informatie.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
> Alle issues zijn ook beschikbaar als individuele markdown bestanden in de [issues/](issues/) map (met beschrijving, reacties en afbeeldingen).
55
> Zie ook: [issues.md](issues.md) voor de volledige lijst met acceptatiecriteria per issue.
66
7-
**Totaal: 159 issues** | Open: 207 | Gesloten: 233
8-
**Laatste sync:** 2026-03-05 | +6 nieuwe issues (#451-#456) | +2 gesloten issues (#225, #315)
7+
**Totaal: 160 issues** | Open: 207 | Gesloten: 233
8+
**Laatste sync:** 2026-03-09 | +1 nieuw issue (#457)
99

1010
---
1111

@@ -317,9 +317,9 @@ Na het verwerken van elk issue, update deze tabel:
317317
---
318318

319319
## Open issues
320-
*76 issues*
320+
*77 issues*
321321

322-
### Bug (45)
322+
### Bug (46)
323323

324324
| # | Issue | Analyse | GitHub | Checked |
325325
|---|-------|---------|--------|--------|
@@ -368,6 +368,7 @@ Na het verwerken van elk issue, update deze tabel:
368368
| [454](issues/454.md) | Wizard koppelingen: Reeds bestaande koppelingen niet gevonden | Cross-supplier koppelingen niet zichtbaar in wizard | [#454](https://github.com/VNG-Realisatie/Softwarecatalogus/issues/454) | [ ] |
369369
| [455](issues/455.md) | Tabblad koppelingen en contactpersonen publiekelijk niet getoond | Koppelingen en contactpersonen tabs niet zichtbaar voor publiek (RBAC) | [#455](https://github.com/VNG-Realisatie/Softwarecatalogus/issues/455) | [ ] |
370370
| [456](issues/456.md) | Consistentie in werking van wizards | Wizard afsluiting inconsistent qua tekst, knoppen en flow | [#456](https://github.com/VNG-Realisatie/Softwarecatalogus/issues/456) | [ ] |
371+
| [457](issues/457.md) | Koppeling: verwijderen geeft een 400-error | DELETE koppeling retourneert 400 bij zowel geimporteerde als nieuwe koppelingen | [#457](https://github.com/VNG-Realisatie/Softwarecatalogus/issues/457) | [ ] |
371372

372373
### Datakwaliteit (10)
373374

issues.md

Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# Softwarecatalogus - Issues In Review
22

3-
**Date:** 2026-03-05
3+
**Date:** 2026-03-09
44
**Source:** [VNG-Realisatie Project Board #17, View 22](https://github.com/orgs/VNG-Realisatie/projects/17/views/22)
55

66
> Zie ook: [aanvullende-informatie.md](aanvullende-informatie.md) voor het overzicht van alle IGS-gelabelde issues (nieuw, overleg, review).
77
88
## Summary
99

1010
- **Total open issues on GitHub:** 207
11-
- **IGS issues (detailed with acceptance criteria):** 136 (was 130, +6 new issues)
11+
- **IGS issues (detailed with acceptance criteria):** 137 (was 136, +1 new issue)
1212
- **Other issues (summary table):** 79
1313
- **Issues closed since last update:** 58 (see closed list below)
1414
- **Reopened issues:** 3 (#6, #15, #23 — removed from closed list)
@@ -43,13 +43,17 @@ Previously closed (2026-02-22): #185, #266, #267, #286, #294, #300, #302, #307,
4343

4444
**Reopened:** #6, #15, #23 (previously listed as closed, now open again on GitHub)
4545

46+
### New Issues Added (2026-03-09)
47+
48+
1 new issue synced: #457
49+
4650
### New Issues Added (2026-03-04)
4751

4852
15 new issues synced: #187, #443, #444, #445, #446, #447, #448, #449, #450, #451, #452, #453, #454, #455, #456
4953

5054
---
5155

52-
## IGS Issues (In Review) — 136 issues
56+
## IGS Issues (In Review) — 137 issues
5357

5458
### #6: Als aanbod-beheerder wil ik kunnen registreren welke standaarden door mijn pakket worden ondersteund en eventueel testrapporten beschikbaar stellen
5559

@@ -2167,6 +2171,25 @@ Previously closed (2026-02-22): #185, #266, #267, #286, #294, #300, #302, #307,
21672171

21682172
---
21692173

2174+
### #457: Koppeling: verwijderen geeft een 400-error
2175+
2176+
**Labels:** Aanbod, IGS nieuw
2177+
**Test Step:** Step 11
2178+
2179+
**Summary:** Deleting a koppeling (both imported and newly created) returns a 400 error. The bug is reproducible via Dashboard > Koppelingen overzicht > Bekijken > Acties > Verwijderen. Tested with multiple koppelingen, including those without any gemeente usage.
2180+
2181+
**Acceptance Criteria:**
2182+
- [ ] [API] DELETE request for a koppeling object returns 200/204 (not 400)
2183+
- [ ] [API] Deleting a koppeling that has no gemeente usage succeeds without error
2184+
- [ ] [API] Deleting an imported koppeling succeeds without error
2185+
- [ ] [API] Deleting a newly created koppeling succeeds without error
2186+
- [ ] [UI] Clicking "Verwijderen" in the koppeling detail page removes the koppeling without error
2187+
- [ ] [UI] After successful deletion, the koppeling no longer appears in the koppelingen overzicht
2188+
2189+
**Key Context from Comments:** Bug reported by @Makkmetp. Affects both imported and manually created koppelingen. Related to koppeling management flow (Step 11). Screenshots show the 400 error in the browser.
2190+
2191+
---
2192+
21702193
### #187: Tekstvoorstellen
21712194

21722195
**Labels:** Tekstuele wijzigingen
@@ -3427,6 +3450,25 @@ Previously closed (2026-02-22): #185, #266, #267, #286, #294, #300, #302, #307,
34273450

34283451
---
34293452

3453+
### #457: Koppeling: verwijderen geeft een 400-error
3454+
3455+
**Labels:** Aanbod, IGS nieuw
3456+
**Test Step:** Step 11
3457+
3458+
**Summary:** Deleting a koppeling (both imported and newly created) returns a 400 error. The bug is reproducible via Dashboard > Koppelingen overzicht > Bekijken > Acties > Verwijderen. Tested with multiple koppelingen, including those without any gemeente usage.
3459+
3460+
**Acceptance Criteria:**
3461+
- [ ] [API] DELETE request for a koppeling object returns 200/204 (not 400)
3462+
- [ ] [API] Deleting a koppeling that has no gemeente usage succeeds without error
3463+
- [ ] [API] Deleting an imported koppeling succeeds without error
3464+
- [ ] [API] Deleting a newly created koppeling succeeds without error
3465+
- [ ] [UI] Clicking "Verwijderen" in the koppeling detail page removes the koppeling without error
3466+
- [ ] [UI] After successful deletion, the koppeling no longer appears in the koppelingen overzicht
3467+
3468+
**Key Context from Comments:** Bug reported by @Makkmetp. Affects both imported and manually created koppelingen. Related to koppeling management flow (Step 11). Screenshots show the 400 error in the browser.
3469+
3470+
---
3471+
34303472
### #187: Tekstvoorstellen
34313473

34323474
**Labels:** Aanbod, Tekstuele wijzigingen
@@ -3587,7 +3629,7 @@ The following issues are questions, PvE requirements, infrastructure tasks, test
35873629
| Step 7 | Product aanmaken (applicaties) | 36 | 2 | 38 |
35883630
| Step 9 | Dienst wizard | 17 | 0 | 17 |
35893631
| Step 10 | Gebruik melden en beheren | 9 | 1 | 10 |
3590-
| Step 11 | Koppeling wizard | 13 | 0 | 13 |
3632+
| Step 11 | Koppeling wizard | 14 | 0 | 14 |
35913633
| Step 12 | Privacy en zichtbaarheid | 4 | 4 | 8 |
35923634
| Step 13 | Excel export | 2 | 1 | 3 |
35933635
| Step 14 | Zoeken en resultaten | 12 | 2 | 14 |
@@ -3602,7 +3644,7 @@ The following issues are questions, PvE requirements, infrastructure tasks, test
36023644
| Step 24 | AMEFF export | 0 | 1 | 1 |
36033645
| General | Cross-cutting / multiple steps | 3 | 2 | 5 |
36043646
| Infra | Infrastructure / non-testable | 1 | 3 | 4 |
3605-
| **Total** | | **136** | **38** | **174** |
3647+
| **Total** | | **137** | **38** | **175** |
36063648

36073649
> Note: Some issues with broad scope (General/Infra) are not mapped to a specific test step.
36083650

issues/457.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# #457 — Koppeling: verwijderen geeft een 400-error
2+
3+
**Status:** OPEN | **Labels:** Aanbod, IGS nieuw
4+
**Auteur:** @Makkmetp | **Datum:** 2026-03-05
5+
**Link:** https://github.com/VNG-Realisatie/Softwarecatalogus/issues/457
6+
7+
---
8+
9+
## Beschrijving
10+
11+
Het verwijderen van een koppeling geeft een 400-error. Zowel bij een geimporteerde als nieuw aangemaakte leverancier.
12+
13+
Ga via Dashboard naar je koppelingen overzicht.
14+
Klik bij een koppeling op ... Acties op Bekijken.
15+
Verwijder via ...Acties > Verwijderen de koppeling
16+
17+
<img width="1161" height="784" alt="Image" src="https://github.com/user-attachments/assets/79ff1634-3267-4ac2-87cd-5ec29f2ad664" />
18+
19+
<img width="1211" height="596" alt="Image" src="https://github.com/user-attachments/assets/d4cedc14-051a-4cae-bbd9-d2bbdfeed63d" />
20+
21+
Dit is getest met meerdere koppelingen. Ook met koppelingen waar nog geen gebruik van wordt gemaakt door een gemeente.
22+
Graag ervoor zorgen dat koppelingen volgens integriteitsregels verwijderd kunnen worden en geen 400-error geven.
23+
24+
---
25+
26+
## Reacties (1)
27+
28+
### Reactie 1 — @github-actions (2026-03-05)
29+
30+
Bedankt voor het aanmaken van deze issue! 👋
31+
32+
Voor meer informatie over onze spelregels voor het schrijven van issues, bekijk alsjeblieft onze [issues.md](../../issues/issues.md) documentatie.
33+
34+
Belangrijke punten om te controleren:
35+
- ✍️ Is de beschrijving helder en compleet?
36+
- 📋 Zijn er duidelijke acceptatiecriteria toegevoegd?
37+
- 🎯 Is de context voldoende beschreven?

lib/Service/ContactpersoonService.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -218,8 +218,8 @@ public function processContactpersoon(object $contactpersoonObject, bool $isUpda
218218
if ($organisationEntity !== null && $organisationEntity->getActive() === true) {
219219
// Determine if this is the first contact for the organization.
220220
$isFirstContact = $this->contactPersonHandler->isFirstContactForOrganization(
221-
contactpersoonObject: $contactpersoonObject,
222-
contactData: $contactData
221+
contactObject: $contactpersoonObject,
222+
objectData: $contactData
223223
);
224224

225225
// Create user account - organization is active.

0 commit comments

Comments
 (0)