From 8c743ee70b7fad6bde310e93dc4f59bfeb974c62 Mon Sep 17 00:00:00 2001 From: zargess Date: Sun, 1 Dec 2024 19:24:45 +0100 Subject: [PATCH] Server Unit Tests Removed @Mock annotation --- .../DeleteFriendRequestTests.java | 4 +- .../inputhandler/DeleteFriendTests.java | 4 +- .../FriendRequestServerTests.java | 5 +- .../GetFriendListRequestTests.java | 5 +- .../test/java/com/fagi/model/UserTests.java | 222 ++++++++++++++---- 5 files changed, 189 insertions(+), 51 deletions(-) diff --git a/fagiServer/src/test/java/com/fagi/handler/inputhandler/DeleteFriendRequestTests.java b/fagiServer/src/test/java/com/fagi/handler/inputhandler/DeleteFriendRequestTests.java index 4f5cf5f..a421b47 100644 --- a/fagiServer/src/test/java/com/fagi/handler/inputhandler/DeleteFriendRequestTests.java +++ b/fagiServer/src/test/java/com/fagi/handler/inputhandler/DeleteFriendRequestTests.java @@ -6,7 +6,6 @@ import com.fagi.util.OutputAgentTestUtil; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; -import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; @@ -20,9 +19,10 @@ @ExtendWith(MockitoExtension.class) public class DeleteFriendRequestTests extends BaseInputHandlerTest { - @Mock private User user; + private User user; void beforeEach() { + user = Mockito.mock(User.class); } @Test diff --git a/fagiServer/src/test/java/com/fagi/handler/inputhandler/DeleteFriendTests.java b/fagiServer/src/test/java/com/fagi/handler/inputhandler/DeleteFriendTests.java index 2c49853..16ae4de 100644 --- a/fagiServer/src/test/java/com/fagi/handler/inputhandler/DeleteFriendTests.java +++ b/fagiServer/src/test/java/com/fagi/handler/inputhandler/DeleteFriendTests.java @@ -6,7 +6,6 @@ import com.fagi.util.OutputAgentTestUtil; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; -import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; @@ -20,9 +19,10 @@ @ExtendWith(MockitoExtension.class) public class DeleteFriendTests extends BaseInputHandlerTest { - @Mock private User user; + private User user; void beforeEach() { + user = Mockito.mock(User.class); } @Test diff --git a/fagiServer/src/test/java/com/fagi/handler/inputhandler/FriendRequestServerTests.java b/fagiServer/src/test/java/com/fagi/handler/inputhandler/FriendRequestServerTests.java index ca04bee..7f03598 100644 --- a/fagiServer/src/test/java/com/fagi/handler/inputhandler/FriendRequestServerTests.java +++ b/fagiServer/src/test/java/com/fagi/handler/inputhandler/FriendRequestServerTests.java @@ -15,7 +15,6 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentCaptor; -import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; @@ -30,9 +29,11 @@ @ExtendWith(MockitoExtension.class) class FriendRequestServerTests extends BaseInputHandlerTest { - @Mock private User user; + private User user; void beforeEach() { + user = Mockito.mock(User.class); + var username = "bob"; doReturn(username) diff --git a/fagiServer/src/test/java/com/fagi/handler/inputhandler/GetFriendListRequestTests.java b/fagiServer/src/test/java/com/fagi/handler/inputhandler/GetFriendListRequestTests.java index 110ae3e..468627c 100644 --- a/fagiServer/src/test/java/com/fagi/handler/inputhandler/GetFriendListRequestTests.java +++ b/fagiServer/src/test/java/com/fagi/handler/inputhandler/GetFriendListRequestTests.java @@ -8,7 +8,7 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentCaptor; import org.mockito.Captor; -import org.mockito.Mock; +import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; import java.util.ArrayList; @@ -28,11 +28,12 @@ @ExtendWith(MockitoExtension.class) class GetFriendListRequestTests extends BaseInputHandlerTest { - @Mock private User user; @Captor private ArgumentCaptor friendListArgumentCaptor; private final List friendsUsernames = new ArrayList<>(); void beforeEach() { + User user = Mockito.mock(User.class); + doReturn(user) .when(data) .getUser(anyString()); diff --git a/fagiServer/src/test/java/com/fagi/model/UserTests.java b/fagiServer/src/test/java/com/fagi/model/UserTests.java index 8f0abce..b1de291 100644 --- a/fagiServer/src/test/java/com/fagi/model/UserTests.java +++ b/fagiServer/src/test/java/com/fagi/model/UserTests.java @@ -8,7 +8,6 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; -import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoSettings; @@ -19,6 +18,7 @@ import static org.junit.jupiter.api.Assertions.assertAll; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertInstanceOf; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doReturn; @@ -29,14 +29,21 @@ @ExtendWith(MockitoExtension.class) @MockitoSettings(strictness = Strictness.LENIENT) public class UserTests { - @Mock private Data data; + private Data data; private User user; private User secondUser; @BeforeEach void setup() { - user = new User("username", "password"); - secondUser = new User("second user", "123"); + data = Mockito.mock(Data.class); + user = new User( + "username", + "password" + ); + secondUser = new User( + "second user", + "123" + ); doReturn(user) .when(data) .getUser(user.getUserName()); @@ -51,73 +58,157 @@ void setup() { @Test void sendingFriendRequestToAFriend_ShouldResultInUserExistsResponse() { user.addFriend(secondUser); - var friendReq = new FriendRequest(secondUser.getUserName(), new TextMessage("Hello", user.getUserName(), -1)); + var friendReq = new FriendRequest( + secondUser.getUserName(), + new TextMessage( + "Hello", + user.getUserName(), + -1 + ) + ); - Response response = user.requestFriend(data, friendReq); + Response response = user.requestFriend( + data, + friendReq + ); - assertTrue(response instanceof UserExists); + assertInstanceOf( + UserExists.class, + response + ); } @Test void sendingFriendRequestToNonExistingUser_ShouldResultInNoSuchUserResponse() { - var friendReq = new FriendRequest("non existing user", new TextMessage("Hello", user.getUserName(), -1)); + var friendReq = new FriendRequest( + "non existing user", + new TextMessage( + "Hello", + user.getUserName(), + -1 + ) + ); - Response response = user.requestFriend(data, friendReq); + Response response = user.requestFriend( + data, + friendReq + ); - assertTrue(response instanceof NoSuchUser); + assertInstanceOf( + NoSuchUser.class, + response + ); } @Test void sendingFriendRequestToUserNotInFriendRequestList_ShouldResultInUserGettingAFriendRequest() { - var friendReq = new FriendRequest(secondUser.getUserName(), new TextMessage("Hello", user.getUserName(), -1)); + var friendReq = new FriendRequest( + secondUser.getUserName(), + new TextMessage( + "Hello", + user.getUserName(), + -1 + ) + ); - user.requestFriend(data, friendReq); + user.requestFriend( + data, + friendReq + ); List friendRequests = secondUser.getFriendReq(); - assertEquals(friendReq, friendRequests.get(0)); + assertEquals( + friendReq, + friendRequests.getFirst() + ); } @Test void sendingFriendRequestToUserInFriendRequestList_ShouldResultInRemovalOfBothRequests() { - var firstFriendRequest = new FriendRequest(user.getUserName(), - new TextMessage("Hello", secondUser.getUserName(), -1) + var firstFriendRequest = new FriendRequest( + user.getUserName(), + new TextMessage( + "Hello", + secondUser.getUserName(), + -1 + ) ); - var secondFriendReq = new FriendRequest(secondUser.getUserName(), - new TextMessage("Hello", user.getUserName(), -1) + var secondFriendReq = new FriendRequest( + secondUser.getUserName(), + new TextMessage( + "Hello", + user.getUserName(), + -1 + ) ); - secondUser.requestFriend(data, firstFriendRequest); + secondUser.requestFriend( + data, + firstFriendRequest + ); - user.requestFriend(data, secondFriendReq); + user.requestFriend( + data, + secondFriendReq + ); List userFriendRequests = user.getFriendReq(); List newFriendFriendRequests = secondUser.getFriendReq(); - assertAll(() -> assertFalse(userFriendRequests.contains(firstFriendRequest)), - () -> assertFalse(newFriendFriendRequests.contains(secondFriendReq)) + assertAll( + () -> assertFalse(userFriendRequests.contains(firstFriendRequest)), + () -> assertFalse(newFriendFriendRequests.contains(secondFriendReq)) ); } @Test void sendingFriendRequestToUserInFriendRequestList_ShouldResultInUsersBecomingFriends() { - var firstFriendRequest = new FriendRequest(user.getUserName(), - new TextMessage("Hello", secondUser.getUserName(), -1) + var firstFriendRequest = new FriendRequest( + user.getUserName(), + new TextMessage( + "Hello", + secondUser.getUserName(), + -1 + ) ); - var secondFriendReq = new FriendRequest(secondUser.getUserName(), - new TextMessage("Hello", user.getUserName(), -1) + var secondFriendReq = new FriendRequest( + secondUser.getUserName(), + new TextMessage( + "Hello", + user.getUserName(), + -1 + ) ); - secondUser.requestFriend(data, firstFriendRequest); + secondUser.requestFriend( + data, + firstFriendRequest + ); - user.requestFriend(data, secondFriendReq); + user.requestFriend( + data, + secondFriendReq + ); - verify(data, times(1)).makeFriends(user, secondUser); + verify( + data, + times(1) + ).makeFriends( + user, + secondUser + ); } @Test void tryingToRemoveNonExistingFriendRequest_ShouldResultInNoSuchUserResponse() { - Response response = user.removeFriendRequest(data, "non existing"); + Response response = user.removeFriendRequest( + data, + "non existing" + ); - assertTrue(response instanceof NoSuchUser); + assertInstanceOf( + NoSuchUser.class, + response + ); } @Test @@ -125,32 +216,68 @@ void removingFriendRequest_FriendRequestRemovedAndAllIsWellResponse() { when(data.storeUser(any())).thenReturn(new AllIsWell()); var senderUsername = "potential friend"; - var friendReq = new FriendRequest(user.getUserName(), new TextMessage("Hullo me friend", senderUsername, 42)); + var friendReq = new FriendRequest( + user.getUserName(), + new TextMessage( + "Hullo me friend", + senderUsername, + 42 + ) + ); List friendRequestList = user.getFriendReq(); friendRequestList.add(friendReq); - Response response = user.removeFriendRequest(data, senderUsername); + Response response = user.removeFriendRequest( + data, + senderUsername + ); - assertAll(() -> assertTrue(friendRequestList.isEmpty()), () -> assertTrue(response instanceof AllIsWell)); + assertAll( + () -> assertTrue(friendRequestList.isEmpty()), + () -> assertInstanceOf( + AllIsWell.class, + response + ) + ); } @Test void whenRequestingFriendTwice_ShouldResultInUserExistsResponse() { - var friendRequest = new FriendRequest(secondUser.getUserName(), - new TextMessage("Hello", user.getUserName(), -1) + var friendRequest = new FriendRequest( + secondUser.getUserName(), + new TextMessage( + "Hello", + user.getUserName(), + -1 + ) ); - user.requestFriend(data, friendRequest); + user.requestFriend( + data, + friendRequest + ); - Response response = user.requestFriend(data, friendRequest); + Response response = user.requestFriend( + data, + friendRequest + ); - assertTrue(response instanceof UserExists); + assertInstanceOf( + UserExists.class, + response + ); } @Test void whenTryingToRemoveUserThatIsNotAFriend_ShouldResultInUserExistsResponse() { - Response response = user.removeFriend(data, secondUser.getUserName()); - assertTrue(response instanceof UserExists); + Response response = user.removeFriend( + data, + secondUser.getUserName() + ); + assertInstanceOf( + UserExists.class, + response + ); } @Test @@ -158,7 +285,10 @@ void removingAFriend_ShouldResultInUsernameNotExistingInFriendList() { List friends = user.getFriends(); friends.add(secondUser.getUserName()); - user.removeFriend(data, secondUser.getUserName()); + user.removeFriend( + data, + secondUser.getUserName() + ); assertFalse(friends.contains(secondUser.getUserName())); } @@ -170,8 +300,14 @@ void removingAFriend_ShouldResultInAllIsWellResponse() { .getFriends() .add(secondUser.getUserName()); - Response response = user.removeFriend(data, secondUser.getUserName()); + Response response = user.removeFriend( + data, + secondUser.getUserName() + ); - assertTrue(response instanceof AllIsWell); + assertInstanceOf( + AllIsWell.class, + response + ); } }