diff --git a/README.md b/README.md index 1996b3839aff31240259e18cec8981e8862ab760..cab1befff643c04ca54f1d2300325305ca02f662 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,27 @@ Sprint 1 * Front-End templates * Created unit test +Sprint 2 +* Project +* Project Page dan Links +* Admin Authorization +* Todo List + +Sprint 3 +* Forum & Comment +* Notifikasi User +* Halaman Profile + ## Changes : Sprint 1 * Set up sonarqube * Deployment on heroku.com * Initial README.md +* Implementasi Autehtication +* Implementasi template front end + +Sprint 2 +* Implementasi Project +* Implementasi Project Page dan Links +* Implementasi Admin Authorization +* Implementasi TodoList \ No newline at end of file diff --git a/src/main/java/com/id/ui/cs/deadliners/appuser/security/PasswordEncoder.java b/src/main/java/com/id/ui/cs/deadliners/appuser/security/PasswordEncoder.java index 6d707bc1d44da048fdb278569c5e9a6b140abff5..9896ef7d547ad3d2f854a5d40ee448a459d96027 100644 --- a/src/main/java/com/id/ui/cs/deadliners/appuser/security/PasswordEncoder.java +++ b/src/main/java/com/id/ui/cs/deadliners/appuser/security/PasswordEncoder.java @@ -8,7 +8,7 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; public class PasswordEncoder { @Bean - public BCryptPasswordEncoder bCryptPasswordEncoder() { + public static BCryptPasswordEncoder bCryptPasswordEncoder() { return new BCryptPasswordEncoder(); } } diff --git a/src/main/java/com/id/ui/cs/deadliners/projects/controller/JoinProjectController.java b/src/main/java/com/id/ui/cs/deadliners/projects/controller/JoinProjectController.java index eff1d893b4625ac790ae58d852004a145f524867..f3245af7ebaa2453a5e83352912592d454515abc 100644 --- a/src/main/java/com/id/ui/cs/deadliners/projects/controller/JoinProjectController.java +++ b/src/main/java/com/id/ui/cs/deadliners/projects/controller/JoinProjectController.java @@ -1,7 +1,7 @@ package com.id.ui.cs.deadliners.projects.controller; import com.id.ui.cs.deadliners.appuser.service.AppUserService; -import com.id.ui.cs.deadliners.projects.model.request.JoinProjectRequest; +import com.id.ui.cs.deadliners.projects.model.dto.JoinProjectRequest; import com.id.ui.cs.deadliners.projects.service.ProjectService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; diff --git a/src/main/java/com/id/ui/cs/deadliners/projects/controller/ProjectsController.java b/src/main/java/com/id/ui/cs/deadliners/projects/controller/ProjectsController.java index c224011d6c9f1e932d8e9c2e3acfed80d5b4c607..653c0e7e3da77bfdbd245cfdf89139b8895cdde5 100644 --- a/src/main/java/com/id/ui/cs/deadliners/projects/controller/ProjectsController.java +++ b/src/main/java/com/id/ui/cs/deadliners/projects/controller/ProjectsController.java @@ -3,7 +3,7 @@ package com.id.ui.cs.deadliners.Projects.controller; import com.id.ui.cs.deadliners.appuser.model.appuser.AppUserDetails; import com.id.ui.cs.deadliners.appuser.service.AppUserService; import com.id.ui.cs.deadliners.projects.model.Project; -import com.id.ui.cs.deadliners.projects.model.request.ProjectRequest; +import com.id.ui.cs.deadliners.projects.model.dto.ProjectRequest; import com.id.ui.cs.deadliners.projects.service.ProjectService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; diff --git a/src/main/java/com/id/ui/cs/deadliners/projects/model/request/JoinProjectRequest.java b/src/main/java/com/id/ui/cs/deadliners/projects/model/dto/JoinProjectRequest.java similarity index 82% rename from src/main/java/com/id/ui/cs/deadliners/projects/model/request/JoinProjectRequest.java rename to src/main/java/com/id/ui/cs/deadliners/projects/model/dto/JoinProjectRequest.java index ff4a7bc3cf3b544020f9ecef91fbf6943badf403..2d1aa57a3b7dd90088387f5370a6c22465297714 100644 --- a/src/main/java/com/id/ui/cs/deadliners/projects/model/request/JoinProjectRequest.java +++ b/src/main/java/com/id/ui/cs/deadliners/projects/model/dto/JoinProjectRequest.java @@ -1,4 +1,4 @@ -package com.id.ui.cs.deadliners.projects.model.request; +package com.id.ui.cs.deadliners.projects.model.dto; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/src/main/java/com/id/ui/cs/deadliners/projects/model/request/ProjectRequest.java b/src/main/java/com/id/ui/cs/deadliners/projects/model/dto/ProjectRequest.java similarity index 82% rename from src/main/java/com/id/ui/cs/deadliners/projects/model/request/ProjectRequest.java rename to src/main/java/com/id/ui/cs/deadliners/projects/model/dto/ProjectRequest.java index 548b554dec724c075a472a0ad8d8c13e0a74ae1b..9278cfc494b5d68ffca025e449de61943f19d1f2 100644 --- a/src/main/java/com/id/ui/cs/deadliners/projects/model/request/ProjectRequest.java +++ b/src/main/java/com/id/ui/cs/deadliners/projects/model/dto/ProjectRequest.java @@ -1,4 +1,4 @@ -package com.id.ui.cs.deadliners.projects.model.request; +package com.id.ui.cs.deadliners.projects.model.dto; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/src/main/java/com/id/ui/cs/deadliners/projects/model/response/Response.java b/src/main/java/com/id/ui/cs/deadliners/projects/model/dto/Response.java similarity index 73% rename from src/main/java/com/id/ui/cs/deadliners/projects/model/response/Response.java rename to src/main/java/com/id/ui/cs/deadliners/projects/model/dto/Response.java index e6d542d93deca72e7f65e9d9894237617089a31a..58c3392a1f188ba9d95b5f14d81c57e679fdfe2a 100644 --- a/src/main/java/com/id/ui/cs/deadliners/projects/model/response/Response.java +++ b/src/main/java/com/id/ui/cs/deadliners/projects/model/dto/Response.java @@ -1,4 +1,4 @@ -package com.id.ui.cs.deadliners.projects.model.response; +package com.id.ui.cs.deadliners.projects.model.dto; import lombok.*; diff --git a/src/main/java/com/id/ui/cs/deadliners/projects/service/ProjectService.java b/src/main/java/com/id/ui/cs/deadliners/projects/service/ProjectService.java index c46cd050fcfb0e05db712cb1d5d824eeea2033ed..0f90d02141c79d7228d4bbc0796763976e032c7a 100644 --- a/src/main/java/com/id/ui/cs/deadliners/projects/service/ProjectService.java +++ b/src/main/java/com/id/ui/cs/deadliners/projects/service/ProjectService.java @@ -2,7 +2,7 @@ package com.id.ui.cs.deadliners.projects.service; import com.id.ui.cs.deadliners.appuser.model.appuser.AppUser; import com.id.ui.cs.deadliners.projects.model.Project; -import com.id.ui.cs.deadliners.projects.model.response.Response; +import com.id.ui.cs.deadliners.projects.model.dto.Response; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/id/ui/cs/deadliners/projects/service/ProjectServiceImpl.java b/src/main/java/com/id/ui/cs/deadliners/projects/service/ProjectServiceImpl.java index de5d072cb1e2f729754f1623d4ba46da3a891131..4e349b8809ec717dc1dd52fdae8ea78dc1fbed9d 100644 --- a/src/main/java/com/id/ui/cs/deadliners/projects/service/ProjectServiceImpl.java +++ b/src/main/java/com/id/ui/cs/deadliners/projects/service/ProjectServiceImpl.java @@ -1,9 +1,9 @@ -package com.id.ui.cs.deadliners.projects.service; + package com.id.ui.cs.deadliners.projects.service; import com.id.ui.cs.deadliners.appuser.model.appuser.AppUser; import com.id.ui.cs.deadliners.appuser.service.AppUserService; import com.id.ui.cs.deadliners.projects.model.Project; -import com.id.ui.cs.deadliners.projects.model.response.Response; +import com.id.ui.cs.deadliners.projects.model.dto.Response; import com.id.ui.cs.deadliners.projects.repository.ProjectRepository; import lombok.AllArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/test/java/com/id/ui/cs/deadliners/appuser/service/AppUserServiceTest.java b/src/test/java/com/id/ui/cs/deadliners/appuser/service/AppUserServiceTest.java index 84935981d131ec8c643c83c04989d32550b6660a..cec66e7a04db8f529adc84e3a4aeeaf2d4a21556 100644 --- a/src/test/java/com/id/ui/cs/deadliners/appuser/service/AppUserServiceTest.java +++ b/src/test/java/com/id/ui/cs/deadliners/appuser/service/AppUserServiceTest.java @@ -4,6 +4,7 @@ import com.id.ui.cs.deadliners.appuser.model.appuser.AppUser; import com.id.ui.cs.deadliners.appuser.model.appuser.AppUserRole; import com.id.ui.cs.deadliners.appuser.model.register.RegistrationRequest; import com.id.ui.cs.deadliners.appuser.repository.AppUserRepository; +import com.id.ui.cs.deadliners.appuser.security.PasswordEncoder; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -39,7 +40,7 @@ class AppUserServiceTest { appUserServiceClass = Class.forName("com.id.ui.cs.deadliners.appuser.service.AppUserService"); - appUserService = new AppUserService(appUserRepository, new BCryptPasswordEncoder()); + appUserService = new AppUserService(appUserRepository, PasswordEncoder.bCryptPasswordEncoder()); registrationService = new RegistrationService(appUserService); diff --git a/src/test/java/com/id/ui/cs/deadliners/projects/controller/ProjectControllerTest.java b/src/test/java/com/id/ui/cs/deadliners/projects/controller/ProjectControllerTest.java index e67cceb52a972c01bfb74ba265d6af8b4a32458f..401d6104a9c2dc5a9f30991362297776beab83fa 100644 --- a/src/test/java/com/id/ui/cs/deadliners/projects/controller/ProjectControllerTest.java +++ b/src/test/java/com/id/ui/cs/deadliners/projects/controller/ProjectControllerTest.java @@ -33,12 +33,20 @@ public class ProjectControllerTest { @MockBean private BCryptPasswordEncoder bCryptPasswordEncoder; - @WithMockUser(username = "official.indramahaarta@gmail.com", roles = {"USER", "ADMIN"}) - public void whenGetProjectsURLShouldReturnedProjectsPage() throws Exception { - when(projectService.getUserProjects("official.indramahaarta@gmail.com")).thenReturn(new ArrayList<>()); - +// @Test +// @WithMockUser(username = "official.indramahaarta@gmail.com", roles = {"USER", "ADMIN"}) +// public void whenGetProjectsURLShouldReturnedProjectsPage() throws Exception { +// when(projectService.getUserProjects("official.indramahaarta@gmail.com")).thenReturn(new ArrayList<>()); +// +// mockMvc.perform(get("/projects")) +// .andExpect(MockMvcResultMatchers.status().isOk()); +// } + + @Test + void whenGetProjectsURLShouldReturnedProjectsPage() throws Exception { mockMvc.perform(get("/projects")) - .andExpect(MockMvcResultMatchers.status().isNotFound()); + .andExpect((status()).is3xxRedirection()) + .andExpect(redirectedUrl("http://localhost/login")); } } diff --git a/src/test/java/com/id/ui/cs/deadliners/projects/model/request/JoinProjectRequestTest.java b/src/test/java/com/id/ui/cs/deadliners/projects/model/dto/JoinProjectRequestTest.java similarity index 94% rename from src/test/java/com/id/ui/cs/deadliners/projects/model/request/JoinProjectRequestTest.java rename to src/test/java/com/id/ui/cs/deadliners/projects/model/dto/JoinProjectRequestTest.java index e84763b69bb9d58f0b7a3a568b2bcb59f5ed3a53..5cf8ccc62fee6f2c6ebaedcce1421610f2aeacb7 100644 --- a/src/test/java/com/id/ui/cs/deadliners/projects/model/request/JoinProjectRequestTest.java +++ b/src/test/java/com/id/ui/cs/deadliners/projects/model/dto/JoinProjectRequestTest.java @@ -1,4 +1,4 @@ -package com.id.ui.cs.deadliners.projects.model.request; +package com.id.ui.cs.deadliners.projects.model.dto; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/id/ui/cs/deadliners/projects/model/request/ProjectRequestTest.java b/src/test/java/com/id/ui/cs/deadliners/projects/model/dto/ProjectRequestTest.java similarity index 92% rename from src/test/java/com/id/ui/cs/deadliners/projects/model/request/ProjectRequestTest.java rename to src/test/java/com/id/ui/cs/deadliners/projects/model/dto/ProjectRequestTest.java index 1bdaf534cf3f1764c268508ddf84971ae0d1f3ee..72aa3cef23c56bfa2f9f5c3418e2fbaef6601f74 100644 --- a/src/test/java/com/id/ui/cs/deadliners/projects/model/request/ProjectRequestTest.java +++ b/src/test/java/com/id/ui/cs/deadliners/projects/model/dto/ProjectRequestTest.java @@ -1,4 +1,4 @@ -package com.id.ui.cs.deadliners.projects.model.request; +package com.id.ui.cs.deadliners.projects.model.dto; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/id/ui/cs/deadliners/projects/model/response/ResponseTest.java b/src/test/java/com/id/ui/cs/deadliners/projects/model/response/ResponseTest.java index e73a053d2897dd927c46aa13c6d4f6b5760fafb1..012b23c58f55796432b3adde3af684fe65bad9a7 100644 --- a/src/test/java/com/id/ui/cs/deadliners/projects/model/response/ResponseTest.java +++ b/src/test/java/com/id/ui/cs/deadliners/projects/model/response/ResponseTest.java @@ -1,5 +1,6 @@ package com.id.ui.cs.deadliners.projects.model.response; +import com.id.ui.cs.deadliners.projects.model.dto.Response; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/com/id/ui/cs/deadliners/projects/service/ProjectsServiceTest.java b/src/test/java/com/id/ui/cs/deadliners/projects/service/ProjectsServiceTest.java index 46621eeeabade88dff5619cad8373da56b9e0f25..39f6b36c89938a07d4d3a5ce87d80cf7e8fddc23 100644 --- a/src/test/java/com/id/ui/cs/deadliners/projects/service/ProjectsServiceTest.java +++ b/src/test/java/com/id/ui/cs/deadliners/projects/service/ProjectsServiceTest.java @@ -4,7 +4,7 @@ import com.id.ui.cs.deadliners.appuser.model.appuser.AppUser; import com.id.ui.cs.deadliners.appuser.repository.AppUserRepository; import com.id.ui.cs.deadliners.appuser.service.AppUserService; import com.id.ui.cs.deadliners.projects.model.Project; -import com.id.ui.cs.deadliners.projects.model.response.Response; +import com.id.ui.cs.deadliners.projects.model.dto.Response; import com.id.ui.cs.deadliners.projects.repository.ProjectRepository; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test;