Skip to content

Commit f5b4019

Browse files
committed
Cosmetic fix
1 parent 8a0493a commit f5b4019

3 files changed

Lines changed: 20 additions & 21 deletions

File tree

calendar_backend/routes/event/event.py

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import logging
22
from datetime import date, timedelta
3-
from typing import Literal
43
from itertools import zip_longest
4+
from typing import Literal
55

66
from auth_lib.fastapi import UnionAuth
77
from fastapi import APIRouter, Depends, Query, status
@@ -11,7 +11,7 @@
1111

1212
from calendar_backend.exceptions import NotEnoughCriteria, ObjectNotFound
1313
from calendar_backend.methods import list_calendar
14-
from calendar_backend.models import Event, Group, Lecturer, Room, EventsRooms, EventsGroups, EventsLecturers
14+
from calendar_backend.models import Event, EventsGroups, EventsLecturers, EventsRooms, Group, Lecturer, Room
1515
from calendar_backend.routes.models import EventGet
1616
from calendar_backend.routes.models.event import (
1717
EventPatch,
@@ -200,7 +200,6 @@ async def patch_event_by_name(
200200
async def patch_event(
201201
id: int, event_inp: EventPatch, _=Depends(UnionAuth(scopes=["timetable.event.update"]))
202202
) -> EventGet:
203-
204203
# проверяем, что событие с таким id существует
205204
Events = db.session.query(Event).filter(Event.id == id).one_or_none()
206205
if not Events:
@@ -211,14 +210,16 @@ async def patch_event(
211210
all_rooms = [room.id for room in db.session.query(Room).all()]
212211
all_groups = [group.id for group in db.session.query(Group).all()]
213212
all_lecturers = [lecturer.id for lecturer in db.session.query(Lecturer).all()]
214-
# проверяем cуществование заданных в body (room_, group_, lecturer_)*id
215-
for r, g, l in zip_longest(event_upd_data.get("room_id"), event_upd_data.get("group_id"), event_upd_data.get("lecturer_id"), fillvalue=None):
213+
# проверяем cуществование заданных в body (room_, group_, lecturer_)*id
214+
for r, g, l in zip_longest(
215+
event_upd_data.get("room_id"), event_upd_data.get("group_id"), event_upd_data.get("lecturer_id"), fillvalue=None
216+
):
216217
if r not in all_rooms:
217-
raise ObjectNotFound(type=type(Room), ids=r)
218+
raise ObjectNotFound(type=type(Room), ids=r)
218219
if g not in all_groups:
219-
raise ObjectNotFound(type=type(Group), ids=g)
220+
raise ObjectNotFound(type=type(Group), ids=g)
220221
if l not in all_lecturers:
221-
raise ObjectNotFound(type=type(Lecturer), ids=l)
222+
raise ObjectNotFound(type=type(Lecturer), ids=l)
222223

223224
def add_new_remove_old_ids(dbsession, event_id, artefact: str, event_instance, negotiator_instance) -> None:
224225
"""Вспомогательная фукнция описывающая удаление старых и добавление новых (room_, group_, lecturer_)*id - артефактов"""
@@ -227,16 +228,20 @@ def add_new_remove_old_ids(dbsession, event_id, artefact: str, event_instance, n
227228
# получаем множетсво страрых артефактов
228229
old_artefacts = event_artefacts - set(event_upd_data.get(f"{artefact}_id"))
229230
# получаем множество новых артефактов
230-
new_artefacts = set(event_upd_data.get(f"{artefact}_id")) - event_artefacts
231+
new_artefacts = set(event_upd_data.get(f"{artefact}_id")) - event_artefacts
231232
# получаем артефакты к удалению(уникальные старые)
232233
to_remove = old_artefacts - new_artefacts
233234
# получаем артефакты к созданию(уникальные новые)
234235
to_add = new_artefacts - old_artefacts
235236

236237
if to_remove:
237-
dbsession.query(negotiator_instance).filter(negotiator_instance.event_id==event_id, getattr(negotiator_instance, f"{artefact}_id").in_(to_remove)).delete()
238+
dbsession.query(negotiator_instance).filter(
239+
negotiator_instance.event_id == event_id, getattr(negotiator_instance, f"{artefact}_id").in_(to_remove)
240+
).delete()
238241
if to_add:
239-
dbsession.bulk_insert_mappings(negotiator_instance, [{"event_id" : f"{event_id}", f"{artefact}_id" : id_to_add} for id_to_add in to_add])
242+
dbsession.bulk_insert_mappings(
243+
negotiator_instance, [{"event_id": f"{event_id}", f"{artefact}_id": id_to_add} for id_to_add in to_add]
244+
)
240245

241246
add_new_remove_old_ids(db.session, id, "room", Events, EventsRooms)
242247
add_new_remove_old_ids(db.session, id, "group", Events, EventsGroups)

tests/conftest.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
11
from datetime import datetime
2+
from pathlib import Path
23

34
import pytest
5+
from alembic import command
6+
from alembic.config import Config as AlembicConfig
47
from fastapi.testclient import TestClient
58
from pytest_mock import MockerFixture
69
from sqlalchemy import create_engine
710
from sqlalchemy.orm import Session, sessionmaker
811
from starlette import status
12+
from testcontainers.postgres import PostgresContainer
913

1014
from calendar_backend.models.base import DeclarativeBase
1115
from calendar_backend.models.db import Event, Group, Lecturer, Room
1216
from calendar_backend.routes import app
13-
from calendar_backend.settings import get_settings
14-
from _pytest.monkeypatch import MonkeyPatch
15-
from alembic import command
16-
from alembic.config import Config as AlembicConfig
17-
from pathlib import Path
18-
from testcontainers.postgres import PostgresContainer
1917

2018

2119
class PostgresConfig:
@@ -35,7 +33,6 @@ def get_url(cls) -> str:
3533
return f"postgresql://{cls.username}@{cls.host}:{cls.external_port}/postgres"
3634

3735

38-
3936
@pytest.fixture(scope="session")
4037
def db_container():
4138
"""Фикстура настройки БД для тестов в Docker-контейнере."""

tests/event/event.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,6 @@ def test_delete(client_auth: TestClient, dbsession: Session, room_path, lecturer
198198

199199

200200
def test_update_all(client_auth: TestClient, dbsession: Session):
201-
import pytest
202201
# Create
203202
room = Room(name="5-07" + datetime.datetime.utcnow().isoformat(), direction="North")
204203
lecturer = Lecturer(first_name="s", middle_name="s", last_name="s")
@@ -215,7 +214,6 @@ def test_update_all(client_auth: TestClient, dbsession: Session):
215214
"start_ts": "2022-08-26T22:32:38.575Z",
216215
"end_ts": "2022-08-26T22:32:38.575Z",
217216
}
218-
pytest.set_trace()
219217
response = client_auth.post(RESOURCE, json=request_obj)
220218
assert response.status_code == status.HTTP_200_OK, response.json()
221219
response_obj = response.json()
@@ -253,7 +251,6 @@ def test_update_all(client_auth: TestClient, dbsession: Session):
253251
"end_ts": "2022-08-26T22:32:38.575Z",
254252
}
255253
response = client_auth.patch(urljoin(RESOURCE, str(id_)), json=request_obj_2)
256-
pytest.set_trace()
257254
assert response.status_code == 200
258255
response = client_auth.get(urljoin(RESOURCE, str(id_)))
259256
assert response.status_code == status.HTTP_200_OK, response.json()

0 commit comments

Comments
 (0)