diff --git a/backend/task-manager/pom.xml b/backend/task-manager/pom.xml index cf05df18..fd73e74a 100644 --- a/backend/task-manager/pom.xml +++ b/backend/task-manager/pom.xml @@ -17,7 +17,7 @@ - + @@ -27,7 +27,7 @@ - 21 + 17 ${DBPASSWORDFROMYML} ${DBUSERNAMEFROMYML} diff --git a/backend/task-manager/src/main/java/com/example/task_manager/controller/AdminController.java b/backend/task-manager/src/main/java/com/example/task_manager/controller/AdminController.java index 9b180714..54056f34 100644 --- a/backend/task-manager/src/main/java/com/example/task_manager/controller/AdminController.java +++ b/backend/task-manager/src/main/java/com/example/task_manager/controller/AdminController.java @@ -3,6 +3,7 @@ import com.example.task_manager.DTO.AdminDTO; import com.example.task_manager.DTO.ChangeRoleRequestDTO; import com.example.task_manager.DTO.ResetPasswordRequestDTO; + import com.example.task_manager.service.AdminService; import com.example.task_manager.service.TeamMemberService; @@ -10,7 +11,6 @@ import org.springframework.web.bind.annotation.*; import java.util.List; - @RestController @RequestMapping("/api/admins/actions") public class AdminController { diff --git a/backend/task-manager/src/main/java/com/example/task_manager/controller/TeamMemberController.java b/backend/task-manager/src/main/java/com/example/task_manager/controller/TeamMemberController.java index bcdd1003..5c798f6f 100644 --- a/backend/task-manager/src/main/java/com/example/task_manager/controller/TeamMemberController.java +++ b/backend/task-manager/src/main/java/com/example/task_manager/controller/TeamMemberController.java @@ -5,8 +5,6 @@ import com.example.task_manager.DTO.TaskDTO; import com.example.task_manager.DTO.TeamDTO; import com.example.task_manager.service.TeamMemberService; -import com.example.task_manager.service.AdminService; - import java.util.List; import org.springframework.http.ResponseEntity; diff --git a/backend/task-manager/src/main/java/com/example/task_manager/service/AdminService.java b/backend/task-manager/src/main/java/com/example/task_manager/service/AdminService.java index 9e4cb9a9..739792fc 100644 --- a/backend/task-manager/src/main/java/com/example/task_manager/service/AdminService.java +++ b/backend/task-manager/src/main/java/com/example/task_manager/service/AdminService.java @@ -1,12 +1,9 @@ package com.example.task_manager.service; -import java.util.ArrayList; -import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.stream.Collectors; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.example.task_manager.DTO.AdminDTO; diff --git a/backend/task-manager/src/main/java/com/example/task_manager/service/NotificationService.java b/backend/task-manager/src/main/java/com/example/task_manager/service/NotificationService.java index 09d972fe..50ced310 100644 --- a/backend/task-manager/src/main/java/com/example/task_manager/service/NotificationService.java +++ b/backend/task-manager/src/main/java/com/example/task_manager/service/NotificationService.java @@ -143,7 +143,7 @@ public void notifyTeamUnassignment(TeamMember teamMember, Team team) { //get unread notifications for a team member public List getUnreadNotifications(int teamMemberId) { - TeamMember teamMember = teamMemberRepository.findById(teamMemberId) + teamMemberRepository.findById(teamMemberId) .orElseThrow(() -> new RuntimeException("TeamMember not found")); return notifRepository.findByTeamMemberIdAndIsReadFalse(teamMemberId) @@ -154,7 +154,7 @@ public List getUnreadNotifications(int teamMemberId) { //get read notifications for a team member public List getReadNotifications(int teamMemberId) { - TeamMember teamMember = teamMemberRepository.findById(teamMemberId) + teamMemberRepository.findById(teamMemberId) .orElseThrow(() -> new RuntimeException("TeamMember not found")); return notifRepository.findByTeamMemberIdAndIsReadTrue(teamMemberId) diff --git a/backend/task-manager/src/main/java/com/example/task_manager/service/TeamMemberService.java b/backend/task-manager/src/main/java/com/example/task_manager/service/TeamMemberService.java index edf13fcf..93a8a911 100644 --- a/backend/task-manager/src/main/java/com/example/task_manager/service/TeamMemberService.java +++ b/backend/task-manager/src/main/java/com/example/task_manager/service/TeamMemberService.java @@ -282,8 +282,8 @@ public void resetPassword(int teamMemberId, String newPassword) { .orElseThrow(() -> new RuntimeException("Team Member not found with ID: " + teamMemberId)); //create new salt and new password - String newSalt = authInfoService.generateSalt(); - String newHashedPassword = authInfoService.hashPassword(newPassword, newSalt); + String newSalt = AuthInfoService.generateSalt(); + String newHashedPassword = AuthInfoService.hashPassword(newPassword, newSalt); //set the new salt and hashed password teamMember.getAuthInfo().setSalt(newSalt); diff --git a/backend/task-manager/src/main/java/com/example/task_manager/service/TeamService.java b/backend/task-manager/src/main/java/com/example/task_manager/service/TeamService.java index 8c2db6b3..d352c2e9 100644 --- a/backend/task-manager/src/main/java/com/example/task_manager/service/TeamService.java +++ b/backend/task-manager/src/main/java/com/example/task_manager/service/TeamService.java @@ -18,7 +18,6 @@ import com.example.task_manager.repository.TaskRepository; import com.example.task_manager.repository.TeamMemberRepository; import com.example.task_manager.repository.TeamRepository; -import com.sun.source.util.TaskListener; import jakarta.transaction.Transactional; @@ -133,7 +132,7 @@ public List getTeamMembers(int teamId) { * Returns all tasks attached to a team */ public List getTeamTasks(int teamId) { - Team team = teamRepository.findById(teamId) + teamRepository.findById(teamId) .orElseThrow(() -> new RuntimeException("Team not found with ID: " + teamId)); return taskRepository.findByTeam_TeamId(teamId).stream() @@ -144,7 +143,7 @@ public List getTeamTasks(int teamId) { /* * Converts a Task entity to a TaskDTO entity */ - private TaskDTO convertToDTO(Task task) { + public TaskDTO convertToDTO(Task task) { List members = task.getAssignedMembers().stream() .map(IsAssigned::getTeamMember) .map(member -> new TeamMemberDTO( @@ -171,7 +170,7 @@ private TaskDTO convertToDTO(Task task) { /** * Converts a Team entity to a TeamDTO. */ - private TeamDTO convertToDTO(Team team) { + public TeamDTO convertToDTO(Team team) { return new TeamDTO( team.getTeamId(), team.getTeamName(), @@ -182,7 +181,7 @@ private TeamDTO convertToDTO(Team team) { /** * Converts a TeamMember entity to a TeamMemberDTO. */ - private TeamMemberDTO convertToDTO(TeamMember teamMember) { + public TeamMemberDTO convertToDTO(TeamMember teamMember) { return new TeamMemberDTO( teamMember.getAccountId(), teamMember.getUserName(), @@ -190,7 +189,7 @@ private TeamMemberDTO convertToDTO(TeamMember teamMember) { teamMember.getRole()); } - private TeamMemberInTeamDTO convertToDTO(TeamMember teamMember, boolean isTeamLead) { + public TeamMemberInTeamDTO convertToDTO(TeamMember teamMember, boolean isTeamLead) { return new TeamMemberInTeamDTO( teamMember.getAccountId(), teamMember.getUserName(), diff --git a/backend/task-manager/src/test/java/com/example/task_manager/DTO_tests/AuthInfoDTOTest.java b/backend/task-manager/src/test/java/com/example/task_manager/DTO_tests/AuthInfoDTOTest.java index f14a52ff..2acbfeed 100644 --- a/backend/task-manager/src/test/java/com/example/task_manager/DTO_tests/AuthInfoDTOTest.java +++ b/backend/task-manager/src/test/java/com/example/task_manager/DTO_tests/AuthInfoDTOTest.java @@ -2,7 +2,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; diff --git a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/AdminAccountControllerTest.java b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/AdminAccountControllerTest.java index 5affe0d7..43a9413c 100644 --- a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/AdminAccountControllerTest.java +++ b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/AdminAccountControllerTest.java @@ -14,9 +14,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import com.example.task_manager.DTO.UpdateEmailRequestDTO; @@ -31,7 +31,7 @@ public class AdminAccountControllerTest { @Autowired private MockMvc mockMvc; - @MockBean + @MockitoBean private AdminService adminService; @Autowired diff --git a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/AdminControllerTest.java b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/AdminControllerTest.java index f371ea09..7b80c2dd 100644 --- a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/AdminControllerTest.java +++ b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/AdminControllerTest.java @@ -20,9 +20,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import com.fasterxml.jackson.databind.ObjectMapper; @@ -34,13 +34,13 @@ public class AdminControllerTest { @Autowired private MockMvc mockMvc; - @MockBean + @MockitoBean private AdminService adminService; - @MockBean + @MockitoBean private AdminRepository adminRepository; - @MockBean + @MockitoBean private TeamMemberRepository teamMemberRepository; @Autowired diff --git a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/AuthInfoControllerTest.java b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/AuthInfoControllerTest.java index 670ae406..1c7a2f6a 100644 --- a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/AuthInfoControllerTest.java +++ b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/AuthInfoControllerTest.java @@ -12,8 +12,8 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; @WebMvcTest(AuthController.class) @@ -23,7 +23,7 @@ public class AuthInfoControllerTest { @Autowired private MockMvc mockMvc; - @MockBean + @MockitoBean private AuthInfoService authInfoService; /** diff --git a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/IsAssignedControllerTest.java b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/IsAssignedControllerTest.java index 43184a92..bfc2318d 100644 --- a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/IsAssignedControllerTest.java +++ b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/IsAssignedControllerTest.java @@ -10,8 +10,8 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; @WebMvcTest(IsAssignedController.class) @@ -21,7 +21,7 @@ public class IsAssignedControllerTest { @Autowired private MockMvc mockMvc; - @MockBean + @MockitoBean private IsAssignedService isAssignedService; /** diff --git a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/IsMemberOfControllerTest.java b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/IsMemberOfControllerTest.java index 6d618037..c9ad0d2e 100644 --- a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/IsMemberOfControllerTest.java +++ b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/IsMemberOfControllerTest.java @@ -11,8 +11,8 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; @WebMvcTest(IsMemberOfController.class) @@ -22,7 +22,7 @@ public class IsMemberOfControllerTest { @Autowired private MockMvc mockMvc; - @MockBean + @MockitoBean private IsMemberOfService isMemberOfService; /** diff --git a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/NotificationControllerTest.java b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/NotificationControllerTest.java index a6c143bf..4c7d9117 100644 --- a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/NotificationControllerTest.java +++ b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/NotificationControllerTest.java @@ -11,10 +11,11 @@ import com.example.task_manager.service.NotificationService; import org.junit.jupiter.api.Test; +import org.mockito.InjectMocks; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import java.time.LocalDateTime; @@ -28,9 +29,11 @@ public class NotificationControllerTest { @Autowired private MockMvc mockMvc; - @MockBean + @MockitoBean private NotificationService notificationService; + @InjectMocks + private NotificationController notificationController; /** * Test Get Unread Notifications */ diff --git a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/TaskControllerTest.java b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/TaskControllerTest.java index 63aaffd9..247e72b0 100644 --- a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/TaskControllerTest.java +++ b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/TaskControllerTest.java @@ -14,10 +14,11 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.context.bean.override.mockito.MockitoBean; + import com.example.task_manager.enums.TaskPriority; @@ -33,7 +34,7 @@ public class TaskControllerTest { @Autowired private MockMvc mockMvc; - @MockBean + @MockitoBean private TeamMemberService teamMemberService; @Autowired @@ -119,4 +120,4 @@ void testEditTask() throws Exception { .andExpect(jsonPath("$.teamId").value(teamId)) .andExpect(jsonPath("$.priority").value("HIGH")); } -} \ No newline at end of file +} diff --git a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/TeamControllerTest.java b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/TeamControllerTest.java index 752ccc7c..d711dc79 100644 --- a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/TeamControllerTest.java +++ b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/TeamControllerTest.java @@ -21,9 +21,9 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import java.util.Arrays; @@ -39,10 +39,10 @@ public class TeamControllerTest { @Autowired private MockMvc mockMvc; - @MockBean + @MockitoBean private TeamService teamService; - @MockBean + @MockitoBean private AdminService adminService; @Autowired diff --git a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/TeamMemberAccountControllerTest.java b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/TeamMemberAccountControllerTest.java index 0657d787..c80293d6 100644 --- a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/TeamMemberAccountControllerTest.java +++ b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/TeamMemberAccountControllerTest.java @@ -13,10 +13,11 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.context.bean.override.mockito.MockitoBean; + import com.example.task_manager.DTO.UpdateEmailRequestDTO; import com.example.task_manager.DTO.UpdateNameRequestDTO; @@ -29,7 +30,7 @@ public class TeamMemberAccountControllerTest { @Autowired private MockMvc mockMvc; - @MockBean + @MockitoBean private AdminService adminService; @Autowired diff --git a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/TeamMemberControllerTest.java b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/TeamMemberControllerTest.java index ffd4dbea..0e9782f7 100644 --- a/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/TeamMemberControllerTest.java +++ b/backend/task-manager/src/test/java/com/example/task_manager/controller_tests/TeamMemberControllerTest.java @@ -10,16 +10,14 @@ import com.example.task_manager.DTO.IsAssignedDTO; import com.example.task_manager.controller.TeamMemberController; import com.example.task_manager.service.TeamMemberService; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.MvcResult; import com.example.task_manager.enums.TaskPriority; import java.time.LocalDate; @@ -33,15 +31,12 @@ public class TeamMemberControllerTest { @Autowired private MockMvc mockMvc; - @MockBean + @MockitoBean private TeamMemberService teamMemberService; @InjectMocks private TeamMemberController teamMemberController; - @Autowired - private ObjectMapper objectMapper; - /** * Test Assign Member to Task */ @@ -82,14 +77,6 @@ void testAssignToTask() throws Exception { // .andExpect(status().isOk()); // } - /** - * Placeholder: Change Password - */ - @Test - void testChangePassword() throws Exception { - // TODO: Implement Change Password Test - } - @Test void testGetTeamsForMember() throws Exception { List mockTeams = Arrays.asList( @@ -97,13 +84,10 @@ void testGetTeamsForMember() throws Exception { new TeamDTO(2, "Team 2", 1)); when(teamMemberService.getTeamsForMember(1)).thenReturn(mockTeams); - - MvcResult result = mockMvc.perform(get("/api/members/actions/1/teams")) + mockMvc.perform(get("/api/members/actions/1/teams")) .andDo(print()) .andExpect(status().isOk()) .andReturn(); - - // System.out.println("Response: " + result.getResponse().getContentAsString()); } @Test @@ -113,8 +97,7 @@ void testGetAssignedTasks() throws Exception { new TaskDTO(2, "Task Title 2", "Task 2 description", true, "Closed", LocalDate.now(), null, 1, null, TaskPriority.MEDIUM)); when(teamMemberService.getAssignedTasks(1)).thenReturn(mockTasks); - - MvcResult result = mockMvc.perform(get("/api/members/actions/1/tasks")) + mockMvc.perform(get("/api/members/actions/1/tasks")) .andExpect(status().isOk()) .andExpect(jsonPath("$[0].priority").value("MEDIUM")) .andExpect(jsonPath("$[1].priority").value("MEDIUM")) diff --git a/backend/task-manager/src/test/java/com/example/task_manager/repository_tests/IsAssignedRepositoryTest.java b/backend/task-manager/src/test/java/com/example/task_manager/repository_tests/IsAssignedRepositoryTest.java index a6023f51..e38188ba 100644 --- a/backend/task-manager/src/test/java/com/example/task_manager/repository_tests/IsAssignedRepositoryTest.java +++ b/backend/task-manager/src/test/java/com/example/task_manager/repository_tests/IsAssignedRepositoryTest.java @@ -53,7 +53,7 @@ void testExistsByTeamMemberAndTask() { Team team = createAndPersistUniqueTeam(); TeamMember teamMember = createAndPersistUniqueTeamMember(); Task task = createAndSaveUniqueTask(team); - IsAssigned assignment = createAndSaveUniqueAssignment(task, teamMember, team); + createAndSaveUniqueAssignment(task, teamMember, team); boolean exists = isAssignedRepository.existsByTeamMember_AccountIdAndTask_TaskId(teamMember.getAccountId(), task.getTaskId()); @@ -65,7 +65,7 @@ void testFindAssignmentsByTeamMember() { Team team = createAndPersistUniqueTeam(); Task task = createAndSaveUniqueTask(team); TeamMember teamMember = createAndPersistUniqueTeamMember(); - IsAssigned assignment = createAndSaveUniqueAssignment(task, teamMember, team); + createAndSaveUniqueAssignment(task, teamMember, team); Collection assignments = isAssignedRepository.findByTeamMember_AccountId(teamMember.getAccountId());