diff options
| author | Akash Keshav <112591754+domesticchores@users.noreply.github.com> | 2025-02-27 21:02:55 -0500 | 
|---|---|---|
| committer | Akash Keshav <112591754+domesticchores@users.noreply.github.com> | 2025-02-27 21:02:55 -0500 | 
| commit | b04d873dfd757e1130845678a57ad8cf818b692e (patch) | |
| tree | a51e012b110071c208356d9da8c5c7a012767803 /ufund-api/src/test/java/com | |
| parent | f33629005913a2f2d6814c9a8686989278f38bb0 (diff) | |
| download | JellySolutions-b04d873dfd757e1130845678a57ad8cf818b692e.tar.gz JellySolutions-b04d873dfd757e1130845678a57ad8cf818b692e.tar.bz2 JellySolutions-b04d873dfd757e1130845678a57ad8cf818b692e.zip  | |
added the JUnit tests for UserFileDAO -ak
Diffstat (limited to 'ufund-api/src/test/java/com')
| -rw-r--r-- | ufund-api/src/test/java/com/ufund/api/ufundapi/persistence/UserFileDAOTest.java | 112 | 
1 files changed, 112 insertions, 0 deletions
diff --git a/ufund-api/src/test/java/com/ufund/api/ufundapi/persistence/UserFileDAOTest.java b/ufund-api/src/test/java/com/ufund/api/ufundapi/persistence/UserFileDAOTest.java new file mode 100644 index 0000000..dfe9b10 --- /dev/null +++ b/ufund-api/src/test/java/com/ufund/api/ufundapi/persistence/UserFileDAOTest.java @@ -0,0 +1,112 @@ +package com.ufund.api.ufundapi.persistence; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import java.io.File; +import java.io.IOException; + +import com.fasterxml.jackson.databind.ObjectMapper; + +import com.ufund.api.ufundapi.model.User; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; + +@Tag("Persistence-tier") +public class UserFileDAOTest { +    UserFileDAO userFileDAO; +    User[] testUsers; +    ObjectMapper mockObjectMapper; + +    @BeforeEach +    public void setupHeroFileDAO() throws IOException { +        mockObjectMapper = mock(ObjectMapper.class); +        testUsers = new User[3]; +        testUsers[0] = new User("bob"); +		testUsers[1] = new User("admin"); +		testUsers[2] = new User("jelly12"); + +        // When the object mapper is supposed to read from the file +        // the mock object mapper will return the hero array above +        when(mockObjectMapper +            .readValue(new File("doesnt_matter.txt"),User[].class)) +                .thenReturn(testUsers); +        userFileDAO = new UserFileDAO("doesnt_matter.txt",mockObjectMapper); +    } + +    @Test +    public void GetUsersTest() throws IOException { +        User[] users = userFileDAO.getUsers(); + +        assertEquals(users.length,testUsers.length); +		 +        for (int i = 0; i < testUsers.length;++i) { +			boolean isInArray = false; +            for (User user : testUsers) { +				if (users[i].getName().equals(user.getName())) { +					isInArray = true; +				} +			} +			assertTrue(isInArray); +		} +    } + +    @Test +    public void FindUsersTest() throws IOException { +		User realUser1 = userFileDAO.getUser("bob"); +		User realUser2 = userFileDAO.getUser("admin"); + +		assertEquals(testUsers[0], realUser1); +		assertEquals(testUsers[1], realUser2); +    } + +	@Test +    public void FindUsersNullTest() throws IOException { +		User fakeUser = userFileDAO.getUser("phil.n.thropist"); + +		assertNull(fakeUser); +    } + +	@Test +	public void CreateUserTest() throws IOException { +		User newUser = new User("keshey"); +		userFileDAO.createUser(newUser); + +		User actualUser = userFileDAO.getUser("keshey"); +		assertNotNull(actualUser); + +		assertEquals(actualUser.getName(), newUser.getName()); +	} + +	@Test +	public void DeleteUserTest() throws IOException { +		User notDeletedUser = userFileDAO.getUser("jelly12"); +		assertNotNull(notDeletedUser); + +		boolean isDeleted = userFileDAO.deleteUser("jelly12"); +		assertTrue(isDeleted); + +		User deletedUser = userFileDAO.getUser("jelly12"); +		assertNull(deletedUser); +	} + +	@Test +	public void UpdateUserTest() throws IOException { +		User toBeUpdatedUser = userFileDAO.getUser("admin"); +		assertNotNull(toBeUpdatedUser); + +		User updatedUser = new User("jellinadmin"); + +		updatedUser = userFileDAO.updateUser(updatedUser, "admin"); +		assertNotEquals(toBeUpdatedUser, updatedUser); +		assertEquals("jellinadmin", updatedUser.getName()); +	} + +}  | 
