Skip to content
This repository has been archived by the owner on May 26, 2024. It is now read-only.

Unhappy flow eenvoudig huwelijk #276

Open
wants to merge 21 commits into
base: main
Choose a base branch
from
Open
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
2 changes: 1 addition & 1 deletion .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ dist
build
tmp
generated/
playwright-report/

27 changes: 0 additions & 27 deletions .github/workflows/continuous-delivery.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,30 +76,3 @@ jobs:
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

test:
timeout-minutes: 60
needs: continuous-integration
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
- name: Install dependencies
run: npm ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: "Restore build artifact"
uses: actions/download-artifact@v3
with:
name: build
path: .next/
- name: Run Playwright tests
run: npm run test:e2e
- uses: actions/upload-artifact@v3
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,4 @@ yarn-error.log*
*.tsbuildinfo
src/generated/
/public/favicon.ico
playwright-report/
.cache/
2 changes: 1 addition & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ CHANGELOG.md
package.json
package-lock.json
src/generated/
playwright-report/

48 changes: 48 additions & 0 deletions cucumber-messages.ndjson

Large diffs are not rendered by default.

Empty file added cucumber-report.json
Empty file.
110 changes: 110 additions & 0 deletions features/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# Richtlijnen voor het schrijven van feature files van de huwelijksplanner

## Bronnen waarop de scenarios zijn gebaseerd

