fix(tests): phones в фикстуре — list[dict], а не список строк
All checks were successful
CI Trade-In / changes (pull_request) Successful in 7s
CI / changes (pull_request) Successful in 9s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 4m36s
All checks were successful
CI Trade-In / changes (pull_request) Successful in 7s
CI / changes (pull_request) Successful in 9s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 4m36s
CI (там живой postgres, и эти два теста реально исполняются) поймал
ValidationError: ScrapedLot.phones — jsonb вида
[{countryCode, number, type}, ...] (019_listings_alter_cian.sql:41), а я
передавал ["+79000000000"].
Заодно проверено конструирование лота напрямую, без БД — это ловит любые
pydantic-ошибки, не дожидаясь прогона CI. Всплыла деталь, подтверждающая
разбор в самом фиксе: у бедного лота phones не None, а ПУСТОЙ СПИСОК.
Сборка параметров (`_to_json(lot.phones) if lot.phones else None`)
схлопывает его в None, то есть в SQL приходит NULL и COALESCE удерживает
прежнее значение. Если бы пустой список доезжал как '[]', фикс для phones
и metro_stations молча не работал бы.
Refs #3063
This commit is contained in:
parent
0cce97bd75
commit
85fc18dcb3
1 changed files with 3 additions and 1 deletions
|
|
@ -158,7 +158,9 @@ def _lot(src_id: str, *, rich: bool) -> ScrapedLot:
|
|||
extra = {
|
||||
"is_homeowner": True,
|
||||
"is_pro_seller": False,
|
||||
"phones": ["+79000000000"],
|
||||
# phones — jsonb вида [{countryCode, number, type}, ...]
|
||||
# (019_listings_alter_cian.sql:41), а не список строк.
|
||||
"phones": [{"countryCode": "+7", "number": "9000000000", "type": "mobile"}],
|
||||
"sale_type": "free",
|
||||
}
|
||||
return ScrapedLot(
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue