From 3042aa19554afdbcd774ed04c3d75e8130d55f44 Mon Sep 17 00:00:00 2001 From: SofianeLasri <alasri250@gmail.com> Date: Mon, 4 Nov 2024 15:19:14 +0100 Subject: [PATCH] test: add unit tests for PlayerController and ShopController - Add PlayerControllerTest to verify retrieval of all players and individual player by UUID. - Add ShopControllerTest to verify retrieval of all shops and individual shop by item name. --- .../PlayerControllerTest.java | 34 +++++++++++++++++++ .../ShopControllerTest.java | 31 +++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 src/test/java/com/slprojects/democultureconceptsinfo/PlayerControllerTest.java create mode 100644 src/test/java/com/slprojects/democultureconceptsinfo/ShopControllerTest.java diff --git a/src/test/java/com/slprojects/democultureconceptsinfo/PlayerControllerTest.java b/src/test/java/com/slprojects/democultureconceptsinfo/PlayerControllerTest.java new file mode 100644 index 0000000..71e8f9d --- /dev/null +++ b/src/test/java/com/slprojects/democultureconceptsinfo/PlayerControllerTest.java @@ -0,0 +1,34 @@ +package com.slprojects.democultureconceptsinfo; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.test.web.servlet.MockMvc; + +import java.util.UUID; + +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +@WebMvcTest(PlayerController.class) +public class PlayerControllerTest { + @Autowired + private MockMvc mockMvc; + + @Test + public void testGetAllPlayers() throws Exception { + mockMvc.perform(get("/players")) + .andExpect(status().isOk()) + .andExpect(jsonPath("$").isArray()) + .andExpect(jsonPath("$[0].username").value("JohnDoe")); + } + + @Test + public void testGetPlayer() throws Exception { + UUID uuid = PlayerService.firstFakePlayer.getUuid(); + mockMvc.perform(get("/player").param("uuid", uuid.toString())) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.username").value("JohnDoe")); + } +} diff --git a/src/test/java/com/slprojects/democultureconceptsinfo/ShopControllerTest.java b/src/test/java/com/slprojects/democultureconceptsinfo/ShopControllerTest.java new file mode 100644 index 0000000..c313021 --- /dev/null +++ b/src/test/java/com/slprojects/democultureconceptsinfo/ShopControllerTest.java @@ -0,0 +1,31 @@ +package com.slprojects.democultureconceptsinfo; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.test.web.servlet.MockMvc; + +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +@WebMvcTest(ShopController.class) +public class ShopControllerTest { + @Autowired + private MockMvc mockMvc; + + @Test + public void testGetAllShops() throws Exception { + mockMvc.perform(get("/shops")) + .andExpect(status().isOk()) + .andExpect(jsonPath("$").isArray()) + .andExpect(jsonPath("$[0].itemName").value("Sword")); + } + + @Test + public void testGetShop() throws Exception { + mockMvc.perform(get("/shop").param("itemName", "Sword")) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.itemName").value("Sword")); + } +} -- GitLab