fix(tradein/front): число оценочной модели площадки подписано «рынок из N объявлений — в расчёт не входит» при тонком рынке #3349

Merged
bot-backend merged 2 commits from fix/3339-thin-market-badge into main 2026-09-05 18:12:42 +00:00
Collaborator

Closes #3339 (находка deep-ревью #3336). После thin-market гейта число IMV стоит рядом с headline, на который не влияет, без единой пометки.

Поправка к постановке

Карточки avito_imv в components/trade-in/v2/ нет: estimate.avito_imv читается ровно в одном месте — HeroSummary.tsx:173, где число показано дважды (bench-chip и строка price-figure-imv). Правка там, иначе подпись легла бы к UI, которого нет.

Что сделано

  • types/trade-in.ts: thin_market?: boolean в AvitoImvSummary;
  • HeroSummary.tsx: thinMarketNote() — «рынок из 3 объявлений — в расчёт не входит» (склонение: «из 1 объявления»); market_count=null → «тонкий рынок — в расчёт не входит»; false/поля нет → null, разметка не меняется. Число не гасится — оно посчитано, гасить было бы вторым враньём.

Тесты

thinMarketBadge.test.tsx (4): полный прогон Test Files 32 passed / Tests 269 passed, tsc rc=0. Фальсификация: git apply -R исходников → thinMarketNote is not a function — «функции нет», не «значение неверно»; ассерты сами по значению (строка с реальным N), ревьюеру — проверить, что число из фикстуры, не константа.

Прод

На проде тонких рынков сейчас 0 (замер 02.09) — подпись появится с первым малым городом; проверка глазами отложена до факта.

Closes #3339 (находка deep-ревью #3336). После thin-market гейта число IMV стоит рядом с headline, на который не влияет, без единой пометки. ## Поправка к постановке Карточки `avito_imv` в `components/trade-in/v2/` нет: `estimate.avito_imv` читается ровно в одном месте — `HeroSummary.tsx:173`, где число показано дважды (bench-chip и строка `price-figure-imv`). Правка там, иначе подпись легла бы к UI, которого нет. ## Что сделано - `types/trade-in.ts`: `thin_market?: boolean` в `AvitoImvSummary`; - `HeroSummary.tsx`: `thinMarketNote()` — «рынок из 3 объявлений — в расчёт не входит» (склонение: «из 1 объявления»); `market_count=null` → «тонкий рынок — в расчёт не входит»; `false`/поля нет → `null`, разметка не меняется. Число не гасится — оно посчитано, гасить было бы вторым враньём. ## Тесты `thinMarketBadge.test.tsx` (4): полный прогон `Test Files 32 passed / Tests 269 passed`, tsc rc=0. Фальсификация: `git apply -R` исходников → `thinMarketNote is not a function` — «функции нет», не «значение неверно»; ассерты сами по значению (строка с реальным N), ревьюеру — проверить, что число из фикстуры, не константа. ## Прод На проде тонких рынков сейчас 0 (замер 02.09) — подпись появится с первым малым городом; проверка глазами отложена до факта.
bot-backend added 1 commit 2026-09-05 17:51:32 +00:00
fix(mera): подписать IMV на тонком рынке — число вне расчёта
All checks were successful
CI Trade-In / changes (pull_request) Successful in 10s
CI / changes (pull_request) Successful in 12s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / browser-tests (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 / frontend-checks (pull_request) Successful in 1m51s
5356d564e6
Бэкенд (#3336, thin_market) при market_count ниже порога исключает IMV из
headline, но витрина ставила число рядом с итоговой ценой молча — читалось
как расчётная величина. Подпись называет реальный N из market_count.

Closes #3339
Light1YT added 1 commit 2026-09-05 18:06:40 +00:00
fix(mera): подпись тонкого рынка доезжает до карточки оценочной модели
All checks were successful
CI Trade-In / changes (pull_request) Successful in 13s
CI / changes (pull_request) Successful in 17s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / browser-tests (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 / frontend-checks (pull_request) Successful in 2m3s
d953899d92
Карточка печатает тот же recommended_price, что и hero, но берёт его из
своего endpoint и подписи не имела — рядом с итогом стояла неподписанная
копия величины, исключённой из расчёта (ровно то, что #3339 чинил в hero).

Проп note + проброс thinMarketNote(estimate.avito_imv) со страницы; подпись
тем же классом .bench-chip__sub, ему же дан max-width, чтобы длинная строка
не растягивала чип.

Тест падает при снятии рендера подписи (проверено: 1 failed / 5 passed).
bot-backend merged commit 80db30c7f7 into main 2026-09-05 18:12:42 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#3349
No description provided.