package ee.esutoniagodesu.web.rest; import ee.esutoniagodesu.bean.ProjectDAO; import ee.esutoniagodesu.pojo.test.compound.FilterCompoundSubmitDTO; import ee.esutoniagodesu.pojo.test.compound.FilterCompoundSubmitDefaults; import ee.esutoniagodesu.repository.domain.ac.UserRepository; import ee.esutoniagodesu.repository.project.*; import ee.esutoniagodesu.service.TestCompoundService; import ee.esutoniagodesu.web.rest.test.TestCompoundResource; import org.junit.Before; import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runners.MethodSorters; import org.mockito.MockitoAnnotations; import org.springframework.test.util.ReflectionTestUtils; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import javax.annotation.PostConstruct; import javax.inject.Inject; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; /** * Test class for the StatsResource REST controller. * * @see ee.esutoniagodesu.web.rest.StatsResource */ @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class TestCompoundResourceTest extends WebappTestEnvironment { private static final String USERNAME = "admin"; //------------------------------ spring ------------------------------ @Inject private ProjectDAO dao; @Inject private ReportDB reportDB; @Inject private JMDictDB jmDictDB; @Inject private JMDictEnDB jmDictEnDB; @Inject private KanjiDB kanjiDB; @Inject private CoreDB coreDB; @Inject private UserRepository userRepository; @Inject private TestCompoundService service; @PostConstruct public void setup() throws Exception { MockitoAnnotations.initMocks(this); ReflectionTestUtils.setField(service, "dao", dao); ReflectionTestUtils.setField(service, "reportDB", reportDB); ReflectionTestUtils.setField(service, "jmDictDB", jmDictDB); ReflectionTestUtils.setField(service, "jmDictEnDB", jmDictEnDB); ReflectionTestUtils.setField(service, "kanjiDB", kanjiDB); ReflectionTestUtils.setField(service, "coreDB", coreDB); TestCompoundResource resource = new TestCompoundResource(); ReflectionTestUtils.setField(resource, "service", service); mockMvc = MockMvcBuilders.standaloneSetup(resource).build(); setSession(USERNAME); } @Before public void initTest() { } @Test public void t1_get_params() throws Exception { mockMvc.perform(get(TestCompoundResource.BASE_URL + "/params")) .andExpect(status().isOk()); } @Test public void t1_get_form_defaults() throws Exception { for (FilterCompoundSubmitDefaults p : FilterCompoundSubmitDefaults.values()) { mockMvc.perform(get(TestCompoundResource.BASE_URL + "/form-default/" + p.ID)) .andExpect(status().isOk()); } } /** * Saadab kõik eeltäidetud vormid testigeneratorile läbi http. */ @Test public void t1_submit_defaults() throws Exception { FilterCompoundSubmitDTO par = FilterCompoundSubmitDefaults.getCore10KJLPT(); par.noEnIfHasEt = false; service.submit(par); //submit_dto(FilterCompoundSubmitDefaults.getIloHeisig6()); //submit_dto(FilterCompoundSubmitDefaults.getCore6KHeisig6()); //submit_dto(FilterCompoundSubmitDefaults.getCore10KJLPT()); } private void submit_dto(FilterCompoundSubmitDTO dto) throws Exception { mockMvc.perform( post(TestCompoundResource.BASE_URL + "/submit") .principal(principal).session(session) .contentType(TestUtil.APPLICATION_JSON_UTF8) .content(TestUtil.convertObjectToJsonBytes(dto))) .andExpect(status().isOk()); } }