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)
+    }
+}