Что значит выполнить TODO?

Рейтинг: -3Ответов: 2Опубликовано: 15.06.2023

Есть задача: написать тест ExampleTest(junit) и выполнить TODO. Что значит выполнить TODO?

package com.example.cinema.base.webapp.facade.admin.impl;

import com.example.cinema.base.models.dto.ProductionStudioRequestDto;
import com.example.cinema.base.models.entitys.ProductionStudio;
import com.example.cinema.base.converter.ProductionStudioMapper;
import com.example.cinema.base.service.entity.impl.ProductionStudioServiceImpl;
import com.example.cinema.base.webapp.facade.admin.ProductionStudioServiceFacade;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;

@Component
@RequiredArgsConstructor
public class ProductionStudioServiceFacadeImpl implements ProductionStudioServiceFacade {

    private final ProductionStudioServiceImpl productionStudioService;
    private final ProductionStudioMapper productionStudioMapper;

    @Override
    public void save(ProductionStudioRequestDto dto) {
        ProductionStudio studio = productionStudioMapper.toEntity(dto);
        productionStudioService.save(studio);
    }

    @Override
    public void delete(long id) {
        //TODО валидация на существование
        productionStudioService.deleteById(id);
    }

    @Override
    public void update(long id, ProductionStudioRequestDto dto) {
        //TODО валидация на существование
        ProductionStudio studio = productionStudioMapper.toEntity(dto);
        productionStudioService.save(studio);
    }
}

Контроллер

package com.example.cinema.base.webapp.rest.admin;

import com.example.cinema.base.models.dto.ProductionStudioRequestDto;
import com.example.cinema.base.webapp.facade.admin.ProductionStudioServiceFacade;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("api/admin")
@RequiredArgsConstructor
public class AdminProductionStudioRestController {

    private final ProductionStudioServiceFacade productionStudioServiceFacade;

    @PostMapping("/studios")
    public ResponseEntity<HttpStatus> addProductionStudio(@RequestBody ProductionStudioRequestDto dto) {
        productionStudioServiceFacade.save(dto);
        return ResponseEntity.ok(HttpStatus.OK);
    }

    @DeleteMapping("/studios/{id}")
    public ResponseEntity<HttpStatus> deleteProductionStudio(@PathVariable("id") Long id) {
        productionStudioServiceFacade.delete(id);
        return ResponseEntity.ok(HttpStatus.OK);
    }

    @PutMapping("/studios/{id}")
    public ResponseEntity<HttpStatus> updateProductionStudio(@PathVariable("id") Long id,
                                                             @RequestBody ProductionStudioRequestDto dto) {
        productionStudioServiceFacade.update(id, dto);
        return ResponseEntity.ok(HttpStatus.OK);
    }
}

Ответы

▲ 0Принят

В коде стоит комментарий

//TODО валидация на существование

Стоит он в методах для удаления и изменения записи. Видимо предполагается, что в эти методы надо добавить код для проверки существования записи.

Т.е., к примеру, перед тем как удалить запись по id, надо сначала проверить, что такая запись существует.

Так как это, судя по всему, тестовое задание, то делать надо "красиво". Вероятней всего от вас ожидают, что проверку вы реализуете как отдельный метод. А так же корректно сделаете информирование об ошибках. В тех случаях когда записи не существует.

▲ 0

Там в коде два раза есть //TODО валидация на существование. Именно это вам и нужно сделать - провести валидацию на существование после выполнения тех двух функций.