diff --git a/src/main/java/com/savvato/tribeapp/controllers/ConnectAPIController.java b/src/main/java/com/savvato/tribeapp/controllers/ConnectAPIController.java index 37e2be30..2e65ae6b 100644 --- a/src/main/java/com/savvato/tribeapp/controllers/ConnectAPIController.java +++ b/src/main/java/com/savvato/tribeapp/controllers/ConnectAPIController.java @@ -76,16 +76,8 @@ public ResponseEntity getQrCodeString( @Connect @PostMapping public boolean connect(@RequestBody @Valid ConnectRequest connectRequest) { - if (connectService.validateQRCode( - connectRequest.qrcodePhrase, connectRequest.toBeConnectedWithUserId)) { - boolean isConnectionSaved = - connectService.saveConnectionDetails( - connectRequest.requestingUserId, connectRequest.toBeConnectedWithUserId); - if (isConnectionSaved) { - return true; - } else { - return false; - } + if (connectService.validateQRCode(connectRequest.qrcodePhrase, connectRequest.toBeConnectedWithUserId)) { + return connectService.saveConnectionDetails(connectRequest.requestingUserId, connectRequest.toBeConnectedWithUserId); } else { return false; } diff --git a/src/test/java/com/savvato/tribeapp/controllers/ConnectAPITest.java b/src/test/java/com/savvato/tribeapp/controllers/ConnectAPITest.java index 074c0d0e..f2ed3618 100644 --- a/src/test/java/com/savvato/tribeapp/controllers/ConnectAPITest.java +++ b/src/test/java/com/savvato/tribeapp/controllers/ConnectAPITest.java @@ -170,6 +170,33 @@ public void connectHappyPath() throws Exception { assertEquals(toBeConnectedWithUserIdCaptor.getValue(), connectRequest.toBeConnectedWithUserId); } + @Test + public void connectSadPath() throws Exception { + when(userPrincipalService.getUserPrincipalByEmail(Mockito.anyString())) + .thenReturn(new UserPrincipal(user)); + String auth = AuthServiceImpl.generateAccessToken(user); + ConnectRequest connectRequest = new ConnectRequest(); + + connectRequest.requestingUserId = 1L; + connectRequest.toBeConnectedWithUserId = 2L; + connectRequest.qrcodePhrase = "ABCDEFGHIJKL"; + + when(connectService.validateQRCode(anyString(), anyLong())).thenReturn(true); + when(connectService.saveConnectionDetails(anyLong(), anyLong())).thenReturn(false); + this.mockMvc + .perform( + post("/api/connect") + .content(gson.toJson(connectRequest)) + .contentType(MediaType.APPLICATION_JSON) + .header("Authorization", "Bearer " + auth) + .characterEncoding("utf-8")) + .andExpect(status().isOk()) + .andExpect(content().string("false")) + .andReturn(); + + } + + @Test public void connectWhenQrCodeInvalid() throws Exception { when(userPrincipalService.getUserPrincipalByEmail(Mockito.anyString()))