Package com.jboss.dvd.seam.test

Source Code of com.jboss.dvd.seam.test.SearchTest

package com.jboss.dvd.seam.test;

import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertTrue;

import javax.faces.model.ListDataModel;

import org.jboss.seam.mock.SeamTest;
import org.testng.annotations.Test;

import com.jboss.dvd.seam.FullTextSearch;
import com.jboss.dvd.seam.Product;

public class SearchTest
    extends SeamTest
{  
    @Test
    public void testNoParamSearch()
        throws Exception
    {
       
        new FacesRequest() {
           FullTextSearch search;
            @Override
            protected void updateModelValues()
            {
                search = (FullTextSearch) getInstance("search");
                search.setSearchQuery("king");
            }
            @Override
            protected void invokeApplication()
            {
                String outcome = search.doSearch();
                assertEquals("search outcome", "browse", outcome);
            }
            @Override
            protected void renderResponse()
            {
                ListDataModel model = (ListDataModel) lookup("searchResults");
                //exact number of matches depends on search algorithm,
                //so we only check that at least something was found:
                assertTrue("should have found something",model.isRowAvailable());
                Product firstMatch = (Product) model.getRowData();
                assertTrue("at least top match should have keyword in title",
                      firstMatch.getTitle().toLowerCase().contains("king"));
                assertTrue("in conversation", isLongRunningConversation());
            }
        }.run();
    }
   
}
TOP

Related Classes of com.jboss.dvd.seam.test.SearchTest

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.