diff --git a/src/test/kotlin/com/s3ai/corporate_app2/TestUtils.kt b/src/test/kotlin/com/s3ai/corporate_app2/TestUtils.kt
index ab3d40a1fe353957cd6572e1219fd29f7c3625c3..35ecbafd6d837aa4a297382b27b97436ee26f60c 100644
--- a/src/test/kotlin/com/s3ai/corporate_app2/TestUtils.kt
+++ b/src/test/kotlin/com/s3ai/corporate_app2/TestUtils.kt
@@ -1,3 +1,17 @@
 package com.s3ai.corporate_app2
 
+import com.fasterxml.jackson.databind.DeserializationFeature
+import com.fasterxml.jackson.databind.MapperFeature
+import com.fasterxml.jackson.dataformat.xml.JacksonXmlModule
+import com.fasterxml.jackson.dataformat.xml.XmlMapper
+import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
+import com.fasterxml.jackson.module.kotlin.registerKotlinModule
 
+
+internal val kotlinXmlMapper = XmlMapper(JacksonXmlModule().apply {
+    setDefaultUseWrapper(false)
+}).registerKotlinModule()
+        .configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true)
+        .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
+
+internal val kotlinJsonMapper = jacksonObjectMapper()
\ No newline at end of file
diff --git a/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/formats/CinemasFormattingTests.kt b/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/formats/CinemasFormattingTests.kt
index 992f1c2ab76e00a6f675e76ef296ed654d653f28..5428d37656617d791a2a8d38f3fdf0aab91e7e73 100644
--- a/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/formats/CinemasFormattingTests.kt
+++ b/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/formats/CinemasFormattingTests.kt
@@ -1,9 +1,16 @@
 package com.s3ai.corporate_app2.controllers.rest.formats
 
+import com.fasterxml.jackson.databind.DeserializationFeature
+import com.fasterxml.jackson.databind.MapperFeature
+import com.fasterxml.jackson.dataformat.xml.JacksonXmlModule
+import com.fasterxml.jackson.dataformat.xml.XmlMapper
 import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
 import com.fasterxml.jackson.module.kotlin.readValue
+import com.fasterxml.jackson.module.kotlin.registerKotlinModule
 import com.s3ai.corporate_app2.Cinema
 import com.s3ai.corporate_app2.CinemaService
+import com.s3ai.corporate_app2.kotlinJsonMapper
+import com.s3ai.corporate_app2.kotlinXmlMapper
 import org.assertj.core.api.Assertions
 import org.hamcrest.CoreMatchers.equalTo
 import org.hamcrest.MatcherAssert.assertThat
@@ -39,8 +46,7 @@ class CinemasFormattingTests {
         val mvcResult = mvc.perform(MockMvcRequestBuilders.get("/api/json/cinemas/all"))
                 .andExpect(MockMvcResultMatchers.status().isOk)
                 .andReturn()
-        val objectMapper = jacksonObjectMapper()
-        val cinemas: List<Cinema> = objectMapper.readValue(mvcResult.response.contentAsString)
+        val cinemas: List<Cinema> = kotlinJsonMapper.readValue(mvcResult.response.contentAsString)
         assertThat(cinemas.size, equalTo(100))
     }
 
@@ -51,9 +57,28 @@ class CinemasFormattingTests {
         val mvcResult = mvc.perform(MockMvcRequestBuilders.get("/api/json/cinemas/item/${randomCinema.id}"))
                 .andExpect(MockMvcResultMatchers.status().isOk)
                 .andReturn()
-        val objectMapper = jacksonObjectMapper()
-        val parsedCinema: Cinema = objectMapper.readValue(mvcResult.response.contentAsString)
+        val parsedCinema: Cinema = kotlinJsonMapper.readValue(mvcResult.response.contentAsString)
         assertThat(parsedCinema.toString(), equalTo(randomCinema.toString()))
     }
 
