Coverage Summary for Class: ProductController (com.app.SuperMarketSystem.controller)
| Class | Class, % | Method, % | Line, % |
|---|---|---|---|
| ProductController | 100% (1/1) | 14.3% (1/7) | 25% (2/8) |
1 package com.app.SuperMarketSystem.controller; 2 3 import com.app.SuperMarketSystem.dto.ApiResponse; 4 import com.app.SuperMarketSystem.dto.ProductDTO; 5 import com.app.SuperMarketSystem.model.Product; 6 import com.app.SuperMarketSystem.service.ProductService; 7 import org.springframework.beans.factory.annotation.Autowired; 8 import org.springframework.web.bind.annotation.*; 9 10 import java.util.List; 11 12 @RestController 13 @RequestMapping("/products") 14 public class ProductController { 15 private final ProductService productService; 16 17 @Autowired 18 public ProductController(ProductService productService) { 19 this.productService = productService; 20 } 21 22 @GetMapping("/list") 23 public ApiResponse list() { 24 return productService.findAllProducts(); 25 } 26 27 @PostMapping("/save") 28 public ApiResponse save(@RequestBody Product product) { 29 return productService.addProduct(product); 30 } 31 32 @PutMapping("/update") 33 public ApiResponse update(@RequestBody Product product) { 34 return productService.updateProduct(product); 35 } 36 37 @DeleteMapping("/delete/{id}") 38 public ApiResponse delete(@PathVariable(name = "id") String productId) { 39 return productService.deleteProduct(productId); 40 } 41 42 @GetMapping("/getBy/{id}") 43 public ApiResponse getById(@PathVariable(name = "id") String productId) { 44 return productService.getProductById(productId); 45 } 46 47 @PostMapping("/purchase") 48 public ApiResponse purchase(@RequestParam(name = "userId") Integer userId, @RequestBody List<ProductDTO> productList) { 49 return productService.purchaseProducts(userId, productList); 50 } 51 }