@Override public int render(Renderer renderer, ContentStore db, JBakeConfiguration config) throws RenderingException { if (config.getRenderSiteMap()) { try { //TODO: refactor this. the renderer has a reference to the configuration renderer.renderSitemap(config.getSiteMapFileName()); return 1; } catch (Exception e) { throw new RenderingException(e); } } else { return 0; } }
@Test public void returnsZeroWhenConfigDoesNotRenderSitemaps() throws RenderingException { SitemapRenderer renderer = new SitemapRenderer(); JBakeConfiguration configuration = mock(DefaultJBakeConfiguration.class); when(configuration.getRenderSiteMap()).thenReturn(false); ContentStore contentStore = mock(ContentStore.class); Renderer mockRenderer = mock(Renderer.class); int renderResponse = renderer.render(mockRenderer, contentStore, configuration); assertThat(renderResponse).isEqualTo(0); }
@Test public void doesNotRenderWhenConfigDoesNotRenderSitemaps() throws Exception { SitemapRenderer renderer = new SitemapRenderer(); JBakeConfiguration configuration = mock(DefaultJBakeConfiguration.class); when(configuration.getRenderSiteMap()).thenReturn(false); ContentStore contentStore = mock(ContentStore.class); Renderer mockRenderer = mock(Renderer.class); renderer.render(mockRenderer, contentStore, configuration); verify(mockRenderer, never()).renderSitemap(anyString()); }
@Test public void returnsOneWhenConfigRendersSitemaps() throws RenderingException { SitemapRenderer renderer = new SitemapRenderer(); JBakeConfiguration configuration = mock(DefaultJBakeConfiguration.class); when(configuration.getRenderSiteMap()).thenReturn(true); ContentStore contentStore = mock(ContentStore.class); Renderer mockRenderer = mock(Renderer.class); int renderResponse = renderer.render(mockRenderer, contentStore, configuration); assertThat(renderResponse).isEqualTo(1); }
@Test(expected = RenderingException.class) public void propogatesRenderingException() throws Exception { SitemapRenderer renderer = new SitemapRenderer(); JBakeConfiguration configuration = mock(DefaultJBakeConfiguration.class); when(configuration.getRenderSiteMap()).thenReturn(true); when(configuration.getSiteMapFileName()).thenReturn("mocksitemap.html"); ContentStore contentStore = mock(ContentStore.class); Renderer mockRenderer = mock(Renderer.class); doThrow(new Exception()).when(mockRenderer).renderSitemap(anyString()); renderer.render(mockRenderer, contentStore, configuration); verify(mockRenderer, never()).renderSitemap(anyString()); }
@Test public void doesRenderWhenConfigDoesRenderSitemaps() throws Exception { SitemapRenderer renderer = new SitemapRenderer(); JBakeConfiguration configuration = mock(DefaultJBakeConfiguration.class); when(configuration.getRenderSiteMap()).thenReturn(true); when(configuration.getSiteMapFileName()).thenReturn("mocksitemap.html"); ContentStore contentStore = mock(ContentStore.class); Renderer mockRenderer = mock(Renderer.class); renderer.render(mockRenderer, contentStore, configuration); verify(mockRenderer, times(1)).renderSitemap(anyString()); }
@Override public int render(Renderer renderer, ContentStore db, JBakeConfiguration config) throws RenderingException { if (config.getRenderSiteMap()) { try { //TODO: refactor this. the renderer has a reference to the configuration renderer.renderSitemap(config.getSiteMapFileName()); return 1; } catch (Exception e) { throw new RenderingException(e); } } else { return 0; } }