From 4fa078b51cfc72e6f4811ad0a938e90f3860d147 Mon Sep 17 00:00:00 2001 From: Andrey Belousov <groundhog448@gmail.com> Date: Tue, 17 Dec 2019 23:14:53 +0000 Subject: [PATCH] Added tests for UserApiController, TicketApiController --- .../controllers/rest/CinemaApiTest.kt | 4 +- .../controllers/rest/TicketApiTest.kt | 53 +++++++++++++++++ .../controllers/rest/UserApiTest.kt | 57 +++++++++++++++++++ 3 files changed, 112 insertions(+), 2 deletions(-) create mode 100644 src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/TicketApiTest.kt create mode 100644 src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/UserApiTest.kt diff --git a/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/CinemaApiTest.kt b/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/CinemaApiTest.kt index 6a8c2cf..4aa67a7 100644 --- a/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/CinemaApiTest.kt +++ b/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/CinemaApiTest.kt @@ -53,7 +53,7 @@ class CinemaApiTest { print(randomCinemaId) mvc.perform(delete("/api/cinemas/delete?id=${randomCinemaId}")) .andExpect(status().isOk) - val newCinemas = ticketService.findAll().map { e -> e.cinema!!.id }.distinct() - assertThat(newCinemas, not(hasItem(randomCinemaId))) + val tickets = ticketService.findAll().map { e -> e.cinema!!.id }.distinct() + assertThat(tickets, not(hasItem(randomCinemaId))) } } \ No newline at end of file diff --git a/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/TicketApiTest.kt b/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/TicketApiTest.kt new file mode 100644 index 0000000..d96c472 --- /dev/null +++ b/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/TicketApiTest.kt @@ -0,0 +1,53 @@ +package com.s3ai.corporate_app2.controllers.rest + +import com.s3ai.corporate_app2.TicketService +import org.assertj.core.api.Assertions +import org.hamcrest.MatcherAssert +import org.hamcrest.Matchers +import org.hamcrest.core.IsNot +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.context.jdbc.Sql +import org.springframework.test.web.servlet.MockMvc +import org.springframework.test.web.servlet.MvcResult +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders +import org.springframework.test.web.servlet.result.MockMvcResultMatchers + +@SpringBootTest +@AutoConfigureMockMvc +class TicketApiTest { + @Autowired + private lateinit var service: TicketService + + @Autowired + private lateinit var mvc: MockMvc + + @Test + @Throws(Exception::class) + fun contextLoads() { + Assertions.assertThat(mvc).isNotNull + Assertions.assertThat(service).isNotNull + } + + @Test + @Sql("/cinemasFill.sql", "/usersFill.sql", "/ticketsFill.sql") + fun fillTest() { + mvc.perform(MockMvcRequestBuilders.get("/api/tickets/fill")) + .andDo { e: MvcResult -> println(e.response) } + .andExpect(MockMvcResultMatchers.status().isOk) + MatcherAssert.assertThat(service.findAll().size, Matchers.equalTo(401)) + } + + @Test + @Sql("/cinemasFill.sql", "/usersFill.sql", "/ticketsFill.sql") + fun deleteTest() { + val randomTicketId = service.findAll().map { e -> e.id }.distinct().random() + print(randomTicketId) + mvc.perform(MockMvcRequestBuilders.delete("/api/tickets/delete?id=${randomTicketId}")) + .andExpect(MockMvcResultMatchers.status().isOk) + val tickets = service.findAll().map { e -> e.id }.distinct() + MatcherAssert.assertThat(tickets, IsNot.not(Matchers.hasItem(randomTicketId))) + } +} \ No newline at end of file diff --git a/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/UserApiTest.kt b/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/UserApiTest.kt new file mode 100644 index 0000000..9d2f179 --- /dev/null +++ b/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/UserApiTest.kt @@ -0,0 +1,57 @@ +package com.s3ai.corporate_app2.controllers.rest + +import com.s3ai.corporate_app2.UserService +import com.s3ai.corporate_app2.TicketService +import org.assertj.core.api.Assertions +import org.hamcrest.MatcherAssert +import org.hamcrest.Matchers +import org.hamcrest.core.IsNot +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.context.jdbc.Sql +import org.springframework.test.web.servlet.MockMvc +import org.springframework.test.web.servlet.MvcResult +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders +import org.springframework.test.web.servlet.result.MockMvcResultMatchers + +@SpringBootTest +@AutoConfigureMockMvc +class UserApiTest { + @Autowired + private lateinit var service: UserService + + @Autowired + private lateinit var ticketService: TicketService + + @Autowired + private lateinit var mvc: MockMvc + + @Test + @Throws(Exception::class) + fun contextLoads() { + Assertions.assertThat(mvc).isNotNull + Assertions.assertThat(service).isNotNull + } + + @Test + @Sql("/usersFill.sql") + fun fillTest() { + mvc.perform(MockMvcRequestBuilders.get("/api/users/fill")) + .andDo { e: MvcResult -> println(e.response) } + .andExpect(MockMvcResultMatchers.status().isOk) + MatcherAssert.assertThat(service.findAll().size, Matchers.equalTo(401)) + } + + @Test + @Sql("/usersFill.sql", "/cinemasFill.sql", "/ticketsFill.sql") + fun deleteTest() { + val randomUserId = ticketService.findAll().map { e -> e.user?.id }.distinct().random() + print(randomUserId) + mvc.perform(MockMvcRequestBuilders.delete("/api/users/delete?id=${randomUserId}")) + .andExpect(MockMvcResultMatchers.status().isOk) + val tickets = ticketService.findAll().map { e -> e.user!!.id }.distinct() + MatcherAssert.assertThat(tickets, IsNot.not(Matchers.hasItem(randomUserId))) + } +} \ No newline at end of file -- GitLab