diff options
Diffstat (limited to 'src/test/java/org/berzerkula/builddb/controllers/BuilddbPkgControllerTest.java')
-rw-r--r-- | src/test/java/org/berzerkula/builddb/controllers/BuilddbPkgControllerTest.java | 76 |
1 files changed, 68 insertions, 8 deletions
diff --git a/src/test/java/org/berzerkula/builddb/controllers/BuilddbPkgControllerTest.java b/src/test/java/org/berzerkula/builddb/controllers/BuilddbPkgControllerTest.java index 6c0ad46..778f336 100644 --- a/src/test/java/org/berzerkula/builddb/controllers/BuilddbPkgControllerTest.java +++ b/src/test/java/org/berzerkula/builddb/controllers/BuilddbPkgControllerTest.java @@ -13,7 +13,9 @@ import org.springframework.test.web.servlet.MockMvc; import java.util.List; +import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view; @@ -53,10 +55,7 @@ class BuilddbPkgControllerTest { @WithMockUser(roles="client") void shouldReturnEditPackageView() throws Exception { - Pkg pkg = new Pkg(); - pkg.setSequence(1); - pkg.setName("test"); - pkg.setVersion("1.2.3"); + Pkg pkg = new Pkg(1, "test", "1.2.3", "", "", "", "", "", ""); pkgRepository.save(pkg); List<Pkg> pkgs = pkgRepository.findAll(); pkg = pkgs.get(0); @@ -72,10 +71,7 @@ class BuilddbPkgControllerTest { @WithMockUser(roles="client") void shouldGetPopupWhenDeletePackage() throws Exception { - Pkg pkg = new Pkg(); - pkg.setSequence(1); - pkg.setName("test"); - pkg.setVersion("1.2.3"); + Pkg pkg = new Pkg(1, "test", "1.2.3", "", "", "", "", "", ""); pkgRepository.save(pkg); List<Pkg> pkgs = pkgRepository.findAll(); pkg = pkgs.get(0); @@ -86,4 +82,68 @@ class BuilddbPkgControllerTest { .andExpect(view().name("redirect:/pkgs/")) .andDo(print()); } + + @Test + @WithMockUser(roles="client") + void shouldAddPkgValidationError() throws Exception { + mockMvc.perform(post("/pkgs/add") + .with(csrf()) + .formField("sequence", "") + .formField("name", "") + .formField("version", "") + .formField("configure", "") + .formField("build", "") + .formField("install", "") + .formField("setup", "") + .formField("notes", "") + .formField("Url", "")) + .andExpect(status().isOk()) + .andExpect(view().name("pkgs/add")) + .andDo(print()); + } + + @Test + @WithMockUser(roles="client") + void shouldAddPkgSuccess() throws Exception { + mockMvc.perform(post("/pkgs/add") + .with(csrf()) + .formField("sequence", "123") + .formField("name", "test") + .formField("version", "1.2.3-test") + .formField("configure", "testconf") + .formField("build", "testbuild") + .formField("install", "testinstall") + .formField("setup", "testsetup") + .formField("notes", "testnotes") + .formField("Url", "http://test.org/test-1.2.3.tar.gz")) + .andExpect(status().is3xxRedirection()) + .andExpect(view().name("redirect:/pkgs")) + .andDo(print()); + } + + @Test + @WithMockUser(roles="client") + void shouldEditPkgSuccess() throws Exception { + + Pkg pkg = new Pkg(123, "test", "1.2.3", "", "", "", "", "", ""); + pkgRepository.save(pkg); + List<Pkg> pkgs = pkgRepository.findAll(); + pkg = pkgs.get(0); + Integer id = pkg.getId(); + + this.mockMvc.perform(post("/pkgs/edit?id=" + id) + .with(csrf()) + .formField("sequence", "123") + .formField("name", "test") + .formField("version", "4.5.6-test") + .formField("configure", "") + .formField("build", "") + .formField("install", "") + .formField("setup", "") + .formField("notes", "") + .formField("Url", "")) + .andExpect(status().is3xxRedirection()) + .andExpect(view().name("redirect:/pkgs/#" + id)) + .andDo(print()); + } } |