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 6a8c2cf12787c4ba226e1947a2c8a10bcf7d3c93..4aa67a7d4e2316e5f147d134240af5a6820d6e0d 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 0000000000000000000000000000000000000000..d96c472059800c1601c0f5b28586d010fce95c93 --- /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 0000000000000000000000000000000000000000..9d2f179b383fdb5aba4024821d5a349be975d054 --- /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