diff --git a/restservice/src/test/java/com/plannaplan/controllers/ConfigControllerTest.java b/restservice/src/test/java/com/plannaplan/controllers/ConfigControllerTest.java index b6a2e95..a5f80f5 100755 --- a/restservice/src/test/java/com/plannaplan/controllers/ConfigControllerTest.java +++ b/restservice/src/test/java/com/plannaplan/controllers/ConfigControllerTest.java @@ -4,6 +4,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import java.io.InputStream; import java.sql.Date; @@ -14,12 +15,15 @@ import com.plannaplan.services.ConfiguratorService; import com.plannaplan.services.UserService; import com.plannaplan.types.UserRoles; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.mock.web.MockMultipartFile; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.annotation.DirtiesContext.MethodMode; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; @@ -32,6 +36,7 @@ public class ConfigControllerTest extends AbstractControllerTest { private static final String FILE_NAME = "Zajecia.xlsx"; private static final String CONFIG_ENDPOINT = "/api/v1/configurator/config"; + private static final String ADMIN_INIT_ENDPOINT = "/api/v1/configurator/admin/init"; private static final String FIRST_TOUR_START = "firstTourBegin"; private static final String FIRST_TOUR_END = "firstTourEnd"; private static final String SECOND_TOUR_START = "secondTourBegin"; @@ -219,4 +224,22 @@ public class ConfigControllerTest extends AbstractControllerTest { .andExpect(status().is4xxClientError()); } + @Test + @Ignore + @DirtiesContext(methodMode = MethodMode.BEFORE_METHOD) + public void shouldCreateAdminBecouseOfEmptyDatabase() throws Exception{ + // have no idea how to make this test independent from user that run this + final String ticket = ""; + MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + mockMvc.perform(get(ADMIN_INIT_ENDPOINT).param("ticket", ticket)).andExpect(status().isOk()); + } + + @Test + public void shouldFailDueToExistingAdmin() throws Exception{ + this.service.save(new User(null, null, "shouldFailDueToExistingAdmin@ConfigController.Test", UserRoles.ADMIN)); + final String ticket = "hfewlhfjlewhipfqwehipqwef"; + MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + mockMvc.perform(get(ADMIN_INIT_ENDPOINT).param("ticket", ticket)).andExpect(status().is4xxClientError()); + } + }