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 }