From bb8a406c077fb86a98dea2152a7473d4eb0792f1 Mon Sep 17 00:00:00 2001 From: Andrey Belousov <groundhog448@gmail.com> Date: Sun, 15 Dec 2019 14:54:00 +0000 Subject: [PATCH] Added tests for browsing and editing of User, Cinema and Ticket --- .../com/s3ai/corporate_app2/CinemasApiTest.kt | 93 +++++++++++++++++++ .../CorporateApp2ApplicationTests.kt | 20 ---- .../com/s3ai/corporate_app2/TicketsApiTest.kt | 71 ++++++++++++++ .../com/s3ai/corporate_app2/UsersApiTest.kt | 71 ++++++++++++++ 4 files changed, 235 insertions(+), 20 deletions(-) create mode 100644 src/test/kotlin/com/s3ai/corporate_app2/CinemasApiTest.kt delete mode 100644 src/test/kotlin/com/s3ai/corporate_app2/CorporateApp2ApplicationTests.kt create mode 100644 src/test/kotlin/com/s3ai/corporate_app2/TicketsApiTest.kt create mode 100644 src/test/kotlin/com/s3ai/corporate_app2/UsersApiTest.kt 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 0000000..7af1764 --- /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 5ae1ccc..0000000 --- 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 0000000..1b91a80 --- /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 0000000..8ff981c --- /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 + } +} -- GitLab