Coverage Summary for Class: UserService (com.app.SuperMarketSystem.service)
| Class | Class, % | Method, % | Line, % |
|---|---|---|---|
| UserService | 100% (1/1) | 100% (8/8) | 55.6% (55/99) |
1 package com.app.SuperMarketSystem.service; 2 3 import com.app.SuperMarketSystem.dto.ApiResponse; 4 import com.app.SuperMarketSystem.model.Order; 5 import com.app.SuperMarketSystem.model.User; 6 import com.app.SuperMarketSystem.repository.UserRepository; 7 import org.springframework.beans.factory.annotation.Autowired; 8 import org.springframework.http.HttpStatus; 9 import org.springframework.stereotype.Service; 10 11 import java.util.List; 12 13 @Service 14 public class UserService { 15 private final UserRepository userRepository; 16 17 @Autowired 18 public UserService(UserRepository userRepository) { 19 this.userRepository = userRepository; 20 } 21 22 public ApiResponse findAllUsers() { 23 ApiResponse apiResponse = new ApiResponse(); 24 try { 25 List<User> userList = userRepository.findAll(); 26 if (userList.isEmpty()) { 27 apiResponse.setMessage("No users found within the database"); 28 apiResponse.setStatus(HttpStatus.NOT_FOUND.value()); 29 apiResponse.setData(null); 30 } else { 31 apiResponse.setMessage("Successfully fetched users from within database"); 32 apiResponse.setData(userList); 33 apiResponse.setStatus(HttpStatus.OK.value()); 34 } 35 return apiResponse; 36 } catch (Exception e) { 37 apiResponse.setMessage(e.getMessage()); 38 apiResponse.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value()); 39 return apiResponse; 40 } 41 } 42 43 public ApiResponse addNewUser(User user) { 44 ApiResponse apiResponse = new ApiResponse(); 45 try { 46 userRepository.save(user); 47 apiResponse.setMessage("Successfully added user within the database"); 48 apiResponse.setData(user); 49 apiResponse.setStatus(HttpStatus.OK.value()); 50 return apiResponse; 51 } catch (Exception e) { 52 apiResponse.setMessage(e.getMessage()); 53 apiResponse.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value()); 54 return apiResponse; 55 } 56 } 57 58 public ApiResponse deleteUserById(Integer userId) { 59 ApiResponse apiResponse = new ApiResponse(); 60 try { 61 User user = userRepository.getById(userId); 62 if (null != user) { 63 user.setOrders(null); 64 userRepository.delete(user); 65 apiResponse.setStatus(HttpStatus.OK.value()); 66 apiResponse.setMessage("Successfully deleted user from within the database"); 67 } else { 68 apiResponse.setStatus(HttpStatus.NOT_FOUND.value()); 69 apiResponse.setMessage("No such user found against this ID"); 70 } 71 apiResponse.setData(null); 72 return apiResponse; 73 } catch (Exception e) { 74 apiResponse.setMessage(e.getMessage()); 75 apiResponse.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value()); 76 return apiResponse; 77 } 78 } 79 80 public ApiResponse deleteUser(User user) { 81 ApiResponse apiResponse = new ApiResponse(); 82 try { 83 userRepository.delete(user); 84 apiResponse.setStatus(HttpStatus.OK.value()); 85 apiResponse.setMessage("Successfully deleted user from within the database"); 86 apiResponse.setData(null); 87 return apiResponse; 88 } catch (Exception e) { 89 apiResponse.setMessage(e.getMessage()); 90 apiResponse.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value()); 91 return apiResponse; 92 } 93 } 94 95 public ApiResponse updateUser(User updatedUser) { 96 ApiResponse apiResponse = new ApiResponse(); 97 try { 98 User existingUser = userRepository.getById(updatedUser.getId()); 99 if (null != existingUser) { 100 userRepository.save(updatedUser); 101 apiResponse.setMessage("Successfully updated user within the database"); 102 apiResponse.setData(updatedUser); 103 apiResponse.setStatus(HttpStatus.OK.value()); 104 } else { 105 apiResponse.setStatus(HttpStatus.NOT_FOUND.value()); 106 apiResponse.setMessage("No such user found against this ID"); 107 apiResponse.setData(null); 108 } 109 return apiResponse; 110 111 } catch (Exception e) { 112 apiResponse.setMessage(e.getMessage()); 113 apiResponse.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value()); 114 return apiResponse; 115 } 116 } 117 118 public ApiResponse getUserById(Integer userId) { 119 ApiResponse apiResponse = new ApiResponse(); 120 try { 121 User user = userRepository.getById(userId); 122 if (null != user) { 123 apiResponse.setStatus(HttpStatus.OK.value()); 124 apiResponse.setMessage("Successful"); 125 apiResponse.setData(user); 126 } else { 127 apiResponse.setData(null); 128 apiResponse.setStatus(HttpStatus.NOT_FOUND.value()); 129 apiResponse.setMessage("No such user found within the database"); 130 } 131 return apiResponse; 132 } catch (Exception e) { 133 apiResponse.setMessage(e.getMessage()); 134 apiResponse.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value()); 135 return apiResponse; 136 } 137 } 138 139 public ApiResponse getOrdersByUserId(Integer userId) { 140 ApiResponse apiResponse = new ApiResponse(); 141 try { 142 User user = userRepository.getById(userId); 143 if (null != user) { 144 List<Order> orders = user.getOrders(); 145 if (orders.isEmpty()) { 146 apiResponse.setStatus(HttpStatus.NOT_FOUND.value()); 147 apiResponse.setMessage("No orders made yet by this user"); 148 } else { 149 apiResponse.setStatus(HttpStatus.OK.value()); 150 apiResponse.setMessage("These are the orders made by the user"); 151 } 152 apiResponse.setData(orders); 153 } else { 154 apiResponse.setData(null); 155 apiResponse.setStatus(HttpStatus.NOT_FOUND.value()); 156 apiResponse.setMessage("No such user found against this ID within the database"); 157 } 158 return apiResponse; 159 } catch (Exception e) { 160 apiResponse.setMessage(e.getMessage()); 161 apiResponse.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value()); 162 return apiResponse; 163 } 164 } 165 }