CompletedDto sollte ein ObjectiveDto und nicht ein Objective haben. Dies ist nun gefixt.
Daraus ergibt sich das Problem, dass die Tests ziemlich unschön werden, weil man ein ObjectiveDto und nicht mehr ein Objective erstellen muss. ObjectiveDto ist ein Record und hat keinen Builder. Dies habe ich nun geändert und für Testing in ch.puzzle.okr.test.dto.builder zwei Builder CompletedDtoBuilder und ObjectiveDtoBuilder implementiert.
Zusätzlich habe ich ein cleanup der bestehenden Completed Tests gemacht und die neuen Builder verwendet.
TODOs im Backend für die Lernenden ❌
in CompletedController gibt noch kein Endpoint fürs Laden von bestehenden Completed
Nicht jedes Objective muss ein Complete haben. Daher sollte der neue Endpoint ein 404 zurückgeben und ein 200 im Erfolgsfall.
IT Tests für neuen Endpoint in CompletedControllerIT
Frontend ✅
all Service calls mit dem Format /api/v2/completed/ vom ObjectiveService in einen neuen CompletedService zügeln. Es macht Sinn, diese zu trennen, denn es sind verschiedene Dinge (sind im backend in der DB und in den Services und Controllers auch getrennt)
Tests sind gefixt
TODOs im Frontend für die Lernenden ❌
aktueller Stand bzgl. Completed im Frontend: Completed wir nur verwendet fürs Erstellen und Löschen. Den aktuellen Complete Status für ein Objective kenn das Frontend nicht. Das Rendering von completed Objectives basiert auf dem State im Objective.
Im Frontend muss man sich die Daten vom Frontend über den noch nicht existierenden get Endpoint im CompletedController. Es muss sauber behandelt werden, dass für Objectives die kein Completed haben ein 404 zurückkommt.
Backend ✅
ObjectiveDto
und nicht einObjective
haben. Dies ist nun gefixt.ch.puzzle.okr.test.dto.builder
zwei BuilderCompletedDtoBuilder
undObjectiveDtoBuilder
implementiert.TODOs im Backend für die Lernenden ❌
CompletedController
gibt noch kein Endpoint fürs Laden von bestehenden Completed404
zurückgeben und ein200
im Erfolgsfall.CompletedControllerIT
Frontend ✅
/api/v2/completed/
vom ObjectiveService in einen neuen CompletedService zügeln. Es macht Sinn, diese zu trennen, denn es sind verschiedene Dinge (sind im backend in der DB und in den Services und Controllers auch getrennt)TODOs im Frontend für die Lernenden ❌
get
Endpoint im CompletedController. Es muss sauber behandelt werden, dass für Objectives die kein Completed haben ein404
zurückkommt.