Merge branch 'Feature/delete_my_account' into 'master'
Feature/delete my account See merge request cse1105/2018-2019/oopp-group-43/template!83
This commit is contained in:
@@ -400,7 +400,7 @@ public class CalculatorController {
|
||||
}
|
||||
try {
|
||||
extraActivityController.updateExtras();
|
||||
} catch (Exception ex) {
|
||||
} catch (NullPointerException ex) {
|
||||
System.out.println("continue");
|
||||
}
|
||||
Float footprint = userService.saveFootprint(userService.currentUser.getName());
|
||||
|
||||
@@ -332,4 +332,20 @@ public class UserService {
|
||||
.build().encode().toUri(), List.class);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes a user from the database.
|
||||
* @param name the username of the current user.
|
||||
*/
|
||||
@SuppressWarnings("Duplicates")
|
||||
public void deleteAccount(String name) {
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.set("Accept", MediaType.APPLICATION_JSON_VALUE);
|
||||
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl("http://localhost:8080/deleteAccount")
|
||||
.queryParam("name", name);
|
||||
HttpEntity<?> entity = new HttpEntity<>(headers);
|
||||
System.out.println(builder.build().encode().toUri());
|
||||
ResponseEntity<String> authenticateResponse = this.restTemplate.getForEntity(builder.build()
|
||||
.encode().toUri(), String.class);
|
||||
}
|
||||
}
|
||||
@@ -152,8 +152,6 @@ public class UserServiceTest {
|
||||
|
||||
@Test
|
||||
public void removeFriendTest() throws Exception {
|
||||
userService.addFriend("Eric", "Ceren");
|
||||
Mockito.verify(userService).addFriend("Eric", "Ceren");
|
||||
userService.removeFriend("Eric", "Ceren");
|
||||
Mockito.verify(userService).removeFriend("Eric", "Ceren");
|
||||
}
|
||||
@@ -169,6 +167,12 @@ public class UserServiceTest {
|
||||
userService.getResults("mika");
|
||||
Mockito.verify(userService).getResults("mika");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void deleteAccountTest() throws Exception {
|
||||
userService.deleteAccount("merel");
|
||||
Mockito.verify(userService).deleteAccount("merel");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -195,5 +195,14 @@ public class UserController {
|
||||
public Map<String, String> getResults(@RequestParam(value = "name") String name) {
|
||||
return userService.getResults(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* This method deletes a user from the database.
|
||||
* @param name name of the user
|
||||
*/
|
||||
@RequestMapping("/deleteAccount")
|
||||
public void deleteAccount(@RequestParam(value = "name") String name) {
|
||||
userService.deleteAccount(name);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -303,4 +303,15 @@ public class UserService {
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method gets the list of all users.
|
||||
*/
|
||||
public void deleteAccount(String name) {
|
||||
User user = userRepository.findByName(name);
|
||||
if (user == null) {
|
||||
throw new ApplicationException("User doesn't exist");
|
||||
}
|
||||
userRepository.delete(user);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -262,4 +262,16 @@ public class UserControllerTest {
|
||||
assertEquals("mika", arg1Captor.getValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void deleteAccountTest() throws Exception {
|
||||
ArgumentCaptor<String> arg1Captor = ArgumentCaptor.forClass(String.class);
|
||||
mvc.perform(get("/deleteAccount")
|
||||
.param("name", "merel")
|
||||
.accept(MediaType.APPLICATION_JSON))
|
||||
.andDo(print())
|
||||
.andExpect(status().isOk());
|
||||
verify(userService, times(1)).deleteAccount(arg1Captor.capture());
|
||||
assertEquals("merel", arg1Captor.getValue());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,9 @@ package greenify.server.service;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
import static org.mockito.Mockito.doNothing;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import greenify.common.ApplicationException;
|
||||
@@ -326,4 +329,17 @@ public class UserServiceTest {
|
||||
public void getAchievementsTest() {
|
||||
assertEquals(AllAchievements.getDefaults(), userService.getAchievements("alex"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void deleteAccountException() {
|
||||
assertThrows(ApplicationException.class, () -> userService.deleteAccount("merel"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void deleteAccount() {
|
||||
User alex = new User(1L, "alex", "password");
|
||||
doNothing().when(userRepository).delete(alex);
|
||||
userService.deleteAccount("alex");
|
||||
verify(userRepository, times(1)).delete(alex);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user