diff --git a/src/test/kotlin/com/s3ai/corporate_app2/controllers/CinemasApiTest.kt b/src/test/kotlin/com/s3ai/corporate_app2/controllers/CinemasApiTest.kt deleted file mode 100644 index c94582853ce9e8bb24e424b4f2fa8fd5ac0b019b..0000000000000000000000000000000000000000 --- a/src/test/kotlin/com/s3ai/corporate_app2/controllers/CinemasApiTest.kt +++ /dev/null @@ -1,78 +0,0 @@ -package com.s3ai.corporate_app2.controllers - -import com.s3ai.corporate_app2.Cinema -import org.assertj.core.api.Assertions.assertThat -import org.junit.jupiter.api.Test -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.test.web.servlet.MockMvc -import org.springframework.ui.ExtendedModelMap -import java.util.* - - -@SpringBootTest -@AutoConfigureMockMvc -class CinemasApiTest { - @Autowired - private lateinit var controller: CinemasController - - @Autowired - private lateinit var mvc: MockMvc - - @Test - @Throws(Exception::class) - fun contextLoads() { - assertThat(controller).isNotNull - } - - @Test - @Throws(Exception::class) - fun shouldUpdateCinema() { - val cinema = Cinema() - val id = UUID.randomUUID() - cinema.id = id - cinema.name = "test" - controller.updateCinema(cinema) - val cinemaFromBase = controller.cinemaService.findById(id) - assertThat(cinemaFromBase?.equals(cinema)) - } - - @Test - @Throws(Exception::class) - fun shouldRedirectToCreateCinemaIfIdNotExists() { - val model = ExtendedModelMap() - val redirect = controller.getCinemaEditPage(UUID.randomUUID().toString(), model) - assertThat(redirect.equals("cinemas/edit")) - assertThat(model.getValue("action") == "Create") - } - - @Test - @Throws(Exception::class) - fun shouldRedirectToEditCinemaIfIdExists() { - val cinema = Cinema() - val id = UUID.randomUUID() - cinema.id = id - cinema.name = "test" - controller.updateCinema(cinema) - val model = ExtendedModelMap() - val redirect = controller.getCinemaEditPage(id.toString(), model) - assertThat(redirect.equals("cinemas/edit")) - assertThat(model.getValue("action") == "Edit") - } - - @Test - @Throws(Exception::class) - fun shouldReturnCinemasBrowsePage() { - val cinema = Cinema() - val id = UUID.randomUUID() - cinema.id = id - cinema.name = "test" - controller.updateCinema(cinema) - val model = ExtendedModelMap() - val redirect = controller.getCinemasBrowsePage(model) - assertThat(redirect.equals("cinemas/list")) - assertThat(model.getValue("cinemas")).isNotNull - } - -} diff --git a/src/test/kotlin/com/s3ai/corporate_app2/controllers/CinemasTest.kt b/src/test/kotlin/com/s3ai/corporate_app2/controllers/CinemasTest.kt new file mode 100644 index 0000000000000000000000000000000000000000..c2c0f71726105a0a3ba0383564989b2940799695 --- /dev/null +++ b/src/test/kotlin/com/s3ai/corporate_app2/controllers/CinemasTest.kt @@ -0,0 +1,81 @@ +package com.s3ai.corporate_app2.controllers + +import com.fasterxml.jackson.databind.ObjectMapper +import com.s3ai.corporate_app2.CinemaService +import org.assertj.core.api.Assertions.assertThat +import org.hamcrest.Matchers +import org.junit.jupiter.api.Test +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.http.MediaType +import org.springframework.test.context.jdbc.Sql +import org.springframework.test.web.servlet.MockMvc +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders +import org.springframework.test.web.servlet.result.MockMvcResultMatchers.* +import java.util.* + + +@SpringBootTest +@AutoConfigureMockMvc +class CinemasTest { + @Autowired + private lateinit var service: CinemaService + + @Autowired + private lateinit var controller: CinemasController + + @Autowired + private lateinit var mvc: MockMvc + + @Test + @Throws(Exception::class) + fun contextLoads() { + assertThat(controller).isNotNull + } + + @Test + @Throws(Exception::class) + @Sql("/cinemasFill.sql") + fun updateCinemaTest() { + val cinema = service.findAll().random() + print(cinema.id) + + cinema.name = UUID.randomUUID().toString() + + mvc.perform(MockMvcRequestBuilders.post("/cinemas/update") + .contentType(MediaType.APPLICATION_JSON) + .content(ObjectMapper().writeValueAsString(cinema))) + .andExpect(status().isFound) + .andExpect(redirectedUrl("/cinemas/list")) + + val updatedCinema = service.findById(cinema.id!!) + assertThat(cinema == updatedCinema) + } + + @Test + @Throws(Exception::class) + fun editRedirectToCreateIfIdEmptyTest() { + mvc.perform(MockMvcRequestBuilders.get("/cinemas/edit")) + .andExpect(status().isOk) + .andExpect(model().attribute("action", Matchers.equalTo("Create"))) + } + + @Test + @Throws(Exception::class) + @Sql("/cinemasFill.sql") + fun editPageTest() { + val randomCinemaId = service.findAll().map { e -> e.id }.distinct().random() + mvc.perform(MockMvcRequestBuilders.get("/cinemas/edit?id=${randomCinemaId}")) + .andExpect(status().isOk) + .andExpect(model().attribute("action", Matchers.equalTo("Edit"))) + } + + @Test + @Throws(Exception::class) + @Sql("/cinemasFill.sql") + fun listPageTest() { + mvc.perform(MockMvcRequestBuilders.get("/cinemas/list")) + .andExpect(status().isOk) + } +} diff --git a/src/test/kotlin/com/s3ai/corporate_app2/controllers/TicketsApiTest.kt b/src/test/kotlin/com/s3ai/corporate_app2/controllers/TicketsApiTest.kt deleted file mode 100644 index 4155762699bef67ad0aa88a39618eef248bfa70c..0000000000000000000000000000000000000000 --- a/src/test/kotlin/com/s3ai/corporate_app2/controllers/TicketsApiTest.kt +++ /dev/null @@ -1,71 +0,0 @@ -package com.s3ai.corporate_app2.controllers - -import com.s3ai.corporate_app2.Ticket -import org.assertj.core.api.Assertions.assertThat -import org.junit.jupiter.api.Test -import org.springframework.beans.factory.annotation.Autowired -import org.springframework.boot.test.context.SpringBootTest -import org.springframework.ui.ExtendedModelMap -import java.util.* - - -@SpringBootTest -class TicketsApiTest { - @Autowired - private lateinit var controller: TicketsController - - @Test - @Throws(Exception::class) - fun contextLoads() { - assertThat(controller).isNotNull - } - - @Test - @Throws(Exception::class) - fun shouldUpdateTicket() { - val ticket = Ticket() - val id = UUID.randomUUID() - ticket.id = id - ticket.movie = "test" - controller.updateTicket(ticket) - val ticketFromBase = controller.ticketService.findById(id) - assertThat(ticketFromBase?.equals(ticket)) - } - - @Test - @Throws(Exception::class) - fun shouldRedirectToCreateTicketIfIdNotExists() { - val model = ExtendedModelMap() - val redirect = controller.getTicketEditPage(UUID.randomUUID().toString(), model) - assertThat(redirect.equals("tickets/edit")) - assertThat(model.getValue("action") == "Create") - } - - @Test - @Throws(Exception::class) - fun shouldRedirectToEditCinemaIfIdExists() { - val ticket = Ticket() - val id = UUID.randomUUID() - ticket.id = id - ticket.movie = "test" - controller.updateTicket(ticket) - val model = ExtendedModelMap() - val redirect = controller.getTicketEditPage(id.toString(), model) - assertThat(redirect.equals("tickets/edit")) - assertThat(model.getValue("action") == "Edit") - } - - @Test - @Throws(Exception::class) - fun shouldReturnTicketsBrowsePage() { - val ticket = Ticket() - val id = UUID.randomUUID() - ticket.id = id - ticket.movie = "test" - controller.updateTicket(ticket) - val model = ExtendedModelMap() - val redirect = controller.getTicketsBrowsePage(model) - assertThat(redirect.equals("tickets/list")) - assertThat(model.getValue("tickets")).isNotNull - } -} \ No newline at end of file diff --git a/src/test/kotlin/com/s3ai/corporate_app2/controllers/TicketsTest.kt b/src/test/kotlin/com/s3ai/corporate_app2/controllers/TicketsTest.kt new file mode 100644 index 0000000000000000000000000000000000000000..b9a2ef6440fd4acb325e66f6acdf66b433d4a9ea --- /dev/null +++ b/src/test/kotlin/com/s3ai/corporate_app2/controllers/TicketsTest.kt @@ -0,0 +1,81 @@ +package com.s3ai.corporate_app2.controllers + +import com.fasterxml.jackson.databind.ObjectMapper +import com.s3ai.corporate_app2.TicketService +import org.assertj.core.api.Assertions.assertThat +import org.hamcrest.Matchers +import org.junit.jupiter.api.Test +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.http.MediaType +import org.springframework.test.context.jdbc.Sql +import org.springframework.test.web.servlet.MockMvc +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders +import org.springframework.test.web.servlet.result.MockMvcResultMatchers +import java.util.* + + +@SpringBootTest +@AutoConfigureMockMvc +class TicketsTest { + @Autowired + private lateinit var service: TicketService + + @Autowired + private lateinit var controller: TicketsController + + @Autowired + private lateinit var mvc: MockMvc + + @Test + @Throws(Exception::class) + fun contextLoads() { + assertThat(controller).isNotNull + } + + @Test + @Throws(Exception::class) + @Sql("/cinemasFill.sql", "/usersFill.sql", "/ticketsFill.sql") + fun updateTicketTest() { + val ticket = service.findAll().random() + print(ticket.id) + + ticket.movie = UUID.randomUUID().toString() + + mvc.perform(MockMvcRequestBuilders.post("/tickets/update") + .contentType(MediaType.APPLICATION_JSON) + .content(ObjectMapper().writeValueAsString(ticket))) + .andExpect(MockMvcResultMatchers.status().isFound) + .andExpect(MockMvcResultMatchers.redirectedUrl("/tickets/list")) + + val updatedTicket = service.findById(ticket.id!!) + assertThat(ticket == updatedTicket) + } + + @Test + @Throws(Exception::class) + fun editRedirectToCreateIfIdEmptyTest() { + mvc.perform(MockMvcRequestBuilders.get("/tickets/edit")) + .andExpect(MockMvcResultMatchers.status().isOk) + .andExpect(MockMvcResultMatchers.model().attribute("action", Matchers.equalTo("Create"))) + } + + @Test + @Throws(Exception::class) + @Sql("/cinemasFill.sql", "/usersFill.sql", "/ticketsFill.sql") + fun editPageTest() { + val randomTicketId = service.findAll().map { e -> e.id }.distinct().random() + mvc.perform(MockMvcRequestBuilders.get("/tickets/edit?id=${randomTicketId}")) + .andExpect(MockMvcResultMatchers.status().isOk) + .andExpect(MockMvcResultMatchers.model().attribute("action", Matchers.equalTo("Edit"))) + } + + @Test + @Throws(Exception::class) + @Sql("/cinemasFill.sql", "/usersFill.sql", "/ticketsFill.sql") + fun listPageTest() { + mvc.perform(MockMvcRequestBuilders.get("/tickets/list")) + .andExpect(MockMvcResultMatchers.status().isOk) + } +} \ No newline at end of file diff --git a/src/test/kotlin/com/s3ai/corporate_app2/controllers/UsersApiTest.kt b/src/test/kotlin/com/s3ai/corporate_app2/controllers/UsersApiTest.kt deleted file mode 100644 index 121ea0aa16ad44ff472e519f07023c8aefd0af80..0000000000000000000000000000000000000000 --- a/src/test/kotlin/com/s3ai/corporate_app2/controllers/UsersApiTest.kt +++ /dev/null @@ -1,71 +0,0 @@ -package com.s3ai.corporate_app2.controllers - -import com.s3ai.corporate_app2.User -import org.assertj.core.api.Assertions.assertThat -import org.junit.jupiter.api.Test -import org.springframework.beans.factory.annotation.Autowired -import org.springframework.boot.test.context.SpringBootTest -import org.springframework.ui.ExtendedModelMap -import java.util.* - - -@SpringBootTest -class UsersApiTest { - @Autowired - private lateinit var controller: UsersController - - @Test - @Throws(Exception::class) - fun contextLoads() { - assertThat(controller).isNotNull - } - - @Test - @Throws(Exception::class) - fun shouldUpdateCinema() { - val user = User() - val id = UUID.randomUUID() - user.id = id - user.name = "test" - controller.updateUser(user) - val userFromBase = controller.userService.findById(id) - assertThat(userFromBase?.equals(user)) - } - - @Test - @Throws(Exception::class) - fun shouldRedirectToCreateUserIfIdNotExists() { - val model = ExtendedModelMap() - val redirect = controller.getUserEditPage(UUID.randomUUID().toString(), model) - assertThat(redirect.equals("users/edit")) - assertThat(model.getValue("action") == "Create") - } - - @Test - @Throws(Exception::class) - fun shouldRedirectToEditCinemaIfIdExists() { - val user = User() - val id = UUID.randomUUID() - user.id = id - user.name = "test" - controller.updateUser(user) - val model = ExtendedModelMap() - val redirect = controller.getUserEditPage(id.toString(), model) - assertThat(redirect.equals("users/edit")) - assertThat(model.getValue("action") == "Edit") - } - - @Test - @Throws(Exception::class) - fun shouldReturnUsersBrowsePage() { - val user = User() - val id = UUID.randomUUID() - user.id = id - user.name = "test" - controller.updateUser(user) - val model = ExtendedModelMap() - val redirect = controller.getUsersBrowsePage(model) - assertThat(redirect.equals("users/list")) - assertThat(model.getValue("users")).isNotNull - } -} diff --git a/src/test/kotlin/com/s3ai/corporate_app2/controllers/UsersTest.kt b/src/test/kotlin/com/s3ai/corporate_app2/controllers/UsersTest.kt new file mode 100644 index 0000000000000000000000000000000000000000..6a4bd0a054b2af02f2e7eec96bd7a888884209a1 --- /dev/null +++ b/src/test/kotlin/com/s3ai/corporate_app2/controllers/UsersTest.kt @@ -0,0 +1,81 @@ +package com.s3ai.corporate_app2.controllers + +import com.fasterxml.jackson.databind.ObjectMapper +import com.s3ai.corporate_app2.UserService +import org.assertj.core.api.Assertions.assertThat +import org.hamcrest.Matchers +import org.junit.jupiter.api.Test +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.http.MediaType +import org.springframework.test.context.jdbc.Sql +import org.springframework.test.web.servlet.MockMvc +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders +import org.springframework.test.web.servlet.result.MockMvcResultMatchers +import java.util.* + + +@SpringBootTest +@AutoConfigureMockMvc +class UsersTest { + @Autowired + private lateinit var service: UserService + + @Autowired + private lateinit var controller: UsersController + + @Autowired + private lateinit var mvc: MockMvc + + @Test + @Throws(Exception::class) + fun contextLoads() { + assertThat(controller).isNotNull + } + + @Test + @Throws(Exception::class) + @Sql("/usersFill.sql") + fun updateUserTest() { + val user = service.findAll().random() + print(user.id) + + user.name = UUID.randomUUID().toString() + + mvc.perform(MockMvcRequestBuilders.post("/users/update") + .contentType(MediaType.APPLICATION_JSON) + .content(ObjectMapper().writeValueAsString(user))) + .andExpect(MockMvcResultMatchers.status().isFound) + .andExpect(MockMvcResultMatchers.redirectedUrl("/users/list")) + + val updatedUser = service.findById(user.id!!) + assertThat(user == updatedUser) + } + + @Test + @Throws(Exception::class) + fun editRedirectToCreateIfIdEmptyTest() { + mvc.perform(MockMvcRequestBuilders.get("/users/edit")) + .andExpect(MockMvcResultMatchers.status().isOk) + .andExpect(MockMvcResultMatchers.model().attribute("action", Matchers.equalTo("Create"))) + } + + @Test + @Throws(Exception::class) + @Sql("/usersFill.sql") + fun editPageTest() { + val randomUserId = service.findAll().map { e -> e.id }.distinct().random() + mvc.perform(MockMvcRequestBuilders.get("/users/edit?id=${randomUserId}")) + .andExpect(MockMvcResultMatchers.status().isOk) + .andExpect(MockMvcResultMatchers.model().attribute("action", Matchers.equalTo("Edit"))) + } + + @Test + @Throws(Exception::class) + @Sql("/cinemasFill.sql") + fun listPageTest() { + mvc.perform(MockMvcRequestBuilders.get("/users/list")) + .andExpect(MockMvcResultMatchers.status().isOk) + } +}