SUAI-TaskPlanner-Contest / TaskPlanner

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

Fixed repository queries bugs #81

Closed astronik00 closed 1 year ago

astronik00 commented 1 year ago

## Исправление бага с запросами репозиториев

Related Issue #78
Reviewer requrements Программист

Code changes

  1. Поля user_email и user_password снова имеют тип String
  2. Была добавлена папка database, в которой теперь будет храниться файл базы данных.
  3. Переопределены функции Equals у сущностей Task и Server
  4. Исправлены ошибки в запросах с использованием query[Object]
  5. Добавлены файлы unit-тестов для TaskRepository и ServeRepository:закрыты главные функции, протестировано каскадное удаление:
    • при удалении сервера, удаляются также все задачи и лейблы на нем
    • при удалении задачи, удаляются все ее подзадачи, а также записи из таблицы Label

Important notes

Поскольку по большей части отсутствует функционал для работы с лейблами, для них не были созданы репозитории. В классах тестов можно увидеть напрямую вызов session для запросов к этим таблицам.

How to test

Просмотреть изменения файлов, запустить проект и пронаблюдать поведение тестов.

astronik00 commented 1 year ago

@aleksandra-shchegoleva Необходимо обсудить, что делать с лейблами, поскольку либо мы делаем скрипт питона, который при открытии приложения заполнял данными размера/типа/статуса/приоритета задачи, либо мы изначально предоставляем заполненную БД этими данными (например заранее вызвали SQL-скрипт).

astronik00 commented 1 year ago

@aleksandra-shchegoleva

  1. Вынесла тесты из папки Code и перенесла в Tests/repositories
  2. Убрала создание базы данных из db_entities. Теперь таблицы создаются 1) в самих файлах тестов в той же директории (отдельная БД для тестов) 2) теперь в main происходит создание всех таблиц и объект session сейчас находится там же
  3. Создала папку database используя .gitkeep файл в качестве заглушки