package com.celements.parents; import static org.easymock.EasyMock.*; import static org.junit.Assert.*; import java.util.Arrays; import java.util.List; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.xwiki.model.reference.DocumentReference; import org.xwiki.model.reference.SpaceReference; import org.xwiki.model.reference.WikiReference; import com.celements.common.cache.IDocumentReferenceCache; import com.celements.common.test.AbstractBridgedComponentTestCase; import com.celements.navigation.NavigationCache; import com.google.common.collect.ImmutableSet; import com.xpn.xwiki.web.Utils; public class NavigationParentsTest extends AbstractBridgedComponentTestCase { private NavigationParents navParents; @Before @SuppressWarnings("unchecked") public void setUp_NavigationParentsTest() throws Exception { navParents = (NavigationParents) Utils.getComponent(IDocParentProviderRole.class, NavigationParents.NAME); navParents.navCache = createMockAndAddToDefault(IDocumentReferenceCache.class); } @After @SuppressWarnings("unchecked") public void tearDown_NavigationParentsTest() { navParents.navCache = Utils.getComponent(IDocumentReferenceCache.class, NavigationCache.NAME); } @Test public void testGetDocumentParentsList() throws Exception { WikiReference wikiRef = new WikiReference("db"); DocumentReference docRef = new DocumentReference("myDoc", new SpaceReference("space", wikiRef)); DocumentReference parentLocal = new DocumentReference("parent", new SpaceReference( "parentSpace", wikiRef)); WikiReference centralWikiRef = new WikiReference("celements2web"); DocumentReference parentCentral = new DocumentReference("parent", new SpaceReference( "parentSpace", centralWikiRef)); expect(navParents.navCache.getCachedDocRefs(eq(wikiRef), eq("space"))).andReturn( ImmutableSet.of(parentLocal)).once(); expect(navParents.navCache.getCachedDocRefs(eq(centralWikiRef), eq("space"))).andReturn( ImmutableSet.of(parentCentral)).once(); List<DocumentReference> docParentsList = Arrays.asList(parentLocal, parentCentral); replayDefault(); assertEquals(docParentsList, navParents.getDocumentParentsList(docRef)); verifyDefault(); } }