Аудитории: близкие типы объединены в фильтре, добавлен пункт «без типа»

В карточке остаётся формулировка из таблицы («комп.класс Linux»), а в фильтре
близкие варианты сведены к одной группе: «комп.класс» (комп.класс, комп.класс
Linux, компьютерный класс), «кабинет английского» (английский, кабинет
английского), «аудитория кафедры», «лекционная», «лекционно-практическая»,
«аудитория для практических». Добавлен пункт «без типа» — 4 аудитории, где в
таблице тип не указан.

Бэкенд отдаёт в /rooms-day и /rooms-free дополнительное поле type_group
(room_type_group), фронт фильтрует по нему. Тесты: 160.
This commit is contained in:
2026-10-10 12:33:05 +03:00
parent 6f16736359
commit fa51f4caee
4 changed files with 62 additions and 5 deletions

View File

@@ -263,6 +263,7 @@ def test_room_payload_shape():
payload = parsing.room_payload("ауд. 215", {
"info": "лекционная; проектор; 96 мест",
"type": "лекционная",
"type_group": "лекционная",
"capacity": 96,
"equipment": ["Проектор"],
"available_days": None,
@@ -271,7 +272,22 @@ def test_room_payload_shape():
"room": "ауд. 215",
"info": "лекционная; проектор; 96 мест",
"type": "лекционная",
"type_group": "лекционная",
"capacity": 96,
"equipment": ["Проектор"],
"available_days": None,
}
def test_room_type_group_merges_similar():
"""Близкие формулировки типов сводятся к общему типу для фильтра."""
assert parsing.room_type_group("комп.класс") == "комп.класс"
assert parsing.room_type_group("комп.класс Linux") == "комп.класс"
assert parsing.room_type_group("компьютерный класс") == "комп.класс"
assert parsing.room_type_group("английский") == "кабинет английского"
assert parsing.room_type_group("кабинет английского") == "кабинет английского"
assert parsing.room_type_group("ауд. каф. ДА") == "аудитория кафедры"
assert parsing.room_type_group("лекционная") == "лекционная"
assert parsing.room_type_group("лекционно-практическая") == "лекционно-практическая"
assert parsing.room_type_group("аудитория для практических") == "аудитория для практических"
assert parsing.room_type_group("") == ""