OrderServiceTest.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package com.izouma.awesomeAdmin.service;
  2. import com.izouma.awesomeAdmin.domain.Product;
  3. import com.izouma.awesomeAdmin.dto.PageQuery;
  4. import org.junit.jupiter.api.Test;
  5. import org.junit.jupiter.api.extension.ExtendWith;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.boot.test.context.SpringBootTest;
  8. import org.springframework.core.ParameterizedTypeReference;
  9. import org.springframework.data.domain.Page;
  10. import org.springframework.data.domain.PageRequest;
  11. import org.springframework.http.HttpHeaders;
  12. import org.springframework.http.MediaType;
  13. import org.springframework.test.context.junit.jupiter.SpringExtension;
  14. import org.springframework.web.reactive.function.client.WebClient;
  15. import reactor.core.publisher.Mono;
  16. import java.util.ArrayList;
  17. @ExtendWith(SpringExtension.class)
  18. @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
  19. public class OrderServiceTest {
  20. @Autowired
  21. private OrderService orderService;
  22. @Autowired
  23. private ProductService productService;
  24. @Autowired
  25. private WebClient webClient;
  26. @Test
  27. public void createOrder() {
  28. ParameterizedTypeReference<Page<Product>> typeReference = new ParameterizedTypeReference<Page<Product>>() {
  29. };
  30. Mono<Page<Product>> mono = webClient.post()
  31. .uri("http://localhost:8080/product/list")
  32. .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
  33. .body(new PageQuery(), PageQuery.class)
  34. .retrieve().bodyToMono(typeReference);
  35. mono.subscribe(page -> {
  36. System.out.println(page.getTotalElements());
  37. });
  38. }
  39. }