/* * JBoss, Home of Professional Open Source * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jboss.seam.wiki.test.browse; import org.dbunit.operation.DatabaseOperation; import org.jboss.seam.wiki.core.action.DirectoryHome; import org.jboss.seam.wiki.core.action.DirectoryBrowser; import org.jboss.seam.wiki.core.model.*; import org.jboss.seam.mock.DBUnitSeamTest; import org.testng.annotations.Test; public class DisplayDirectories extends DBUnitSeamTest { protected void prepareDBUnitOperations() { beforeTestOperations.add( new DataSetOperation("org/jboss/seam/wiki/test/WikiBaseData.dbunit.xml", DatabaseOperation.CLEAN_INSERT) ); } @Test public void directoryFromAreaWikiname() throws Exception { new NonFacesRequest("/wiki.xhtml") { protected void beforeRequest() { setParameter("areaName", "BBB"); } protected void renderResponse() throws Exception { WikiDocument doc = (WikiDocument)getValue("#{currentDocument}"); assert doc == null; DirectoryBrowser browser = (DirectoryBrowser)getInstance(DirectoryBrowser.class); WikiDirectory dir = browser.getInstance(); assert dir != null; assert dir.getId().equals(2l); assert dir.getArea().getId().equals(2l); assert browser.getChildNodes().size() == 1; assert browser.isRemovable(browser.getChildNodes().get(0)); assert getRenderedViewId().equals("/dirDisplay_d.xhtml"); } }.run(); } @Test public void directoryFromFullWikiname() throws Exception { new NonFacesRequest("/wiki.xhtml") { protected void beforeRequest() { setParameter("areaName", "CCC"); setParameter("nodeName", "DDD"); } protected void renderResponse() throws Exception { WikiDocument doc = (WikiDocument)getValue("#{currentDocument}"); assert doc == null; DirectoryBrowser browser = (DirectoryBrowser)getInstance(DirectoryBrowser.class); WikiDirectory dir = browser.getInstance(); assert dir != null; assert dir.getId().equals(4l); assert browser.getChildNodes().size() == 1; assert browser.isRemovable(browser.getChildNodes().get(0)); assert getRenderedViewId().equals("/dirDisplay_d.xhtml"); } }.run(); } }