Conversation
ae7b5d2 to
bd0fb09
Compare
bd0fb09 to
6bf3c9c
Compare
taaylor
left a comment
There was a problem hiding this comment.
Оставил комменты, если будут вопросы - спрашивай и пингуй в дс
ByrDen
left a comment
There was a problem hiding this comment.
Выглядит неплохо :)
Старался подробно расписывать, если что-то не понятно, буду рад объяснить в треде таски
42c024e to
6f05218
Compare
ByrDen
left a comment
There was a problem hiding this comment.
чуть-чуть нашлось новенького)
57f39b9 to
4dc388c
Compare
05fb9ab to
b513496
Compare
6f3020f to
7eaed2d
Compare
59243bd to
c1a8ac5
Compare
c1a8ac5 to
6d72584
Compare
6d72584 to
e783caf
Compare
e783caf to
1ee4ca9
Compare
1ee4ca9 to
0fd7776
Compare
0fd7776 to
145f361
Compare
ByrDen
left a comment
There was a problem hiding this comment.
Всё гуд, парочка новых. И один не закрыл - решение ты придумал, но оно около костыльное. Подробности в ДС.
145f361 to
1c9c65f
Compare
1c9c65f to
908ed8f
Compare
87ce1f1 to
ab518d3
Compare
| ) | ||
|
|
||
|
|
||
| async def test_promocode_creation_promocode_already_exist( |
There was a problem hiding this comment.
typo(if-minor): exist -> exists, точно также, как в ошибке
| ], | ||
| ) | ||
| async def test_promocode_retrieving_promocode_not_found( | ||
| mub_client: TestClient, path: str, field_by: str |
There was a problem hiding this comment.
polish: запятая на конце позволит сложить это получше
There was a problem hiding this comment.
Аналогично в тестах ниже, где куча аргументов в одну строчку
|
|
||
|
|
||
| @pytest.mark.parametrize( | ||
| ("path", "field_by"), |
There was a problem hiding this comment.
polish: field_by нелогичное название ("поле по")
| promocodes: list[Promocode] = [ | ||
| await Promocode.create( | ||
| **LimitedPromocodeInputFactory.build_python( | ||
| code=faker.unique.pystr(min_chars=2, max_chars=10) |
There was a problem hiding this comment.
issue(repeat): faker.unique не лучшее решение для большого количества кодов и для глобального faker-а (а он у нас именно такой). Обговаривали, что коды надо генерить так, чтобы они гарантированно генерились разные. Раньше идея была практически корректная, не хватало только нижней границы. Сейчас стало хуже
| @pytest.fixture() | ||
| async def promocode(active_session: ActiveSession) -> Promocode: | ||
| async with active_session(): | ||
| return await Promocode.create( | ||
| **factories.LimitedPromocodeInputFactory.build_python() | ||
| ) | ||
|
|
||
|
|
||
| @pytest.fixture() | ||
| async def promocode_data(promocode: Promocode) -> AnyJSON: | ||
| return Promocode.ResponseSchema.model_validate(promocode).model_dump(mode="json") | ||
|
|
||
|
|
||
| @pytest.fixture() | ||
| async def other_promocode(active_session: ActiveSession) -> Promocode: | ||
| async with active_session(): | ||
| return await Promocode.create( | ||
| **factories.LimitedPromocodeInputFactory.build_python() | ||
| ) |
There was a problem hiding this comment.
issue: нет гарантии, что у promocode и other_promocode не совпадут поля code. Это создаёт flaky-тесты
ab518d3 to
836433f
Compare
836433f to
2810a47
Compare
ссылка на таск: https://github.com/xi-effect/xi.progress/issues/14