Java tutorial
/** * This file is part of the ChillDev-Web. * * @license http://mit-license.org/ The MIT license * @copyright 2014 by Rafa Wrzeszcz - Wrzasq.pl. */ package test.pl.chilldev.web.spring.context; import org.junit.Test; import org.junit.runner.RunWith; import static org.junit.Assert.*; import javax.faces.view.facelets.FaceletContext; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import static org.mockito.Mockito.*; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.GenericWebApplicationContext; import pl.chilldev.web.core.page.PageMetaModel; import pl.chilldev.web.spring.context.SpringBeansFacesPageMetaModelResolver; import pl.chilldev.web.faces.context.PageMetaModelContextException; import pl.chilldev.web.faces.context.PageMetaModelResolver; import test.pl.chilldev.web.spring.mock.MockFaceletContext; @RunWith(MockitoJUnitRunner.class) public class SpringBeansFacesPageMetaModelResolverTest { @Mock private WebApplicationContext appContext; @Test public void getPageMetaModel() throws PageMetaModelContextException { FaceletContext faceletContext = new MockFaceletContext(); faceletContext.getFacesContext().getExternalContext().getApplicationMap() .put(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, this.appContext); PageMetaModelResolver resolver = new SpringBeansFacesPageMetaModelResolver(); PageMetaModel page = new PageMetaModel(); when(this.appContext.getBean(PageMetaModel.class)).thenReturn(page); assertSame( "SpringBeansFacesPageMetaModelResolver.getPageMetaModel() should return page model from Spring container.", page, resolver.getPageMetaModel(faceletContext)); } @Test(expected = PageMetaModelContextException.class) public void getPageMetaModelWithoutBean() throws PageMetaModelContextException { GenericWebApplicationContext appContext = new GenericWebApplicationContext(); appContext.refresh(); FaceletContext faceletContext = new MockFaceletContext(); faceletContext.getFacesContext().getExternalContext().getApplicationMap() .put(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, appContext); PageMetaModelResolver resolver = new SpringBeansFacesPageMetaModelResolver(); resolver.getPageMetaModel(faceletContext); } }