[Utrecht Huwelijksplanner Frameless](https://utrecht-huwelijksplanner.frameless.io/)

[Huwelijksplanner gemeente Utrecht (MVP)](https://github.com/frameless/wiki/wiki/Huwelijksplanner-gemeente-Utrecht)

## Voorbeeld Scenario

```
## stap "1"
Scenario: Ik wil zien dat ik op de trouw-opties pagina ben
Gegeven dat ik op de "/trouw-opties" pagina ben
Dan zie ik de heading "Trouwen of geregistreerd partnerschap"
En ben ik op stap "1"
En zie ik een "Trouwen plannen" button

```

## Richtlijnen

### Gherkin Keywords

1. De Gherkin keywords Functionaliteit en Scenario worden altijd gevolgd door een `:`.
2. Het eerste woord na elke Functionaliteit en Scenario Gherkin keyword krijgt een hoofdletter.
3. Het eerste woord na elk andere Gherkin keywoord krijgt een kleine letter.

### Web pagina's

1. De woorden waaruit de naam van de pagina bestaat, zijn afkomstig van de url van dezelfde pagina, na de `/` symbool.
2. De woorden waaruit de naam van de pagina bestaat, worden zonder `-` geschreven met een spatie ertussen.
3. De namen van de paginas worden in kleine letters geschreven.
4. De namen van de paginas worden altijd geschreven tussen `" "`.
5. De namen van de paginas tussen dubbele aanhalingstekens worden altijd gevolgd door het woord `pagina` met een spatie ertussen.

#### Voorbeeld

```
https://utrecht-huwelijksplanner.frameless.io/trouw-opties

Gegeven dat ik ben op de "trouw opties" pagina
```

### Headings

1. De woorden waaruit de naam van de heading bestaat, zijn afkomstig van de heading van dezelfde pagina.
2. De woorden waaruit de naam van de heading bestaat, zijn geschreven zoals ze op de website verschijnen met inachtneming van spaties, symbolen en hoofdletters.
3. De naam van de heading is altijd geschreven tussen `" "`.
4. Voor de naam van de heading tussen dubbele aanhalingstekens komt altijd het woord `heading` met een spatie ertussen.

#### Voorbeeld

```
<h1>Trouwen of geregistreerd partnerschap</h1>

En ik zie de heading "Trouwen of geregistreerd partnerschap"
```

### Steps

1. De scenarios zijn gegroepeerd per stap van de huwelijksplanner.
2. Elke stap groep is aangegeven met een comment Voorbeeld: `## stap "1" `.
3. Als de stap verandert binnen een scenario staat dat binnen het `Dan` codeblock met het keywoord `En`.
4. Het nummer van elke stap wordt als cijfer gegeven tussen `" "`.
5. Het nummer van elke stap wordt altijd voorafgegaan door het woord `step` met een spatie ertussen.

#### Voorbeeld

```
Dan word ik naar de "trouw opties huwelijk" pagina gestuurd
En ik ben op step "2"
```

### Buttons

1. Een button wordt aangegeven met de tekst zoals deze op de button staat.
2. De button tekst in het scenario is precies hetzelfde als op de website. Dus inclusief hoofdletters, kleine letters, spaties en symbolen.
3. De namen van een buttons worden altijd geschreven tussen `" "`.
4. De namen van een button tussen haakjes wordt altijd gevolgd door het woord `button` met een spatie ertussen.

#### Voorbeeld

```
<button>Trouwen plannen</button>

En ik kan een "Trouwen plannen" button zien
Wanneer ik op de "Trouwen plannen" button klik
```

### Links

1. Een link wordt aangegeven met de tekst zoals deze op de link staat.
2. De link tekst in het scenario is precies hetzelfde als op de website. Dus inclusief hoofdletters, kleine letters, spaties en symbolen.
3. De namen van de links worden altijd geschreven tussen `" "`.
4. De namen van de links tussen dubbele aanhalingstekens worden altijd gevolgd door het woord `link` met een spatie ertussen.

#### Voorbeeld

```
<a href="url">Neem contact op met de gemeente</a>

En ik zie een "Neem contact op met de gemeente" link
```

## Extra Rules

1. Het document wordt in het Nederlands geschreven.
2. De feature files zijn in Gherkin geschreven.
3. De scenario's zijn standaard vanuit het perspectief van `Partner 1` geschreven. Wanneer het scenario vanuit een ander perspectief is, staat dat in het `Gegeven` codeblock.
46 changes: 46 additions & 0 deletions features/annulering-eenvoudig-huwelijk.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
@validate-flow
Scenario: We willen de reservering voor het huwelijk annuleren
Gegeven dat ik op de "voorgenomen-huwelijk/betalen/succes" pagina ben
En dat ik de heading "Betaling ontvangen" zie
En dat ik de link "Annuleer huwelijk" zie
Wanneer ik op de "Annuleer huwelijk" link klik
Dan word ik naar de "huwelijksplanner-cancel" pagina gestuurd

@validate-flow
Scenario: We willen zien dat we op de "huwelijksplanner-cancel" pagina zijn
Gegeven dat ik op de "huwelijksplanner-cancel" pagina ben
Dan zie ik de heading "Annuleer huwelijksreservering"
En zie ik een "Annuleer reservering" button
En zie ik een "Nee, ik wil terug naar het overzicht" link


@validate-flow
Scenario: We willen de annulering reservering voor het huwelijk bevestigen
Gegeven dat ik op de "huwelijksplanner-cancel" pagina ben
En dat ik de heading "Annuleer huwelijksreservering" zie
En dat ik de button "Annuleer reservering" zie
Wanneer ik op de "Annuleer reservering" button klik
Dan word ik naar de "huwelijksplanner-cancel/succes" pagina gestuurd
En krijg ik een bevestiging dat de reservering voor het huwelijk geannuleerd is
En krijg ik een bevestiging dat een email wordt gestuurd naar Partner 2
En krijg ik een bevestiging dat een email wordt gestuurd naar elk getuigen


@validate-flow
Scenario: We willen terug naar het huwelijksoverzicht
Gegeven dat ik op de "huwelijksplanner-cancel" pagina ben
En dat ik de heading "Annuleer huwelijksreservering" zie
En dat ik de link "Nee, ik wil terug naar het overzicht" zie
Wanneer ik op de "Nee, ik wil terug naar het overzicht" link klik
Dan word ik naar de "voorgenomen-huwelijk/betalen/succes" pagina gestuurd

#extra voor een toekomstige versie
# Scenario: De huwelijk wordt automatisch gecancelled door de overlijden van een van de partners
# Gegeven dat een van de partner overleden is
# Wanneer de regering weet dat een van de partner overleden is
# Dan krijg ik een bevestiging dat de reservering voor het huwelijk geannuleerd is
# En krijg ik een bevestiging dat de betaling wordt teruggestort op de rekening
# En krijg ik een bevestiging dat een email wordt gestuurd naar elk getuigen



Loading