Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/test achievements #56

Closed
wants to merge 49 commits into from
Closed

Feat/test achievements #56

wants to merge 49 commits into from

Conversation

D-Abramoc
Copy link
Collaborator

Добавил ручки и тесты

Dmitry Abramov added 30 commits January 20, 2024 22:04
В фикстуре auth_superuser заменил regicter_client на superuser
Тест запрета создания профиля напрямую без создания юзера
Тест запрета удаления профиля
Переписал круд для получения групп с фильтацией по юзеру.
Добавил ручку groups/me
Добавил ручку патч
Для ручки делет установил статус код 204
Добавил схему апдейта группы
Добавил фикстуры для групп и тесты для групп
Добавил ручку получения текущим юзером своей группы по id.
Переписал метод гет в круде группы, чтобы подтягивались данные relations.
В модели юзера исправил отношения с группами. Изменил на лист.
Добавил тест запрета доступа юзера к ручке groups/{group_id}.
Добавил тест получения юзером своей группы через ручку groups/me/{group_id},
в этом же тесте запрет получения группы в которой не состоит
и 404 если группа не существует.
Ручка гет всех ачивментс поменял депенденсис на суперюзера
Добавил тесты запрета получения всех ачивментс юзером и неавторизованным
Dmitry Abramov added 14 commits January 30, 2024 21:12
Добавил ручку получения юзером своих ачивментс
Переписал get_users_obj для ачивмент
добавил ручку /me/{achievement_id}
переписал круд get
добавил тест на ручку /me/{achievement_id}
рефакторинг теста речки /me
Добавил ручку апдейт
Добавил схему для апдейта
Добавил тест апдейта суперюзером
получение количества объектов вынесено в отделбную утилиту
@D-Abramoc D-Abramoc self-assigned this Jan 31, 2024
dependencies=[Depends(current_user)]
)
async def get_self_achievements(
user: User = Depends(current_user),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Думаю здесь тоже потребуется пагинация

)
if achievement is None:
raise HTTPException(
status_code=404,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

404 заменить на fastapi status

)
if user.id not in [_.id for _ in achievement.profiles]:
raise HTTPException(
status_code=403,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fastapi status

if user.id not in [_.id for _ in achievement.profiles]:
raise HTTPException(
status_code=403,
detail='У выс нет этого achievement.'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Небольшая опечатка, заменить на 'вас'

session: AsyncSession = Depends(get_async_session)
):
"""Апдейт ачивмент."""
_achievement = await achievement_crud.get(achievement_id, session)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Надо при апдейте добавить check_obj_exists для проверки, есть ли объект в бд

self,
db_session: AsyncSession,
auth_superuser: TestClient
):
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Докстринг пропущен, лучше чтобы он уже везде здесь был

db_session: AsyncSession,
auth_superuser: TestClient
):
"""Тест апдейта ачивмент суперюзером."""
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Может добавить проверку, если ачивмента нет в бд?

@D-Abramoc D-Abramoc requested a review from kokhlo February 10, 2024 13:21
@D-Abramoc D-Abramoc closed this Mar 13, 2024
@D-Abramoc D-Abramoc deleted the feat/test_achievements branch March 13, 2024 15:26
@D-Abramoc D-Abramoc restored the feat/test_achievements branch March 13, 2024 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants