Группы: ТОП-имена и порядок как в таблице
В таблице появились группы с «ТОП» в имени (ИВТ-ТОП-11БО, ИТ-ТОП-12БО): шаблон требовал цифру сразу после первого дефиса, поэтому такие столбцы пропускались целиком. Теперь имя группы — буквенные части через дефис, номер потока и необязательный суффикс, т.е. распознаются и «ИВТ-11БО», и «ПИЭ-13МО», и «ИВТ-ТОП-11БО» (похожие заголовки с пробелами — нет). GET /groups больше не сортирует по алфавиту с приоритетом БО/МО, а отдаёт группы в порядке столбцов таблицы — как просили, «как в расписании». Состав групп (появление/переименование/скрытие) подхватывается сам при следующем обновлении, потому что источник истины — заголовок листа. Тесты: ТОП-имена + порядок столбцов, отсев похожих не-групповых заголовков.
This commit is contained in:
@@ -46,6 +46,21 @@ def test_groups(client):
|
||||
assert client.get("/groups").json() == ["ИВТ-11БО", "ИТ-12БО"]
|
||||
|
||||
|
||||
def test_groups_keep_sheet_order(monkeypatch):
|
||||
"""GET /groups отдаёт группы в порядке столбцов таблицы, а не по алфавиту."""
|
||||
from fixtures import fixture_sheets
|
||||
from xlsx_builder import build_workbook
|
||||
|
||||
sheets = fixture_sheets()
|
||||
header = sheets["Бакалавры и магистры"].rows[0]
|
||||
header[6] = "ЯЯ-ТОП-11БО\nсеместр до 11.01.27"
|
||||
header[7] = "АА-11БО\nсеместр до 29.12.26"
|
||||
|
||||
cache, _, _ = make_cache(monkeypatch, build_workbook(sheets))
|
||||
with TestClient(main.create_app(cache)) as client:
|
||||
assert client.get("/groups").json() == ["ЯЯ-ТОП-11БО", "АА-11БО"]
|
||||
|
||||
|
||||
def test_teachers(client):
|
||||
assert client.get("/teachers").json() == [
|
||||
"Иванов И.И.", "Петров П.П.", "Сидорова С.С.", "Смирнов А.В.",
|
||||
|
||||
Reference in New Issue
Block a user