package org.molgenis.ui; import org.molgenis.security.core.MolgenisPermissionService; import org.molgenis.ui.XmlMolgenisUiTest.Config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.support.AnnotationConfigContextLoader; import org.springframework.test.context.testng.AbstractTestNGSpringContextTests; import org.testng.annotations.Test; import java.io.IOException; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import static org.testng.Assert.assertEquals; @ContextConfiguration(classes = Config.class, loader = AnnotationConfigContextLoader.class) public class XmlMolgenisUiTest extends AbstractTestNGSpringContextTests { @Autowired private XmlMolgenisUi xmlMolgenisUi; @Autowired private Molgenis molgenis; @Test public void getMenu() { String menuId = "menu1"; MenuType menuType = new MenuType(); menuType.setName(menuId); when(molgenis.getMenu()).thenReturn(menuType); MolgenisUiMenu menu = xmlMolgenisUi.getMenu(); assertEquals(menu.getId(), menuId); } @Configuration static class Config { @Bean public XmlMolgenisUi xmlMolgenisUi() throws IOException { return new XmlMolgenisUi(xmlMolgenisUiLoader(), molgenisPermissionService()); } @Bean public XmlMolgenisUiLoader xmlMolgenisUiLoader() throws IOException { return when(mock(XmlMolgenisUiLoader.class).load()).thenReturn(molgenis()).getMock(); } @Bean public Molgenis molgenis() { return mock(Molgenis.class); } @Bean public MolgenisPermissionService molgenisPermissionService() { return mock(MolgenisPermissionService.class); } } }