frenzymadness / donors_registry

Registry of blood donors for Czech Red Cross in Frýdek-Místek.
MIT License
4 stars 5 forks source link

Code coverage a vylepšené testy #160

Closed frenzymadness closed 3 years ago

frenzymadness commented 3 years ago

Tohle bude možná trošku kontroverzní, ale třeba se to ujme. Zkusmo jsem zapnul coverage a změřil pokrytí kódu testy, výsledek mě mile překvapil:

Name                          Stmts   Miss  Cover
-------------------------------------------------
registry/__init__.py              0      0   100%
registry/app.py                  51      0   100%
registry/batch/__init__.py        1      0   100%
registry/batch/forms.py          54      2    96%
registry/batch/utils.py          77      2    97%
registry/batch/views.py          73      1    99%
registry/commands.py             25     10    60%
registry/donor/__init__.py        1      0   100%
registry/donor/forms.py          30      0   100%
registry/donor/models.py        114     32    72%
registry/donor/views.py         133     22    83%
registry/extensions.py           20      0   100%
registry/list/__init__.py         0      0   100%
registry/list/models.py          14      0   100%
registry/public/__init__.py       1      0   100%
registry/public/forms.py         25      7    72%
registry/public/views.py         47      5    89%
registry/settings.py             14     14     0%
registry/user/__init__.py         1      0   100%
registry/user/models.py          17      0   100%
registry/user/views.py            2      0   100%
registry/utils.py                30      0   100%
-------------------------------------------------
TOTAL                           730     95    87%

A protože ke stovce moc nechybělo, rozhodl jsem se zkusit, kolik práce by bylo se na 100 % dostat a zda by to něco přineslo. A výsledek?

Name                          Stmts   Miss  Cover
-------------------------------------------------
registry/__init__.py              0      0   100%
registry/app.py                  51      0   100%
registry/batch/__init__.py        1      0   100%
registry/batch/forms.py          50      0   100%
registry/batch/utils.py          77      0   100%
registry/batch/views.py          73      0   100%
registry/commands.py             26      0   100%
registry/donor/__init__.py        1      0   100%
registry/donor/forms.py          47      0   100%
registry/donor/models.py        114      0   100%
registry/donor/views.py         124      0   100%
registry/extensions.py           20      0   100%
registry/list/__init__.py         0      0   100%
registry/list/models.py          14      0   100%
registry/public/__init__.py       1      0   100%
registry/public/forms.py         25      0   100%
registry/public/views.py         46      0   100%
registry/settings.py             14      0   100%
registry/user/__init__.py         1      0   100%
registry/user/models.py          17      0   100%
registry/user/views.py            2      0   100%
registry/utils.py                29      0   100%
-------------------------------------------------
TOTAL                           733      0   100%

Jen velmi málo kódu vzniklo jen pro to, abych takového čísla dosáhl, zbytek jsou užitečné úpravy a testy funkcionalit, které nám z různých důdodů chyběly. V bodech:

frenzymadness commented 3 years ago

Testy registry/settings.py jsem nakonec vyhodil, protože nefungovaly v CI bez konfigurace proměnných prostředí či .env souboru, který už v základu ani není potřeba.

frenzymadness commented 3 years ago

Udělal jsem rebase, vyřešil konflikty a dodělal nějaké testy, abychom se opět dostali na 100 %.

frenzymadness commented 3 years ago

And do the proposed commands work?

Yes, they do.

Added in the latest fixup commit.