From 373ec3d238fc43fe38788fd1ba1091299f224530 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Fri, 25 Nov 2016 10:19:20 +0300 Subject: juick-api: basic tests --- .../java/com/juick/api/tests/MessagesTests.java | 79 ++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 juick-api/src/test/java/com/juick/api/tests/MessagesTests.java (limited to 'juick-api/src/test/java') diff --git a/juick-api/src/test/java/com/juick/api/tests/MessagesTests.java b/juick-api/src/test/java/com/juick/api/tests/MessagesTests.java new file mode 100644 index 00000000..d03bd0bf --- /dev/null +++ b/juick-api/src/test/java/com/juick/api/tests/MessagesTests.java @@ -0,0 +1,79 @@ +package com.juick.api.tests; + +import com.juick.api.configuration.ApiAppConfiguration; +import com.juick.api.configuration.ApiMvcConfiguration; +import com.juick.service.MessagesService; +import com.juick.service.UserService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.Primary; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.web.WebAppConfiguration; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +import javax.inject.Inject; +import java.util.Collections; + +import static org.mockito.Mockito.when; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +/** + * Created by vitalyster on 25.11.2016. + */ +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration +@WebAppConfiguration +public class MessagesTests { + @Configuration + @Import(value={ApiMvcConfiguration.class, ApiAppConfiguration.class}) + static class Config { + @Bean + @Primary + MessagesService messagesService() { + return Mockito.mock(MessagesService.class); + } + @Bean + @Primary + UserService userService() { + return Mockito.mock(UserService.class); + } + } + + private MockMvc mockMvc; + @Inject + WebApplicationContext webApplicationContext; + + @Inject + MessagesService messagesService; + @Inject + UserService userService; + + @Before + public void setUp() { + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext) + .build(); + } + + @Test + public void messageTests() throws Exception { + mockMvc.perform(get("/home")) + .andExpect(status().is4xxClientError()); + when(userService.getUIDByHttpAuth(null)) + .thenReturn(1); + + when(messagesService.getMyFeed(1, 0)) + .thenReturn(Collections.singletonList(1)); + + mockMvc.perform(get("/home")) + .andExpect(status().isOk()); + } +} -- cgit v1.2.3