+    @Test
+    @Sql("/cinemasFill.sql")
+    fun allXMLTest() {
+        val mvcResult = mvc.perform(MockMvcRequestBuilders.get("/api/xml/cinemas/all"))
+                .andExpect(MockMvcResultMatchers.status().isOk)
+                .andReturn()
+        val cinemas: List<Cinema> = kotlinXmlMapper.readValue(mvcResult.response.contentAsString)
+        assertThat(cinemas.size, equalTo(100))
+    }
+
+    @Test
+    @Sql("/cinemasFill.sql")
+    fun itemXMLTest() {
+        val randomCinema = service.findAll().random()
+        val mvcResult = mvc.perform(MockMvcRequestBuilders.get("/api/xml/cinemas/item/${randomCinema.id}"))
+                .andExpect(MockMvcResultMatchers.status().isOk)
+                .andReturn()
+        val parsedCinema: Cinema = kotlinXmlMapper.readValue(mvcResult.response.contentAsString)
+        assertThat(parsedCinema.toString(), equalTo(randomCinema.toString()))
+    }
 }
\ No newline at end of file
diff --git a/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/formats/TicketsFormattingTests.kt b/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/formats/TicketsFormattingTests.kt
new file mode 100644
index 0000000000000000000000000000000000000000..2af121d0cada32827f2dc4632132b4022b384778
--- /dev/null
+++ b/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/formats/TicketsFormattingTests.kt
@@ -0,0 +1,78 @@
+package com.s3ai.corporate_app2.controllers.rest.formats
+
+import com.fasterxml.jackson.module.kotlin.readValue
+import com.s3ai.corporate_app2.Ticket
+import com.s3ai.corporate_app2.TicketService
+import com.s3ai.corporate_app2.kotlinJsonMapper
+import com.s3ai.corporate_app2.kotlinXmlMapper
+import org.assertj.core.api.Assertions
+import org.hamcrest.CoreMatchers.equalTo
+import org.hamcrest.MatcherAssert.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.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
+
+
+@SpringBootTest
+@AutoConfigureMockMvc
+class TicketsFormattingTests {
+    @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 allJSONTest() {
+        val mvcResult = mvc.perform(MockMvcRequestBuilders.get("/api/json/tickets/all"))
+                .andExpect(MockMvcResultMatchers.status().isOk)
+                .andReturn()
+        val cinemas: List<Ticket> = kotlinJsonMapper.readValue(mvcResult.response.contentAsString)
+        assertThat(cinemas.size, equalTo(100))
+    }
+
+    @Test
+    @Sql("/cinemasFill.sql", "/usersFill.sql", "/ticketsFill.sql")
+    fun itemJSONTest() {
+        val randomTicket = service.findAll().random()
+        val mvcResult = mvc.perform(MockMvcRequestBuilders.get("/api/json/tickets/item/${randomTicket.id}"))
+                .andExpect(MockMvcResultMatchers.status().isOk)
+                .andReturn()
+        val parsedTicket: Ticket = kotlinJsonMapper.readValue(mvcResult.response.contentAsString)
+        assertThat(parsedTicket.toString(), equalTo(randomTicket.toString()))
+    }
+
+    @Test
+    @Sql("/cinemasFill.sql", "/usersFill.sql", "/ticketsFill.sql")
+    fun allXMLTest() {
+        val mvcResult = mvc.perform(MockMvcRequestBuilders.get("/api/xml/tickets/all"))
+                .andExpect(MockMvcResultMatchers.status().isOk)
+                .andReturn()
+        val cinemas: List<Ticket> = kotlinXmlMapper.readValue(mvcResult.response.contentAsString)
+        assertThat(cinemas.size, equalTo(100))
+    }
+
+    @Test
+    @Sql("/cinemasFill.sql", "/usersFill.sql", "/ticketsFill.sql")
+    fun itemXMLTest() {
+        val randomTicket = service.findAll().random()
+        val mvcResult = mvc.perform(MockMvcRequestBuilders.get("/api/xml/tickets/item/${randomTicket.id}"))
+                .andExpect(MockMvcResultMatchers.status().isOk)
+                .andReturn()
+        val parsedTicket: Ticket = kotlinXmlMapper.readValue(mvcResult.response.contentAsString)
+        assertThat(parsedTicket.toString(), equalTo(randomTicket.toString()))
+    }
+}
\ No newline at end of file
diff --git a/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/formats/UsersFormattingTests.kt b/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/formats/UsersFormattingTests.kt
new file mode 100644
index 0000000000000000000000000000000000000000..a6cd837e536d68cd4acbdde5c6bdbb0c998d45cc
--- /dev/null
+++ b/src/test/kotlin/com/s3ai/corporate_app2/controllers/rest/formats/UsersFormattingTests.kt
@@ -0,0 +1,83 @@
+package com.s3ai.corporate_app2.controllers.rest.formats
+
+import com.fasterxml.jackson.databind.DeserializationFeature
+import com.fasterxml.jackson.databind.MapperFeature
+import com.fasterxml.jackson.dataformat.xml.JacksonXmlModule
+import com.fasterxml.jackson.dataformat.xml.XmlMapper
+import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
+import com.fasterxml.jackson.module.kotlin.readValue
+import com.fasterxml.jackson.module.kotlin.registerKotlinModule
+import com.s3ai.corporate_app2.*
+import com.s3ai.corporate_app2.kotlinJsonMapper
+import com.s3ai.corporate_app2.kotlinXmlMapper
+import org.assertj.core.api.Assertions
+import org.hamcrest.CoreMatchers.equalTo
+import org.hamcrest.MatcherAssert.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.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
+
+
+@SpringBootTest
+@AutoConfigureMockMvc
+class UsersFormattingTests {
+    @Autowired
+    private lateinit var service: UserService
+
+    @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 allJSONTest() {
+        val mvcResult = mvc.perform(MockMvcRequestBuilders.get("/api/json/users/all"))
+                .andExpect(MockMvcResultMatchers.status().isOk)
+                .andReturn()
+        val cinemas: List<User> = kotlinJsonMapper.readValue(mvcResult.response.contentAsString)
+        assertThat(cinemas.size, equalTo(100))
+    }
+
+    @Test
+    @Sql("/usersFill.sql")
+    fun itemJSONTest() {
+        val randomUser = service.findAll().random()
+        val mvcResult = mvc.perform(MockMvcRequestBuilders.get("/api/json/users/item/${randomUser.id}"))
+                .andExpect(MockMvcResultMatchers.status().isOk)
+                .andReturn()
+        val parsedUser: User = kotlinJsonMapper.readValue(mvcResult.response.contentAsString)
+        assertThat(parsedUser.toString(), equalTo(randomUser.toString()))
+    }
+
+    @Test
+    @Sql("/usersFill.sql")
+    fun allXMLTest() {
+        val mvcResult = mvc.perform(MockMvcRequestBuilders.get("/api/xml/users/all"))
+                .andExpect(MockMvcResultMatchers.status().isOk)
+                .andReturn()
+        val cinemas: List<User> = kotlinXmlMapper.readValue(mvcResult.response.contentAsString)
+        assertThat(cinemas.size, equalTo(100))
+    }
+
+    @Test
+    @Sql("/usersFill.sql")
+    fun itemXMLTest() {
+        val randomUser = service.findAll().random()
+        val mvcResult = mvc.perform(MockMvcRequestBuilders.get("/api/xml/users/item/${randomUser.id}"))
+                .andExpect(MockMvcResultMatchers.status().isOk)
+                .andReturn()
+        val parsedUser: User = kotlinXmlMapper.readValue(mvcResult.response.contentAsString)
+        assertThat(parsedUser.toString(), equalTo(randomUser.toString()))
+    }
+}
\ No newline at end of file