test(tradein): align yandex history tests с batch-executemany (unblock deploy) #851
No reviewers
Labels
No labels
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
Fable 5 ревью
feedback/max
generative
GG-форсайт
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
вторичка
ИРД
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#851
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "fix/tradein-yandex-history-tests-batch"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Разблокирует деплой tradein. CI job
test(deploy-tradein.yml) падал на 2 устаревших тестах → build+deploy скипались для ЛЮБОГО merge в main (прод-образ застрял на 20:03, cian-фикс #840 и др. не доезжали).Причина:
_save_yandex_history_items(estimator.py) отрефакторен в батч-INSERT (одинdb.execute(sql, rows)executemany + commit), а тесты ждали старое per-item поведение:test_save_history_items_inserts_each:call_count==2→==1+ проверка батча (rows=list, len 2).test_save_history_items_ext_id_stable_across_calls:c.args[1]["ext_id"](TypeError на list) → извлечение ext_id из батч-списка.Код estimator.py НЕ тронут (он корректен). test_estimator_yandex_integration.py: 11/11 passed. ruff clean.
⚠️ Мержить ПЕРВЫМ — после этого #846/#847/#848 пройдут CI (они ответвлены от main с этими сломанными тестами).
✅ APPROVE — test-only alignment, разблокирует tradein deploy CI. Мержу первым.
Проверено:
test_save_history_items_inserts_eachcall_count 2→1+ assertargs[1]= list len 2;test_save_history_items_ext_id_stable_across_calls— извлечениеext_idиз батч-списка (сisinstance(list)guard) вместоc.args[1]["ext_id"](который кидал TypeError на list).estimator.pyНЕ тронут — код корректен, чинятся только устаревшие ожидания тестов. Это ровно те 2 фейла, что я отметил в ревью #847 как «на main тоже».test_save_history_items_db_error_rolls_back_batchне тронут.Impact: CI
testjob (deploy-tradein.yml) был красным с момента #832 → build+deploy скипались для ВСЕХ merge → прод-образ застрял (~20:03), весь смерженный батч (cian-revival #840/#846, data-layer #821/#826/#827, a11y #834/#835/#839, preview, scraper-modes #847/#848) НЕ доезжал на прод. После merge — CI зелёный, deploy возобновляется, всё доезжает.self-extending файлов нет, секретов нет. Мержу. (Unblock-fix, без linked-issue.)