docs: renvoie vers les conventions de tests
Ajoute test/ a la liste des prefixes de branches, deja utilise par la branche d'outillage frontend, et remplace le corps a trous du gabarit de repository par un exemple complet, que ruff format acceptait mal.
This commit is contained in:
@@ -79,6 +79,6 @@ curl -s localhost:8000/api/v1/health/ready
|
|||||||
|
|
||||||
## Conventions
|
## Conventions
|
||||||
|
|
||||||
- Branches : `feat/`, `fix/`, `chore/`, `docs/` suivi d'un libelle court.
|
- Branches : `feat/`, `fix/`, `chore/`, `docs/`, `test/` suivi d'un libelle court.
|
||||||
- Commits : Conventional Commits, portee = dossier de premier niveau concerne.
|
- Commits : Conventional Commits, portee = dossier de premier niveau concerne.
|
||||||
- Toute decision structurante donne lieu a un ADR dans `docs/adr`.
|
- Toute decision structurante donne lieu a un ADR dans `docs/adr`.
|
||||||
|
|||||||
@@ -41,6 +41,9 @@ uv run pytest # tests + couverture
|
|||||||
uv run pytest -m integration # tests exigeant une base joignable
|
uv run pytest -m integration # tests exigeant une base joignable
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Les conventions de tests, les gabarits et le detail des marqueurs sont dans
|
||||||
|
[`TESTING.md`](TESTING.md).
|
||||||
|
|
||||||
`pytest` ecarte par defaut les tests marques `integration`, pour que `make check` reste
|
`pytest` ecarte par defaut les tests marques `integration`, pour que `make check` reste
|
||||||
jouable sans Docker. Ces tests visent la base `enervision_test`, creee par
|
jouable sans Docker. Ces tests visent la base `enervision_test`, creee par
|
||||||
`db/init/110-test-database.sql` au premier demarrage du conteneur.
|
`db/init/110-test-database.sql` au premier demarrage du conteneur.
|
||||||
|
|||||||
@@ -104,10 +104,17 @@ marqueur `integration`, ecarte par defaut.
|
|||||||
import pytest
|
import pytest
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
|
|
||||||
|
from app.models.site import Site
|
||||||
|
from app.repositories.site import SiteRepository
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.integration
|
@pytest.mark.integration
|
||||||
async def test_repository_reads_back_what_it_wrote(session: AsyncSession) -> None:
|
async def test_repository_reads_back_what_it_wrote(session: AsyncSession) -> None:
|
||||||
...
|
repository = SiteRepository(session)
|
||||||
|
|
||||||
|
await repository.add(Site(name="Toulouse"))
|
||||||
|
|
||||||
|
assert await repository.by_name("Toulouse") is not None
|
||||||
```
|
```
|
||||||
|
|
||||||
## Marqueurs
|
## Marqueurs
|
||||||
|
|||||||
Reference in New Issue
Block a user