Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 12 additions & 5 deletions lib/Settings/example-sets/zuiddrecht.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,11 @@
"gid": "zuiddrecht-juridische-zaken",
"displayName": "Juridische zaken"
},
{
"key": "woo-en-informatie",
"gid": "zuiddrecht-woo-en-informatie",
"displayName": "Woo en informatie"
},
{
"key": "communicatie",
"gid": "zuiddrecht-communicatie",
Expand Down Expand Up @@ -276,7 +281,8 @@
"department": "Juridische zaken",
"groups": [
"medewerkers",
"juridische-zaken"
"juridische-zaken",
"woo-en-informatie"
],
"function": "Woo-coordinator"
},
Expand All @@ -289,12 +295,12 @@
"familyName": "Bakker",
"email": "anouk.bakker@zuiddrecht.example",
"role": "employee",
"department": "Juridische zaken",
"department": "Woo en informatie",
"groups": [
"medewerkers",
"juridische-zaken"
"woo-en-informatie"
],
"function": "Juridisch adviseur Woo"
"function": "Teamleider"
},
{
"key": "marleen",
Expand Down Expand Up @@ -324,7 +330,8 @@
"department": "Vergunningen",
"groups": [
"medewerkers",
"vergunningen"
"vergunningen",
"woo-en-informatie"
],
"function": "Behandelaar"
},
Expand Down
9 changes: 9 additions & 0 deletions openspec/changes/zuiddrecht-woo-team/proposal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## Why

The dossiq boards name a team, Woo en informatie. Pieter Jansen works in it, Anouk Bakker leads it, and it is the team on the Lindelaan Woo case and in the share dialog of a saved view. The Zuiddrecht cast had no such group, and it listed Anouk as a legal adviser in Juridische zaken.

## What Changes

- The cast gains the group `woo-en-informatie` (`zuiddrecht-woo-en-informatie`, "Woo en informatie").
- Pieter Jansen and Thomas Kuiper join that group.
- Anouk Bakker becomes the team leader of Woo en informatie.
12 changes: 12 additions & 0 deletions openspec/changes/zuiddrecht-woo-team/specs/example-sets/spec.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# example-sets Delta

## ADDED Requirements

### Requirement: The Zuiddrecht cast has the Woo en informatie team

The Zuiddrecht cast SHALL hold the group `woo-en-informatie`, displayed as "Woo en informatie", with Pieter Jansen, Thomas Kuiper and Anouk Bakker as members. Anouk Bakker SHALL be its team leader.

#### Scenario: Sharing a saved view with the team
- **GIVEN** the set is installed
- **WHEN** Pieter shares a saved view
- **THEN** the group "Woo en informatie" SHALL be offered, with three members
2 changes: 2 additions & 0 deletions openspec/changes/zuiddrecht-woo-team/tasks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- [x] T01 Cast group woo-en-informatie with Pieter, Thomas and Anouk; Anouk is its team leader
- [x] T02 PHPUnit: the shipped Zuiddrecht set names the team and its leader
6 changes: 5 additions & 1 deletion tests/Unit/Service/ExampleSet/ExampleSetCatalogueTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -112,14 +112,18 @@ public function testTheShippedZuiddrechtSetIsWhole(): void {
// The handler the dossiq boards draw as "u", who owns a saved view.
$pieter = $plan['cast']['people']['pieter'];
$this->assertSame(
expected: ['pieter', 'Pieter Jansen', ['vergunningen']],
expected: ['pieter', 'Pieter Jansen', ['vergunningen', 'woo-en-informatie']],
actual: [$pieter['uid'], $pieter['displayName'], array_values(array_diff($pieter['groups'], ['medewerkers']))]
);
// The jeugdteam's regisseur of the jeugdwet example case.
$this->assertSame(['fatma.kaya', ['sociaal-domein']], [$plan['cast']['people']['fatma']['uid'], array_values(array_diff($plan['cast']['people']['fatma']['groups'], ['medewerkers']))]);
$this->assertSame(['brp' => ['mock' => true], 'kvk' => ['mock' => true]], $plan['requires']);
$this->assertSame(['vergunningen'], array_values(array_diff($plan['cast']['people']['marleen']['groups'], ['medewerkers'])));
$this->assertSame('Teamleider', $plan['cast']['people']['marleen']['function']);
// The Woo team the dossiq boards name, led by Anouk Bakker.
$woo = array_keys(array_filter($plan['cast']['people'], static fn (array $p): bool => in_array('woo-en-informatie', ($p['groups'] ?? []), true)));
$this->assertSame(expected: ['thomas', 'anouk', 'pieter'], actual: $woo);
$this->assertSame(expected: ['Teamleider', 'Woo en informatie'], actual: [$plan['cast']['people']['anouk']['function'], $plan['cast']['people']['anouk']['department']]);
$this->assertNotContains('admin', array_column($plan['cast']['groups'], 'gid'));
$this->assertNotContains('noor', array_keys(array_filter($plan['cast']['people'], static fn (array $p): bool => in_array('admin', ($p['groups'] ?? []), true))));
$apps = json_decode((string) file_get_contents(dirname(__DIR__, 4).'/lib/Settings/example-sets/zuiddrecht.json'), true)['apps'];
Expand Down
Loading