[jboss-cvs] jboss-seam/examples/dvdstore/src/com/jboss/dvd/seam/test ...

Norman Richards norman.richards at jboss.com
Thu Oct 18 01:29:24 EDT 2007


  User: nrichards
  Date: 07/10/18 01:29:24

  Modified:    examples/dvdstore/src/com/jboss/dvd/seam/test  
                        BestSellersTest.java
  Added:       examples/dvdstore/src/com/jboss/dvd/seam/test  
                        OrderTest.java
  Log:
  JBSEAM-2068
  
  Revision  Changes    Path
  1.7       +28 -34    jboss-seam/examples/dvdstore/src/com/jboss/dvd/seam/test/BestSellersTest.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: BestSellersTest.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/dvdstore/src/com/jboss/dvd/seam/test/BestSellersTest.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -b -r1.6 -r1.7
  --- BestSellersTest.java	17 Mar 2007 00:35:32 -0000	1.6
  +++ BestSellersTest.java	18 Oct 2007 05:29:24 -0000	1.7
  @@ -19,14 +19,12 @@
       public void testTopProducts() 
           throws Exception
       {
  -        
            new NonFacesRequest() {
  -             
                @SuppressWarnings("unchecked")
                @Override
                protected void renderResponse()
                {
  -                 List<Product> products = (List<Product>) getInstance("topProducts");
  +                List<Product> products = (List<Product>) getValue("#{topProducts}");
                   
                    assertNotNull("topProducts", products);
                    assertEquals("topProducts size",  8, products.size());               
  @@ -49,8 +47,4 @@
                }               
            }.run();
       }
  -
  -
  - 
  -
   }
  
  
  
  1.1      date: 2007/10/18 05:29:24;  author: nrichards;  state: Exp;jboss-seam/examples/dvdstore/src/com/jboss/dvd/seam/test/OrderTest.java
  
  Index: OrderTest.java
  ===================================================================
  package com.jboss.dvd.seam.test;
  
  import java.util.ArrayList;
  import java.util.List;
  
  import javax.el.ELException;
  import javax.faces.model.DataModel;
  
  import org.jboss.seam.core.Conversation;
  import org.jboss.seam.mock.SeamTest;
  import org.jboss.seam.security.NotLoggedInException;
  import org.testng.annotations.Test;
  
  import com.jboss.dvd.seam.Order;
  import com.jboss.dvd.seam.Product;
  import com.jboss.dvd.seam.ShoppingCart;
  import com.jboss.dvd.seam.User;
  import com.jboss.dvd.seam.Order.Status;
  
  public class OrderTest
      extends SeamTest
  {
      
      @Test 
      public void selectDvd() 
          throws Exception 
      {
          new FacesRequest("/dvd.xhtml") {
              @Override
              protected void  beforeRequest() {
                  setParameter("id", "41");
              }
  
              @Override
              protected void renderResponse() throws Exception {
                  Product dvd = (Product) getValue("#{dvd}");
                  assert dvd != null;
                  assert dvd.getProductId() == 41;                               
              }
          }.run();
      }
          
      @Test
      public void addToCart() 
          throws Exception 
      {
          String id = new FacesRequest("/dvd.xhtml") {
              @Override
              protected void beforeRequest() {
                  setParameter("id", "41");
              }
          }.run();
          new FacesRequest("/dvd.xhtml", id) {
              @Override
              protected void invokeApplication() throws Exception {
                  invokeAction("#{search.addToCart}");
              }
              
              @Override
              protected void renderResponse() throws Exception {
                  ShoppingCart cart = (ShoppingCart) getValue("#{cart}");
                  assert cart != null;
                  assert cart.getCart().size() == 1;
              }
          }.run();
          
          new FacesRequest("/dvd.xhtml", id) {
              @Override
              protected void beforeRequest() {
                  setParameter("id", "42");
              }          
          }.run();
          
          new FacesRequest("/dvd.xhtml", id) {
              @Override
              protected void invokeApplication() throws Exception {
                  invokeAction("#{search.addToCart}");
              }
              
              @Override
              protected void renderResponse() throws Exception {
                  ShoppingCart cart = (ShoppingCart) getValue("#{cart}");
                  assert cart != null;
                  assert cart.getCart().size() == 2;
              }
          }.run();
          
          new FacesRequest("/dvd.xhtml", id) {
              @Override
              protected void beforeRequest() {
                  setParameter("id", "41");
              }         
          }.run();
          
          new FacesRequest("/dvd.xhtml", id) {
              @Override
              protected void invokeApplication() throws Exception {
                  invokeAction("#{search.addToCart}");
              }
              
              @Override
              protected void renderResponse() throws Exception {
                  ShoppingCart cart = (ShoppingCart) getValue("#{cart}");
                  assert cart != null;
                  assert cart.getCart().size() == 2;
              }
          }.run();
          
          
          new FacesRequest("/dvd.xhtml", id) {
              @Override
              protected void beforeRequest() {
                  setParameter("id", "43");
              }           
          }.run();
          
          new FacesRequest("/dvd.xhtml", id) {
              @Override
              protected void invokeApplication() throws Exception {
                  invokeAction("#{search.addToCart}");
              }
              
              @Override
              protected void renderResponse() throws Exception {
                  ShoppingCart cart = (ShoppingCart) getValue("#{cart}");
                  assert cart != null;
                  assert cart.getCart().size() == 3;
              }
          }.run();
          
      }
      
      @Test
      public void checkoutNotLoggedIn() throws Exception {
          String id = new FacesRequest("/dvd.xhtml") {
              @Override
              protected void beforeRequest() {
                  setParameter("id", "41");
              }
          }.run();
          
          id = new FacesRequest("/dvd.xhtml", id) {
              @Override
              protected void invokeApplication() throws Exception {
                  invokeAction("#{search.addToCart}");
              }
          }.run();
          
          id = new FacesRequest("/checkout.xhtml", id) {
          }.run();
               
          id = new FacesRequest("/checkout.xhtml", id) {
              @Override
              protected void invokeApplication() throws Exception {
                  invokeAction("#{checkout.createOrder}");
              }
              @Override
              protected void renderResponse() throws Exception {
                  Order order = (Order) getValue("#{order}");
                  assert order != null;
                  
              }
          }.run();    
          
          id = new FacesRequest("/checkout.xhtml", id) {
              @Override
              protected void invokeApplication() throws Exception {
                  try {
                      invokeAction("#{checkout.submitOrder}");
                      assert false; // should fail
                  } catch (ELException e) {
                      assert e.getCause() instanceof NotLoggedInException;
                  }
              }
              @Override
              protected void renderResponse() throws Exception {
                  Order order = (Order) getValue("#{order}");
                  assert order != null;
              }
          }.run();    
          
          id = new FacesRequest("/checkout.xhtml", id) {
              @Override
              protected void applyRequestValues() throws Exception {
                 setValue("#{identity.username}", "user1");
                 setValue("#{identity.password}", "password");
              }
              protected void invokeApplication() throws Exception {
                  invokeAction("#{identity.login}");
              }
              @Override
              protected void renderResponse() throws Exception {
                  assert getValue("#{identity.loggedIn}").equals(Boolean.TRUE);
                  User currentUser = (User) getValue("#{currentUser}");
                  assert currentUser.getUserName().equals("user1");
              }
          }.run();       
          
      }
      
      public long makeOrder() throws Exception {
          String id = new FacesRequest("/dvd.xhtml") {
              @Override
              protected void beforeRequest() {
                  setParameter("id", "41");
              }
          }.run();
          
          id = new FacesRequest("/dvd.xhtml", id) {
              @Override
              protected void invokeApplication() throws Exception {
                  invokeAction("#{search.addToCart}");
              }
          }.run();
          
          id = new NonFacesRequest("/checkout.xhtml", id) {
          }.run();
          
          id = new FacesRequest("/checkout.xhtml", id) {
              @Override
              protected void applyRequestValues() throws Exception {
                 setValue("#{identity.username}", "user1");
                 setValue("#{identity.password}", "password");
              }
              protected void invokeApplication() throws Exception {
                  invokeAction("#{identity.login}");
              }
              @Override
              protected void renderResponse() throws Exception {
                  assert getValue("#{identity.loggedIn}").equals(Boolean.TRUE);
                  User currentUser = (User) getValue("#{currentUser}");
                  assert currentUser.getUserName().equals("user1");
              }
          }.run();       
  
          id = new FacesRequest("/checkout.xhtml", id) {
              @Override
              protected void invokeApplication() throws Exception {             
                  invokeAction("#{checkout.createOrder}");
                  Order order = (Order) getValue("#{currentOrder}");
                  assert order!=null;
              }         
          }.run();                   
          
          id = new NonFacesRequest("/confirm.xhtml", id) {                   
          }.run();    
                  
          
          final Wrapper<Long> orderId = new Wrapper<Long>();
          
          id = new FacesRequest("/confirm.xhtml", id) {
              protected void invokeApplication() throws Exception {
                  invokeAction("#{checkout.submitOrder}");
              }
              @Override
              protected void renderResponse() throws Exception {
                  Order order = (Order) getValue("#{completedOrder}");
                  assert order!=null;
                  assert order.getCustomer().getUserName().equals("user1");
                  assert order.getStatus().equals(Status.OPEN);
                  
                  orderId.setValue(order.getOrderId());
              }
          }.run();
          
          return orderId.getValue();
      }
      
      @Test
      public void checkout() throws Exception {
          makeOrder();
      }
      
      @Test 
      public void showOrders() throws Exception {
          final long order1 = makeOrder();
          final long order2 = makeOrder();
          final long order3 = makeOrder();
          
          new NonFacesRequest("/showOrders.xhtml") {
              @SuppressWarnings("unchecked")
              @Override
              protected void renderResponse() throws Exception {
                  DataModel model = (DataModel) getValue("#{orders}");
  
                  List<Long> orders = new ArrayList<Long>();
                  for (Order order: (List<Order>) model.getWrappedData()) {
                      orders.add(order.getOrderId());
                  }
  
                  assert orders.contains(order1);
                  assert orders.contains(order2);
                  assert orders.contains(order3);
              }
              
          }.run();        
      }
      
      
      @Test 
      public void cancelOrder() throws Exception {
          final long order1 = makeOrder();      
          
          String id = new NonFacesRequest("/showorders.xhtml") {
              @SuppressWarnings("unchecked")
              @Override
              protected void renderResponse() throws Exception {
                  DataModel model = (DataModel) getValue("#{orders}");
                  assert model!=null;
                  
                  assert Conversation.instance().isLongRunning();
              }
              
          }.run();  
          
          id = new FacesRequest("/showorders.xhtml",id) {
              @SuppressWarnings("unchecked")
              @Override
              protected void applyRequestValues() throws Exception {
                 DataModel model = (DataModel) getValue("#{orders}");
              
                 int index =0;
                 for (Order order: (List<Order>) model.getWrappedData()) {
                     if (order.getOrderId() == order1) {
                         model.setRowIndex(index);
                         break;
                     }
                     index++;
                 }
              }
           
              @Override
              protected void invokeApplication() throws Exception {
                 invokeAction("#{showorders.detailOrder}");
              }
              
              @Override
              protected void renderResponse() throws Exception {
                  assert false;
              }
          }.run();
          
          id = new FacesRequest("/showorders.xhtml",id) {           
              @Override
              protected void renderResponse() throws Exception {
                  Order order = (Order) getValue("#{myorder}");                
                  assert order.getOrderId() == order1;
                  assert order.getStatus() == Status.OPEN;
  
              }
          }.run();
          
          id = new FacesRequest("/showorders.xhtml",id) {  
              @Override
              protected void invokeApplication() throws Exception {
                  invokeAction("#{showorders.cancelOrder}");
              }
              @Override
              protected void renderResponse() throws Exception {
                  Order order = (Order) getValue("#{myorder}");                
                  assert order.getOrderId() == order1;
                  assert order.getStatus() == Status.CANCELLED;
                  assert false;
              }
          }.run();
      }
      
      
      static class Wrapper<T> {
          T value;
          
          public void setValue(T value) {
              this.value = value;
          }
          
          public T getValue() {
              return value;
          }
      }
  }
  
  
  



More information about the jboss-cvs-commits mailing list