fix(tradein/ui): этаж сделки скрывался у всех 96 974 — требовалось второе поле (#2674) #2861

Merged
bot-backend merged 1 commit from fix/2674-deal-floor-display into main 2026-08-13 08:46:46 +00:00
Collaborator

Что видно пользователю

В карточке фактических сделок под адресом печатается «55.4 м² · 2-к» — и всё. Этаж не показан ни у одной сделки.

Почему

{deal.floor !== null && deal.total_floors !== null
  ? ` · этаж ${deal.floor}/${deal.total_floors}`
  : ""}

Условие требует оба поля. Замер на проде 13.08:

поле заполнено
deals.floor 96 974 из 96 974
deals.total_floors 0 из 96 974

Этажности в открытом наборе Росреестра нет в принципе — это свойство источника, а не недоехавшие данные (подтверждено разбором пустых колонок: вид нуля «неприменимо»). Значит условие никогда не выполнится, и известный этаж скрыт у всех.

Правка

Правильный образец уже лежал в этом же дереве — BuildingListingsDrawer для объявлений печатает «этаж N», когда этажность неизвестна. Повторяю его, а не изобретаю своё.

Данных правка не требует и не запрашивает: показывает то, что уже есть в ответе.

Красный прогон

Тем же файлом теста против версии компонента с origin/main:

× печатает этаж, когда этажность неизвестна (боевой случай: 100% сделок)
  → Unable to find an element with the text: /этаж 7/
1 failed | 2 passed

На ветке: 3 passed.

Двусторонность. Два контрольных случая зелены с обеих сторон: дробь при известной этажности (прежнее поведение цело) и пусто при неизвестном этаже. То есть реализация «печатать этаж всегда» провалила бы третий тест, а не проскочила.

Область

Один компонент, одно условие. Соседние поверхности не затронуты: BuildingListingsDrawer уже был правильным, других мест печати этажа сделки нет.

Refs #2674

## Что видно пользователю В карточке фактических сделок под адресом печатается «55.4 м² · 2-к» — и всё. Этаж не показан **ни у одной сделки**. ## Почему ```tsx {deal.floor !== null && deal.total_floors !== null ? ` · этаж ${deal.floor}/${deal.total_floors}` : ""} ``` Условие требует **оба** поля. Замер на проде 13.08: | поле | заполнено | |---|---:| | `deals.floor` | **96 974 из 96 974** | | `deals.total_floors` | **0 из 96 974** | Этажности в открытом наборе Росреестра нет **в принципе** — это свойство источника, а не недоехавшие данные (подтверждено разбором пустых колонок: вид нуля «неприменимо»). Значит условие никогда не выполнится, и известный этаж скрыт у всех. ## Правка Правильный образец уже лежал в этом же дереве — `BuildingListingsDrawer` для объявлений печатает «этаж N», когда этажность неизвестна. Повторяю его, а не изобретаю своё. Данных правка **не требует и не запрашивает**: показывает то, что уже есть в ответе. ## Красный прогон Тем же файлом теста против версии компонента с `origin/main`: ``` × печатает этаж, когда этажность неизвестна (боевой случай: 100% сделок) → Unable to find an element with the text: /этаж 7/ 1 failed | 2 passed ``` На ветке: **3 passed**. **Двусторонность.** Два контрольных случая зелены с **обеих** сторон: дробь при известной этажности (прежнее поведение цело) и пусто при неизвестном этаже. То есть реализация «печатать этаж всегда» провалила бы третий тест, а не проскочила. ## Область Один компонент, одно условие. Соседние поверхности не затронуты: `BuildingListingsDrawer` уже был правильным, других мест печати этажа сделки нет. Refs #2674
bot-backend added 1 commit 2026-08-13 08:37:12 +00:00
fix(tradein/ui): этаж сделки скрывался у всех 96 974 — требовалось второе поле
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI / changes (pull_request) Successful in 8s
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 Trade-In / frontend-checks (pull_request) Successful in 57s
CI / openapi-codegen-check (pull_request) Has been skipped
68706d631f
Карточка печатала «этаж X/Y» только когда непусты ОБА поля. Замер на проде
13.08: deals.floor заполнен у 96 974 из 96 974, deals.total_floors — у 0.
Открытый набор Росреестра этажности не содержит в принципе, то есть это
свойство источника, а не недоехавшие данные. Итог: этаж не показывался
никогда, при том что он известен всегда.

Правильный образец уже был в этом же дереве — BuildingListingsDrawer печатает
«этаж N», когда этажность неизвестна. Повторяю его, а не изобретаю.

Данных правка не требует и не запрашивает: показывает то, что уже лежит.

Красный прогон: тем же файлом теста на origin/main — 1 failed, 2 passed.
Падает ровно боевой случай (этаж есть, этажности нет); два контрольных
(дробь при известной этажности, пусто при неизвестном этаже) зелены с ОБЕИХ
сторон, то есть тест не односторонний и не позеленел бы от «печатать всегда».

Refs #2674
bot-backend merged commit 9e83eb4a53 into main 2026-08-13 08:46:46 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
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#2861
No description provided.