Аудитории: близкие типы объединены в фильтре, добавлен пункт «без типа»
В карточке остаётся формулировка из таблицы («комп.класс Linux»), а в фильтре близкие варианты сведены к одной группе: «комп.класс» (комп.класс, комп.класс Linux, компьютерный класс), «кабинет английского» (английский, кабинет английского), «аудитория кафедры», «лекционная», «лекционно-практическая», «аудитория для практических». Добавлен пункт «без типа» — 4 аудитории, где в таблице тип не указан. Бэкенд отдаёт в /rooms-day и /rooms-free дополнительное поле type_group (room_type_group), фронт фильтрует по нему. Тесты: 160.
This commit is contained in:
@@ -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("") == ""
|
||||
|
||||
Reference in New Issue
Block a user