SUAI-TaskPlanner-Contest / TaskPlanner

Client application for working with todos and syncing with CalDAV servers
MIT License
3 stars 2 forks source link

Create Entities #57

Closed astronik00 closed 1 year ago

astronik00 commented 1 year ago

Task merge request

Related Issue #45
Reviewer requrements Знание принципов работы ORM фреймворков, умение проектировать схемы баз данных

Code changes

Созданы следующие модули python:

  1. task.py
  2. server.py
  3. label.py
  4. size.py
  5. status.py
  6. type.py
  7. priority.py

Созданы следующие новые классы:

  1. Task - класс задачи VTODO
  2. Server - класс сервера, который содержит в себе данные для подключения
  3. Label - промежуточный класс, который агрегирует в себе лейблы
  4. Size - класс лейблов для размера задачи
  5. Status - класс лейблов для статуса задачи
  6. Type - класс лейблов для типа задачи
  7. Priotiry - класс лейблов для приоритета задачи

How to test

  1. Просмотреть схему баз данных: image
  2. Ознакомиться с документацией по работе с relationship в SQLAlchemy, а также эту документацию по работе с Adjacency List
  3. Соотнести соответствие схемы и всех полей классов, проверить правильность расставленных отношений, в том числе и ключей
astronik00 commented 1 year ago

@astronik00 Закончила ревью по текущему коду. Считаю, что нужно провести следующие тесты для проверки связей и поиска возможных ошибок:

  1. Удаление сервера - должны быть удалены все задачи и категории
  2. Удаление задачи - удаление связанного label
  3. Если возможно удалять или изменять категории из доступных - удаление или изменения соотвествующего атрибута в label

Не думаю, что эти тесты входят именно в эту задачу.

У меня есть задача "написать репозиторий задач", я считаю, что это должно фигурировать там. Ну и если у меня что-то не будет работать в репозитории, то я просто сюда вернусь и исправлю.

А так все тесты объективны и понятны, только тесты сервера - это в принципе даже к моей задаче не относится... Я пишу функции работы с задачами, а то что-то слишком мне много делать :/

astronik00 commented 1 year ago

@aleksandra-shchegoleva

Я внесла все исправления

aleksandra-shchegoleva commented 1 year ago

@astronik00 Хорошо, просто при чтении кода возникли такие мысли для тестов. Может быть тесты вынести в отдельную задачу? Почему удаление сервера не относится? Имеется ввиду удаление сущности Server. Я могу помочь с этой задачей, после того, как доделаю валидацию.

aleksandra-shchegoleva commented 1 year ago

@aleksandra-shchegoleva

Я внесла все исправления

@astronik00 Сейчас посмотрю