Package org.jboss.seam.wiki.test.editing

Source Code of org.jboss.seam.wiki.test.editing.Tagging

/*
* JBoss, Home of Professional Open Source
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.seam.wiki.test.editing;

import org.dbunit.operation.DatabaseOperation;
import org.jboss.seam.wiki.core.action.DocumentHome;
import org.jboss.seam.wiki.core.action.TagQuery;
import org.jboss.seam.wiki.core.action.UploadHome;
import org.jboss.seam.wiki.core.model.WikiFile;
import org.jboss.seam.mock.DBUnitSeamTest;
import org.testng.annotations.Test;

import java.util.List;

public class Tagging extends DBUnitSeamTest {

    protected void prepareDBUnitOperations() {
        beforeTestOperations.add(
            new DataSetOperation("org/jboss/seam/wiki/test/WikiBaseData.dbunit.xml", DatabaseOperation.CLEAN_INSERT)
        );
        beforeTestOperations.add(
            new DataSetOperation("org/jboss/seam/wiki/test/UploadData.dbunit.xml", DatabaseOperation.INSERT)
        );
    }

    @Test
    public void tagDocument() throws Exception {

        final String conversationId = new NonFacesRequest("/docEdit_d.xhtml") {
            protected void beforeRequest() {
                setParameter("documentId", "6");
                setParameter("parentDirectoryId", "3");
            }
        }.run();

        new FacesRequest("/docEdit_d.xhtml") {

            protected void beforeRequest() {
                setParameter("cid", conversationId);
            }

            protected void invokeApplication() throws Exception {
                DocumentHome docHome = (DocumentHome)getInstance(DocumentHome.class);

                assert docHome.getInstance().getId().equals(6l); // Init!

                assert docHome.getInstance().getTags().size() == 1;
                assert docHome.getInstance().getTags().contains("Tag One");
                assert docHome.getTagEditor().getTagsAsList().contains("Tag One");
                docHome.getTagEditor().setNewTag("New Tag");
                docHome.getTagEditor().addNewTag();
                assert invokeMethod("#{documentHome.update}").equals("updated");
            }

            protected void renderResponse() throws Exception {
                DocumentHome docHome = (DocumentHome)getInstance(DocumentHome.class);
                assert docHome.getInstance().getTags().size() == 2;
                assert docHome.getInstance().getTagsAsList().get(0).equals("New Tag");
                assert docHome.getInstance().getTagsAsList().get(1).equals("Tag One");

                TagQuery tagQuery = (TagQuery)getInstance(TagQuery.class);
                tagQuery.setTag("New Tag");
                List<WikiFile> taggedFiles = tagQuery.getTaggedFiles();
                assert taggedFiles.size() == 1;
                assert taggedFiles.get(0).getId().equals(6l);
            }
        }.run();
    }

    @Test
    public void tagUpload() throws Exception {

        final String conversationId = new NonFacesRequest("/uploadEdit_d.xhtml") {
            protected void beforeRequest() {
                setParameter("uploadId", "30");
                setParameter("parentDirectoryId", "2");
            }
        }.run();

        new FacesRequest("/uploadEdit_d.xhtml") {

            protected void beforeRequest() {
                setParameter("cid", conversationId);
            }

            protected void invokeApplication() throws Exception {
                UploadHome uploadHome = (UploadHome)getInstance(UploadHome.class);
                assert uploadHome.getInstance().getId().equals(30l); // Init!

                assert uploadHome.getInstance().getTags().size() == 0;
                uploadHome.getTagEditor().setNewTag("New Tag");
                uploadHome.getTagEditor().addNewTag();
                assert invokeMethod("#{uploadHome.update}").equals("updated");
            }

            protected void renderResponse() throws Exception {
                UploadHome uploadHome = (UploadHome)getInstance(UploadHome.class);
                assert uploadHome.getInstance().getTags().size() == 1;
                assert uploadHome.getInstance().getTagsAsList().get(0).equals("New Tag");

                TagQuery tagQuery = (TagQuery)getInstance(TagQuery.class);
                tagQuery.setTag("New Tag");
                List<WikiFile> taggedFiles = tagQuery.getTaggedFiles();
                assert taggedFiles.size() == 1;
                assert taggedFiles.get(0).getId().equals(30l);
            }
        }.run();
    }

}
TOP

Related Classes of org.jboss.seam.wiki.test.editing.Tagging

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.