/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.preview; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.springframework.mock.web.MockHttpServletRequest; import com.enonic.cms.core.Attribute; import com.enonic.cms.core.servlet.ServletRequestAccessor; public class PreviewServiceImplWithRequestTest { private final PreviewContext SOME_PREVIEW = new PreviewContext( new MenuItemPreviewContext( null ) ); private PreviewServiceImpl previewService; private MockHttpServletRequest request; @Before public void setUp() throws Exception { request = new MockHttpServletRequest(); ServletRequestAccessor.setRequest( request ); previewService = new PreviewServiceImpl(); } @Test public void testIsInPreview() throws Exception { final boolean inPreview = previewService.isInPreview(); Assert.assertFalse( inPreview ); } @Test public void testGetPreviewContext() throws Exception { final PreviewContext previewContext = previewService.getPreviewContext(); Assert.assertEquals( PreviewContext.NO_PREVIEW, previewContext ); } @Test public void testSetPreviewContext() throws Exception { previewService.setPreviewContext( SOME_PREVIEW ); // no exceptions must be thrown } @Test public void testIsInPreviewWithPreviewAndNoSession() throws Exception { previewService.setPreviewContext( SOME_PREVIEW ); final boolean inPreview = previewService.isInPreview(); Assert.assertFalse( inPreview ); } @Test public void testIsInPreviewWithPreviewAndWithSession() throws Exception { request.getSession( true ); previewService.setPreviewContext( SOME_PREVIEW ); final boolean inPreview = previewService.isInPreview(); Assert.assertFalse( inPreview ); } @Test public void testIsInPreviewWithPreviewAndWithSessionAndPreviewEnabled() throws Exception { request.getSession( true ); request.setAttribute( Attribute.PREVIEW_ENABLED, "true" ); previewService.setPreviewContext( SOME_PREVIEW ); final boolean inPreview = previewService.isInPreview(); Assert.assertTrue( inPreview ); } @Test public void testGetPreviewContextNoSession() throws Exception { //request.getSession( false ); request.setAttribute( Attribute.PREVIEW_ENABLED, "true" ); previewService.setPreviewContext( SOME_PREVIEW ); final PreviewContext previewContext = previewService.getPreviewContext(); Assert.assertEquals( null, previewContext ); // no session ! } @Test public void testGetPreviewContextWithSession() throws Exception { request.getSession( true ); request.setAttribute( Attribute.PREVIEW_ENABLED, "true" ); previewService.setPreviewContext( SOME_PREVIEW ); final PreviewContext previewContext = previewService.getPreviewContext(); Assert.assertEquals( SOME_PREVIEW, previewContext ); } @Test public void testGetPreviewContextWithSessionAndNoPreview() throws Exception { request.getSession( true ); final PreviewContext previewContext = previewService.getPreviewContext(); Assert.assertEquals( PreviewContext.NO_PREVIEW, previewContext ); } }