[jboss-cvs] jboss-seam/examples/seambay/src/org/jboss/seam/example/seambay/test ...

Shane Bryzak sbryzak at redhat.com
Thu Aug 23 00:25:49 EDT 2007


  User: sbryzak2
  Date: 07/08/23 00:25:49

  Added:       examples/seambay/src/org/jboss/seam/example/seambay/test  
                        AuctionTest.java testng.xml
  Log:
  added some unit tests
  
  Revision  Changes    Path
  1.1      date: 2007/08/23 04:25:49;  author: sbryzak2;  state: Exp;jboss-seam/examples/seambay/src/org/jboss/seam/example/seambay/test/AuctionTest.java
  
  Index: AuctionTest.java
  ===================================================================
  package org.jboss.seam.example.seambay.test;
  
  import java.util.List;
  
  import javax.faces.model.DataModel;
  
  import org.jboss.seam.contexts.Contexts;
  import org.jboss.seam.example.seambay.Auction;
  import org.jboss.seam.example.seambay.Category;
  import org.jboss.seam.mock.SeamTest;
  import org.testng.annotations.Test;
  
  public class AuctionTest extends SeamTest
  {
     @Test
     public void testCreateAuction() throws Exception
     {
        new FacesRequest() 
        {        
           @Override
           protected void invokeApplication() throws Exception
           {
              setValue("#{identity.username}", "demo");
              setValue("#{identity.password}", "demo");
              invokeAction("#{identity.login}");
              assert getValue("#{identity.loggedIn}").equals(true);            
           }
        }.run();  
        
        String cid = new FacesRequest()
        {
           @Override
           protected void invokeApplication() throws Exception
           {
              invokeAction("#{auctionAction.createAuction}");
           }
           
           @Override
           protected void renderResponse()
           {
              Auction auction = (Auction) getValue("#{auctionAction.auction}");
              assert auction != null;
           }
        }.run();
              
        new FacesRequest("/sell.xhtml", cid)
        {
           @Override 
           protected void updateModelValues() throws Exception
           {
              setValue("#{auctionAction.auction.title}", "A Widget");
           }
        }.run();
        
        
        new FacesRequest("/sell2.xhtml", cid)
        {
           @Override 
           protected void updateModelValues() throws Exception
           {
              List<Category> categories = (List<Category>) getValue("#{allCategories}");
              
              setValue("#{auctionAction.auction.category}", categories.get(0));
           }
        }.run();      
        
        new FacesRequest("/sell3.xhtml", cid)
        {
           @Override 
           protected void updateModelValues() throws Exception
           {
              setValue("#{auctionAction.duration}", 3);
              setValue("#{auctionAction.auction.startingPrice}", 100.0);
           }
           
        }.run();
        
        new FacesRequest("/sell5.xhtml", cid)
        {
           @Override 
           protected void updateModelValues() throws Exception
           {
              setValue("#{auctionAction.auction.description}", "foo");
           }         
        }.run();      
        
        new FacesRequest("/preview.xhtml", cid)
        {
           @Override 
           protected void invokeApplication() throws Exception
           {
              Auction auction = (Auction) getValue("#{auctionAction.auction}");
              invokeAction("#{auctionAction.confirm}");
              assert auction.getStatus() == Auction.STATUS_LIVE;
           }         
        }.run();
        
        new FacesRequest()
        {
           @Override
           protected void invokeApplication() throws Exception
           {
              invokeAction("#{identity.logout}");
              assert getValue("#{identity.loggedIn}").equals(false);
           }         
        }.run();
     }
   
     @Test
     public void testBidding() throws Exception
     {
        new FacesRequest() 
        {        
           @Override
           protected void invokeApplication() throws Exception
           {
              setValue("#{identity.username}", "demo");
              setValue("#{identity.password}", "demo");
              invokeAction("#{identity.login}");
              assert getValue("#{identity.loggedIn}").equals(true);
           }
        }.run();
              
        new FacesRequest()
        {
           @Override
           protected void invokeApplication() throws Exception
           {
              invokeAction("#{auctionAction.createAuction}");
              setValue("#{auctionAction.auction.title}", "BidTestZZZ");
              setValue("#{auctionAction.auction.startingPrice}", 1);         
              setValue("#{auctionAction.auction.description}", "bar");
              setValue("#{auctionAction.categoryId}", 1001);
              
              Auction auction = (Auction) getValue("#{auctionAction.auction}"); 
  
              assert auction.getStatus() == Auction.STATUS_UNLISTED;
              
              invokeAction("#{auctionAction.confirm}");
              
              assert auction.getStatus() == Auction.STATUS_LIVE;            
              assert auction.getHighBid() == null;
           }
        }.run();      
        
        new FacesRequest()
        {
           @Override
           protected void updateModelValues() throws Exception
           {
              setValue("#{auctionSearch.searchTerm}", "BidTestZZZ");
           }
           
           @Override
           protected void invokeApplication() throws Exception
           {
              assert invokeAction("#{auctionSearch.queryAuctions}") == null;
           }
           
           @Override
           protected void renderResponse() throws Exception
           {
              DataModel auctions = (DataModel) Contexts.getSessionContext().get("auctions");
              assert auctions.getRowCount() == 1;
              Auction auction = ((Auction) auctions.getRowData()); 
              assert auction.getTitle().equals("BidTestZZZ");
              assert auction.getHighBid() == null;
           }
           
        }.run();
           
        new FacesRequest()
        {
           @Override
           protected void invokeApplication() throws Exception
           {
              Contexts.getEventContext().set("auction", getValue("#{auctionSearch.auctions[0]}"));
              
              assert invokeAction("#{bidAction.placeBid}") == null;
              assert getValue("#{bidAction.outcome}").equals("required");
              Contexts.getEventContext().set("bidAmount", "5.00");
              
              assert invokeAction("#{bidAction.placeBid}") == null;
              assert getValue("#{bidAction.outcome}").equals("confirm");
              
              assert invokeAction("#{bidAction.confirmBid}").equals("success");
           }
        }.run();
        
        new FacesRequest()
        {
           @Override
           protected void invokeApplication() throws Exception
           {
              assert invokeAction("#{auctionSearch.queryAuctions}") == null;
           }
           
           protected void renderResponse() throws Exception
           {
              DataModel auctions = (DataModel) Contexts.getSessionContext().get("auctions");
              Auction auction = ((Auction) auctions.getRowData());
              assert auction.getHighBid() != null;
           }
        }.run();
        
        
     }
     
  }
  
  
  
  1.1      date: 2007/08/23 04:25:49;  author: sbryzak2;  state: Exp;jboss-seam/examples/seambay/src/org/jboss/seam/example/seambay/test/testng.xml
  
  Index: testng.xml
  ===================================================================
  <!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
  
  <suite name="SeamBay" verbose="2" parallel="false">
  
     <test name="SeamBay: Create Auction">
       <classes>
         <class name="org.jboss.seam.example.seambay.test.AuctionTest"/>
       </classes>
     </test>
  	
  </suite>
  
  



More information about the jboss-cvs-commits mailing list