diff --git a/src/test/kotlin/com/s3ai/corporate_app2/CinemasApiTest.kt b/src/test/kotlin/com/s3ai/corporate_app2/CinemasApiTest.kt new file mode 100644 index 0000000000000000000000000000000000000000..7af17645f1c9739aefb749189cf6e7e72a474217 --- /dev/null +++ b/src/test/kotlin/com/s3ai/corporate_app2/CinemasApiTest.kt @@ -0,0 +1,93 @@ +package com.s3ai.corporate_app2 + +import com.s3ai.corporate_app2.controllers.CinemasController +import com.s3ai.corporate_app2.controllers.rest.CinemaApiController +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 org.springframework.ui.Model +import java.util.* +import javax.servlet.ServletResponse +import javax.servlet.http.HttpServletResponse + + +@SpringBootTest +class CinemasApiTest { + @Autowired + private lateinit var controller: CinemasController + + @Autowired + private lateinit var apiController: CinemaApiController + + @Test + @Throws(Exception::class) + fun contextLoads() { + assertThat(controller).isNotNull + assertThat(apiController).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 + } + +// @Test +// @Throws(Exception::class) +// fun shouldDeleteCinema() { +// val cinema = Cinema() +// val id = UUID.randomUUID() +// cinema.id = id +// cinema.name = "test" +// controller.updateCinema(cinema) +// var responce = HttpResponseFactory +// apiController.deleteCinema(id.toString(), Http) +// val cinemaFromBase = controller.cinemaService.findById(id) +// assertThat(cinemaFromBase?.equals(cinema)) +// } +} diff --git a/src/test/kotlin/com/s3ai/corporate_app2/CorporateApp2ApplicationTests.kt b/src/test/kotlin/com/s3ai/corporate_app2/CorporateApp2ApplicationTests.kt deleted file mode 100644 index 5ae1ccc139ef5dad7eaa0f77422a05d76a975247..0000000000000000000000000000000000000000 --- a/src/test/kotlin/com/s3ai/corporate_app2/CorporateApp2ApplicationTests.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.s3ai.corporate_app2 - -import com.s3ai.corporate_app2.controllers.CinemasController -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 - - -@SpringBootTest -class CorporateApp2ApplicationTests { - @Autowired - private lateinit var controller: CinemasController - - @Test - @Throws(Exception::class) - fun contextLoads() { - assertThat(controller).isNotNull - } -} diff --git a/src/test/kotlin/com/s3ai/corporate_app2/TicketsApiTest.kt b/src/test/kotlin/com/s3ai/corporate_app2/TicketsApiTest.kt new file mode 100644 index 0000000000000000000000000000000000000000..1b91a80ea29649545401550f4d643d3edf59a5d1 --- /dev/null +++ b/src/test/kotlin/com/s3ai/corporate_app2/TicketsApiTest.kt @@ -0,0 +1,71 @@ +package com.s3ai.corporate_app2 + +import com.s3ai.corporate_app2.controllers.TicketsController +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/UsersApiTest.kt b/src/test/kotlin/com/s3ai/corporate_app2/UsersApiTest.kt new file mode 100644 index 0000000000000000000000000000000000000000..8ff981ce7a1460d4f2aa70771a06a0845e497a6f --- /dev/null +++ b/src/test/kotlin/com/s3ai/corporate_app2/UsersApiTest.kt @@ -0,0 +1,71 @@ +package com.s3ai.corporate_app2 + +import com.s3ai.corporate_app2.controllers.UsersController +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 + } +}