что-то есть, но не правильно работает (возможно я слишком много придумал) сделал сумму в строке заказа, сделал добавление строк заказа в заказ, но это не правильно работает, по сути я создаю новою строку в самом заказе
This commit is contained in:
parent
176d2bbbb4
commit
80fee84170
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -19,6 +19,9 @@ dependencies {
|
||||
implementation 'org.springframework.boot:spring-boot-starter-web'
|
||||
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0'
|
||||
implementation 'org.modelmapper:modelmapper:3.2.0'
|
||||
implementation 'javax.persistence:javax.persistence-api:2.2'
|
||||
implementation 'javax.persistence:javax.persistence-api:2.2'
|
||||
|
||||
|
||||
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
||||
}
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,5 +1,7 @@
|
||||
package com.example.demo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
@ -8,6 +10,7 @@ import org.springframework.boot.CommandLineRunner;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
import com.example.demo.order_lines.model.OrderLineEntity;
|
||||
import com.example.demo.orders.model.OrderEntity;
|
||||
import com.example.demo.orders.service.OrderService;
|
||||
import com.example.demo.products.model.ProductEntity;
|
||||
@ -61,8 +64,11 @@ public class DemoApplication implements CommandLineRunner {
|
||||
userService.create(new UserEntity(null, "Oleg", "Zyngin", "@mail.ru", "password"));
|
||||
|
||||
log.info("Create default orders values");
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
List<OrderLineEntity> lines = new ArrayList();
|
||||
lines.add(new OrderLineEntity(null, null, 3, null));
|
||||
final var user1 = userService.create(new UserEntity(null, "Alex", "Kryukov", "akryu@mail.ru", "password"));
|
||||
orderService.create(new OrderEntity(null, user1, "31-03-2024"));
|
||||
orderService.create(new OrderEntity(null, user1, lines));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -15,8 +15,6 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
import com.example.demo.core.configuration.Constants;
|
||||
import com.example.demo.order_lines.model.OrderLineEntity;
|
||||
import com.example.demo.order_lines.service.OrderLineService;
|
||||
import com.example.demo.orders.model.OrderEntity;
|
||||
import com.example.demo.orders.service.OrderService;
|
||||
import com.example.demo.products.model.ProductEntity;
|
||||
import com.example.demo.products.service.ProductService;
|
||||
|
||||
@ -25,14 +23,12 @@ import jakarta.validation.Valid;
|
||||
@RestController
|
||||
@RequestMapping(Constants.API_URL + "/orderLine")
|
||||
public class OrderLineController {
|
||||
private final OrderService orderService;
|
||||
private final OrderLineService orderLineService;
|
||||
private final ProductService productService;
|
||||
private final ModelMapper modelMapper;
|
||||
|
||||
public OrderLineController(OrderLineService orderLineService, OrderService orderService,
|
||||
public OrderLineController(OrderLineService orderLineService,
|
||||
ProductService productService, ModelMapper modelMapper) {
|
||||
this.orderService = orderService;
|
||||
this.orderLineService = orderLineService;
|
||||
this.productService = productService;
|
||||
this.modelMapper = modelMapper;
|
||||
@ -44,15 +40,12 @@ public class OrderLineController {
|
||||
|
||||
private OrderLineEntity toEntity(OrderLineDto dto) {
|
||||
// Получаем заказ и товар из соответствующих сервисов по их идентификаторам из
|
||||
// OrderLineDto
|
||||
OrderEntity order = orderService.get(dto.getOrderId());
|
||||
ProductEntity product = productService.get(dto.getProductId());
|
||||
|
||||
// Создаем новый экземпляр OrderLineEntity с помощью модельного маппера
|
||||
OrderLineEntity entity = modelMapper.map(dto, OrderLineEntity.class);
|
||||
|
||||
// Устанавливаем полученные заказ и товар в OrderLineEntity
|
||||
entity.setOrder(order);
|
||||
entity.setProduct(product);
|
||||
|
||||
return entity;
|
||||
@ -70,7 +63,26 @@ public class OrderLineController {
|
||||
|
||||
@PostMapping
|
||||
public OrderLineDto create(@RequestBody @Valid OrderLineDto dto) {
|
||||
return toDto(orderLineService.create(toEntity(dto)));
|
||||
// Получаем информацию о продукте по его ID
|
||||
ProductEntity product = productService.get(dto.getProductId());
|
||||
|
||||
// Рассчитываем общую сумму строки заказа
|
||||
double totalPrice = product.getPrice() * dto.getCount();
|
||||
|
||||
// Создаем новую сущность строки заказа
|
||||
OrderLineEntity orderLineEntity = toEntity(dto);
|
||||
|
||||
// Устанавливаем общую сумму в сущность строки заказа
|
||||
orderLineEntity.setTotalPrice(totalPrice);
|
||||
|
||||
// Создаем строку заказа
|
||||
OrderLineEntity createdOrderLine = orderLineService.create(orderLineEntity);
|
||||
|
||||
// Преобразуем созданную строку заказа в DTO
|
||||
OrderLineDto createdOrderLineDto = toDto(createdOrderLine);
|
||||
|
||||
// Возвращаем созданную строку заказа в виде DTO с заполненным полем totalPrice
|
||||
return createdOrderLineDto;
|
||||
}
|
||||
|
||||
@PutMapping("/{id}")
|
||||
|
@ -7,17 +7,24 @@ import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
public class OrderLineDto {
|
||||
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
|
||||
private Long id;
|
||||
@NotNull
|
||||
@Min(1)
|
||||
private Long orderId;
|
||||
@NotNull
|
||||
@Min(1)
|
||||
private Long productId;
|
||||
@NotBlank
|
||||
private Integer count;
|
||||
|
||||
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
|
||||
private Double totalPriceLine;
|
||||
|
||||
public Double getTotalPriceLine() {
|
||||
return totalPriceLine;
|
||||
}
|
||||
|
||||
public void setTotalPriceLine(Double totalPriceLine) {
|
||||
this.totalPriceLine = totalPriceLine;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
@ -26,14 +33,6 @@ public class OrderLineDto {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getOrderId() {
|
||||
return orderId;
|
||||
}
|
||||
|
||||
public void setOrderId(Long orderId) {
|
||||
this.orderId = orderId;
|
||||
}
|
||||
|
||||
public Integer getCount() {
|
||||
return count;
|
||||
}
|
||||
|
@ -2,25 +2,33 @@ package com.example.demo.order_lines.model;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
|
||||
import com.example.demo.core.model.BaseEntity;
|
||||
import com.example.demo.orders.model.OrderEntity;
|
||||
import com.example.demo.products.model.ProductEntity;
|
||||
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||
|
||||
public class OrderLineEntity extends BaseEntity {
|
||||
|
||||
private OrderEntity order;
|
||||
private Integer count;
|
||||
private ProductEntity product;
|
||||
private Double totalPrice;
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "order_id")
|
||||
@JsonBackReference // Это свойство не управляется родительским объектом
|
||||
private OrderEntity order;
|
||||
|
||||
public OrderLineEntity() {
|
||||
|
||||
}
|
||||
|
||||
public OrderLineEntity(Long id, OrderEntity order, ProductEntity product, Integer count) {
|
||||
public OrderLineEntity(Long id, ProductEntity product, Integer count, Double totalPrice) {
|
||||
super(id);
|
||||
this.order = order;
|
||||
this.count = count;
|
||||
this.product = product;
|
||||
this.count = count;
|
||||
this.totalPrice = totalPrice;
|
||||
}
|
||||
|
||||
public ProductEntity getProduct() {
|
||||
@ -31,14 +39,6 @@ public class OrderLineEntity extends BaseEntity {
|
||||
this.product = product;
|
||||
}
|
||||
|
||||
public OrderEntity getOrder() {
|
||||
return order;
|
||||
}
|
||||
|
||||
public void setOrder(OrderEntity order) {
|
||||
this.order = order;
|
||||
}
|
||||
|
||||
public Integer getCount() {
|
||||
return count;
|
||||
}
|
||||
@ -47,9 +47,17 @@ public class OrderLineEntity extends BaseEntity {
|
||||
this.count = count;
|
||||
}
|
||||
|
||||
public Double getTotalPrice() {
|
||||
return totalPrice;
|
||||
}
|
||||
|
||||
public void setTotalPrice(Double totalPrice) {
|
||||
this.totalPrice = totalPrice;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(id, order, product, count);
|
||||
return Objects.hash(id, product, count);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unlikely-arg-order-product")
|
||||
@ -61,7 +69,6 @@ public class OrderLineEntity extends BaseEntity {
|
||||
return false;
|
||||
final OrderLineEntity other = (OrderLineEntity) obj;
|
||||
return Objects.equals(other.getId(), id)
|
||||
&& Objects.equals(other.getOrder(), order)
|
||||
&& Objects.equals(other.getProduct(), product)
|
||||
&& Objects.equals(other.getCount(), count);
|
||||
}
|
||||
|
@ -22,9 +22,7 @@ public class OrderLineService {
|
||||
if (Objects.equals(orderLineId, 0L)) {
|
||||
return repository.getAll();
|
||||
}
|
||||
return repository.getAll().stream()
|
||||
.filter(orderLine -> orderLine.getOrder().getId().equals(orderLineId))
|
||||
.toList();
|
||||
return repository.getAll();
|
||||
}
|
||||
|
||||
public OrderLineEntity get(Long id) {
|
||||
@ -38,7 +36,6 @@ public class OrderLineService {
|
||||
|
||||
public OrderLineEntity update(Long id, OrderLineEntity entity) {
|
||||
final OrderLineEntity existsEntity = get(id);
|
||||
existsEntity.setOrder(entity.getOrder());
|
||||
existsEntity.setProduct(entity.getProduct());
|
||||
existsEntity.setCount(entity.getCount());
|
||||
return repository.update(existsEntity);
|
||||
|
@ -1,7 +1,8 @@
|
||||
package com.example.demo.orders.api;
|
||||
|
||||
import java.sql.Date;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.modelmapper.ModelMapper;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
@ -13,10 +14,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import com.example.demo.core.configuration.Constants;
|
||||
import com.example.demo.order_lines.api.OrderLineDto;
|
||||
import com.example.demo.order_lines.model.OrderLineEntity;
|
||||
import com.example.demo.order_lines.service.OrderLineService;
|
||||
import com.example.demo.orders.model.OrderEntity;
|
||||
import com.example.demo.orders.service.OrderService;
|
||||
import com.example.demo.users.service.UserService;
|
||||
|
||||
import jakarta.validation.Valid;
|
||||
|
||||
@RestController
|
||||
@ -25,26 +28,54 @@ public class OrderController {
|
||||
private final OrderService orderService;
|
||||
private final UserService userService;
|
||||
private final ModelMapper modelMapper;
|
||||
private final OrderLineService orderLineService;
|
||||
|
||||
public OrderController(OrderService orderService, UserService userService, ModelMapper modelMapper) {
|
||||
public OrderController(OrderService orderService, UserService userService, ModelMapper modelMapper,
|
||||
OrderLineService orderLineService) {
|
||||
this.orderService = orderService;
|
||||
this.userService = userService;
|
||||
this.modelMapper = modelMapper;
|
||||
this.orderLineService = orderLineService;
|
||||
}
|
||||
|
||||
private OrderDto toDto(OrderEntity entity) {
|
||||
return modelMapper.map(entity, OrderDto.class);
|
||||
var dto = new OrderDto();
|
||||
dto.setId(entity.getId());
|
||||
dto.setUserId(entity.getUser().getId());
|
||||
|
||||
// Преобразование каждой сущности OrderLineEntity в OrderLineDto и добавление их
|
||||
// в список lines
|
||||
for (OrderLineEntity orderLineEntity : entity.getLines()) {
|
||||
OrderLineDto orderLineDto = new OrderLineDto();
|
||||
orderLineDto.setId(orderLineEntity.getId());
|
||||
orderLineDto.setProductId(orderLineEntity.getProduct().getId());
|
||||
orderLineDto.setCount(orderLineEntity.getCount());
|
||||
orderLineDto.setTotalPriceLine(orderLineEntity.getTotalPrice());
|
||||
dto.addOrderLine(orderLineDto);
|
||||
}
|
||||
|
||||
dto.setDate(new Date(System.currentTimeMillis()));
|
||||
return dto;
|
||||
}
|
||||
|
||||
private OrderEntity toEntity(OrderDto dto) {
|
||||
public OrderEntity toEntity(OrderDto dto) {
|
||||
final OrderEntity entity = modelMapper.map(dto, OrderEntity.class);
|
||||
entity.setUser(userService.get(dto.getUserId()));
|
||||
if (dto.getUserId() != null) {
|
||||
entity.setUser(userService.get(dto.getUserId()));
|
||||
}
|
||||
// устанавливаем связь между заказом и строками заказа
|
||||
entity.getLines().clear();
|
||||
for (OrderLineDto lineDto : dto.getLines()) {
|
||||
OrderLineEntity orderLineEntity = modelMapper.map(lineDto, OrderLineEntity.class);
|
||||
entity.addOrderLine(orderLineEntity);
|
||||
}
|
||||
return entity;
|
||||
}
|
||||
|
||||
@GetMapping
|
||||
public List<OrderDto> getAll(@RequestParam(name = "userId", defaultValue = "0") Long userId) {
|
||||
return orderService.getAll(userId).stream().map(this::toDto).toList();
|
||||
public List<OrderDto> getAll(@RequestParam(name = "userId", defaultValue = "0") Long userId,
|
||||
@RequestParam(name = "lines", defaultValue = "") List<Long> lines) {
|
||||
return orderService.getAll(userId, lines).stream().map(this::toDto).toList();
|
||||
}
|
||||
|
||||
@GetMapping("/{id}")
|
||||
@ -54,7 +85,8 @@ public class OrderController {
|
||||
|
||||
@PostMapping
|
||||
public OrderDto create(@RequestBody @Valid OrderDto dto) {
|
||||
return toDto(orderService.create(toEntity(dto)));
|
||||
OrderEntity orderEntity = toEntity(dto);
|
||||
return toDto(orderService.create(orderEntity));
|
||||
}
|
||||
|
||||
@PutMapping("/{id}")
|
||||
|
@ -1,20 +1,26 @@
|
||||
package com.example.demo.orders.api;
|
||||
|
||||
import java.sql.Date;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.example.demo.order_lines.api.OrderLineDto;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
public class OrderDto {
|
||||
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
|
||||
private Long id;
|
||||
@NotNull
|
||||
@Min(1)
|
||||
private Long userId;
|
||||
@NotBlank
|
||||
private String date;
|
||||
|
||||
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
|
||||
private Date date = getDate();
|
||||
@NotNull
|
||||
private final List<OrderLineDto> lines = new ArrayList<>();
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
@ -31,11 +37,21 @@ public class OrderDto {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public String getDate() {
|
||||
return date;
|
||||
}
|
||||
|
||||
public void setDate(String date) {
|
||||
public void setDate(Date date) {
|
||||
this.date = date;
|
||||
}
|
||||
|
||||
public List<OrderLineDto> getLines() {
|
||||
return lines;
|
||||
}
|
||||
|
||||
// метод для добавленя строк заказа
|
||||
public void addOrderLine(OrderLineDto orderLine) {
|
||||
this.lines.add(orderLine);
|
||||
}
|
||||
|
||||
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
|
||||
public Date getDate() {
|
||||
return date;
|
||||
}
|
||||
}
|
||||
|
@ -1,22 +1,28 @@
|
||||
package com.example.demo.orders.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import com.example.demo.core.model.BaseEntity;
|
||||
import com.example.demo.order_lines.model.OrderLineEntity;
|
||||
import com.example.demo.users.model.UserEntity;
|
||||
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
||||
|
||||
public class OrderEntity extends BaseEntity {
|
||||
private UserEntity user;
|
||||
private String date;
|
||||
@JsonManagedReference
|
||||
private final List<OrderLineEntity> lines = new ArrayList<>();
|
||||
|
||||
public OrderEntity() {
|
||||
// Пустой конструктор
|
||||
super();
|
||||
}
|
||||
|
||||
public OrderEntity(Long id, UserEntity user, String date) {
|
||||
public OrderEntity(Long id, UserEntity user, List<OrderLineEntity> lines) {
|
||||
super(id);
|
||||
this.user = user;
|
||||
this.date = date;
|
||||
this.lines.clear();
|
||||
this.lines.addAll(lines);
|
||||
}
|
||||
|
||||
public UserEntity getUser() {
|
||||
@ -27,17 +33,17 @@ public class OrderEntity extends BaseEntity {
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
public String getDate() {
|
||||
return date;
|
||||
public List<OrderLineEntity> getLines() {
|
||||
return lines;
|
||||
}
|
||||
|
||||
public void setDate(String date) {
|
||||
this.date = date;
|
||||
public void setLines(OrderLineEntity line) {
|
||||
this.lines.add(line);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(id, user, date);
|
||||
return Objects.hash(id, user, lines);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unlikely-arg-user")
|
||||
@ -50,6 +56,11 @@ public class OrderEntity extends BaseEntity {
|
||||
final OrderEntity other = (OrderEntity) obj;
|
||||
return Objects.equals(other.getId(), id)
|
||||
&& Objects.equals(other.getUser(), user)
|
||||
&& Objects.equals(other.getDate(), date);
|
||||
&& Objects.equals(other.getLines(), lines);
|
||||
}
|
||||
|
||||
// метод добавления строк заказа в заказ
|
||||
public void addOrderLine(OrderLineEntity orderLine) {
|
||||
this.lines.add(orderLine);
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.example.demo.orders.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
@ -7,24 +8,40 @@ import java.util.Optional;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.example.demo.core.error.NotFoundException;
|
||||
import com.example.demo.order_lines.service.OrderLineService;
|
||||
import com.example.demo.orders.model.OrderEntity;
|
||||
import com.example.demo.orders.repository.OrderRepository;
|
||||
|
||||
@Service
|
||||
public class OrderService {
|
||||
private final OrderRepository repository;
|
||||
private final OrderLineService orderLineService;
|
||||
|
||||
public OrderService(OrderRepository repository) {
|
||||
public OrderService(OrderRepository repository, OrderLineService orderLineService) {
|
||||
this.repository = repository;
|
||||
this.orderLineService = orderLineService;
|
||||
}
|
||||
|
||||
public List<OrderEntity> getAll(Long userId) {
|
||||
if (Objects.equals(userId, 0L)) {
|
||||
return repository.getAll();
|
||||
public List<OrderEntity> getAll(Long userId, List<Long> lines) {
|
||||
|
||||
var linesEnt = new ArrayList<>();
|
||||
for (var lineid : lines) {
|
||||
linesEnt.add(orderLineService.get(lineid));
|
||||
}
|
||||
return repository.getAll().stream()
|
||||
.filter(order -> order.getUser().getId().equals(userId))
|
||||
.toList();
|
||||
|
||||
if (!Objects.equals(userId, 0L) && !Objects.equals(linesEnt.size(), 0)) {
|
||||
return repository.getAll().stream()
|
||||
.filter(line -> line.getUser().getId().equals(
|
||||
userId) && line.getLines().containsAll(linesEnt))
|
||||
.toList();
|
||||
}
|
||||
if (Objects.equals(userId, 0L) && !Objects.equals(linesEnt.size(), 0)) {
|
||||
return repository.getAll().stream().filter(line -> line.getLines().containsAll(linesEnt)).toList();
|
||||
}
|
||||
if (!Objects.equals(userId, 0L) && Objects.equals(linesEnt.size(), 0)) {
|
||||
return repository.getAll().stream().filter(line -> line.getUser().getId().equals(userId)).toList();
|
||||
}
|
||||
return repository.getAll();
|
||||
}
|
||||
|
||||
public OrderEntity get(Long id) {
|
||||
@ -37,10 +54,14 @@ public class OrderService {
|
||||
}
|
||||
|
||||
public OrderEntity update(Long id, OrderEntity entity) {
|
||||
final OrderEntity existsEntity = get(id);
|
||||
existsEntity.setUser(entity.getUser());
|
||||
existsEntity.setDate(entity.getDate());
|
||||
return repository.update(existsEntity);
|
||||
final OrderEntity existEntity = get(id);
|
||||
existEntity.setUser(entity.getUser());
|
||||
existEntity.getLines().clear(); // Очищаем существующие строки заказа
|
||||
var lines = entity.getLines();
|
||||
for (var line : lines) {
|
||||
existEntity.setLines(line);
|
||||
}
|
||||
return repository.update(existEntity);
|
||||
}
|
||||
|
||||
public OrderEntity delete(Long id) {
|
||||
|
@ -26,7 +26,7 @@ class OrderLineServiceTests {
|
||||
@Order(1)
|
||||
void createTest() {
|
||||
// Создаем тестовую сущность OrderLineEntity
|
||||
OrderLineEntity testOrderLine = new OrderLineEntity(null, null, null, 5);
|
||||
OrderLineEntity testOrderLine = new OrderLineEntity(null, null, 5, null);
|
||||
// Вызываем метод create() и сохраняем созданную сущность
|
||||
OrderLineEntity createdOrderLine = orderLineService.create(testOrderLine);
|
||||
// Проверяем, что метод create() вернул не null
|
||||
|
@ -1,5 +1,8 @@
|
||||
package com.example.demo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.MethodOrderer;
|
||||
import org.junit.jupiter.api.Order;
|
||||
@ -8,6 +11,7 @@ import org.junit.jupiter.api.TestMethodOrder;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import com.example.demo.core.error.NotFoundException;
|
||||
import com.example.demo.order_lines.model.OrderLineEntity;
|
||||
import com.example.demo.orders.model.OrderEntity;
|
||||
import com.example.demo.orders.service.OrderService;
|
||||
|
||||
@ -25,16 +29,21 @@ class OrderServiceTests {
|
||||
@Test
|
||||
@Order(1)
|
||||
void createTest() {
|
||||
orderService.create(new OrderEntity(null, null, null));
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
List<OrderLineEntity> lines = new ArrayList();
|
||||
lines.add(new OrderLineEntity(null, null, 4, null));
|
||||
lines.add(new OrderLineEntity(null, null, 5, null));
|
||||
lines.add(new OrderLineEntity(null, null, 6, null));
|
||||
lines.add(new OrderLineEntity(null, null, 7, null));
|
||||
// Создаем тестовую сущность OrderEntity
|
||||
OrderEntity testOrder = new OrderEntity(null, null, "2024-04-01");
|
||||
OrderEntity testOrder = new OrderEntity(null, null, lines);
|
||||
// Вызываем метод create() и сохраняем созданную сущность
|
||||
OrderEntity createdOrder = orderService.create(testOrder);
|
||||
// Проверяем, что метод create() вернул не null
|
||||
Assertions.assertNotNull(createdOrder);
|
||||
// Проверяем, что созданная сущность имеет назначенный ID
|
||||
Assertions.assertNotNull(createdOrder.getId());
|
||||
// Проверяем, что созданная сущность соответствует той, которую мы передали
|
||||
Assertions.assertEquals(testOrder.getDate(), createdOrder.getDate());
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -42,16 +51,10 @@ class OrderServiceTests {
|
||||
void updateTest() {
|
||||
// Получаем сущность OrderEntity для обновления
|
||||
OrderEntity existingOrder = orderService.get(1L);
|
||||
// Создаем новую дату для обновления
|
||||
String newDate = "2024-04-02";
|
||||
// Устанавливаем новую дату в сущность OrderEntity
|
||||
existingOrder.setDate(newDate);
|
||||
// Вызываем метод update() и сохраняем обновленную сущность
|
||||
OrderEntity updatedOrder = orderService.update(1L, existingOrder);
|
||||
// Проверяем, что метод update() вернул не null
|
||||
Assertions.assertNotNull(updatedOrder);
|
||||
// Проверяем, что обновленная сущность имеет ту же дату, что и заданная
|
||||
Assertions.assertEquals(newDate, updatedOrder.getDate());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Loading…
Reference in New Issue
Block a user