From 64adbd51ac2f5e41d2da8136f4d5730f0cd1604e Mon Sep 17 00:00:00 2001 From: Mateus Abreu de Andrade Date: Wed, 11 Mar 2026 15:21:01 +0100 Subject: [PATCH] fix(programmatic_step_generation): clean-up and fixes wallet.py - changed: from dataclasses import dataclass - added: verified: bool wallet_factory.py - added: verified = False wallet_steps.py - removed: import pytest - removed: from pytest_bdd import when, scenarios - added: @then ... def _(request, --- README.rst | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/README.rst b/README.rst index e25222f48..fda800e4c 100644 --- a/README.rst +++ b/README.rst @@ -1260,7 +1260,7 @@ Let's look at a concrete example; let's say you have a class ``Wallet`` that has # contents of wallet.py - import dataclass + from dataclasses import dataclass @dataclass class Wallet: @@ -1287,6 +1287,7 @@ You can use pytest-factoryboy to automatically create model fixtures for this cl class Meta: model = Wallet + verified = False amount_eur = 0 amount_usd = 0 amount_gbp = 0 @@ -1305,9 +1306,7 @@ Now we can define a function ``generate_wallet_steps(...)`` that creates the ste import re from dataclasses import fields - import factory - import pytest - from pytest_bdd import given, when, then, scenarios, parsers + from pytest_bdd import given, then, parsers def generate_wallet_steps(model_name="wallet", stacklevel=1): @@ -1338,7 +1337,7 @@ Now we can define a function ``generate_wallet_steps(...)`` that creates the ste parsers.parse(f"I should have {{value:d}} {currency.upper()} in my {human_name}"), stacklevel=stacklevel, ) - def _(value: int, _currency=currency, _model_name=model_name) -> None: + def _(request, value: int, _currency=currency, _model_name=model_name) -> None: wallet = request.getfixturevalue(_model_name) assert getattr(wallet, f"amount_{_currency}") == value