Package org.jboss.seam.example.booking.test

Source Code of org.jboss.seam.example.booking.test.BookingUnitTest

package org.jboss.seam.example.booking.test;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import org.jboss.seam.core.Events;
import org.jboss.seam.core.FacesMessages;
import org.jboss.seam.example.booking.Booking;
import org.jboss.seam.example.booking.Hotel;
import org.jboss.seam.example.booking.HotelBooking;
import org.jboss.seam.example.booking.HotelBookingAction;
import org.jboss.seam.example.booking.HotelSearching;
import org.jboss.seam.example.booking.HotelSearchingAction;
import org.jboss.seam.example.booking.User;
import org.jboss.seam.log.Logging;
import org.jboss.seam.mock.SeamTest;
import org.testng.annotations.Test;

public class BookingUnitTest extends SeamTest
{
  
   @Test
   public void testHotelSearching() throws Exception
   {
      EntityManagerFactory emf = Persistence.createEntityManagerFactory("bookingDatabase");

      EntityManager em = emf.createEntityManager();
     
      HotelSearching hs = new HotelSearchingAction();
     
      setField(hs, "em", em);
     
      hs.setSearchString("atlanta");
      hs.find();
     
      List<Hotel> hotels = (List<Hotel>) getField(hs, "hotels");
      assert hotels!=null;
      assert hotels.size()==3;
     
      em.close();
   }
  
   @Test
   public void testHotelBooking() throws Exception
   {
      EntityManagerFactory emf = Persistence.createEntityManagerFactory("bookingDatabase");
      final EntityManager em = emf.createEntityManager();
     
      Hotel hotel =  em.getReference(Hotel.class, 1l);
     
      HotelBooking hb = new HotelBookingAction();
     
      setField(hb, "em", em);
      //setField(hb, "hotelSearch", hs);
      setField(hb, "user", em.getReference(User.class, "gavin"));
      setField(hb, "facesMessages", new FacesMessages());
      setField(hb, "events", new Events() { @Override public void raiseEvent(String type, Object... params) { assert "bookingConfirmed".equals(type); } } );
      setField(hb, "log", Logging.getLog(HotelBookingAction.class));
     
      assert hb.selectHotel(hotel).equals("hotel");

      User user = em.getReference(User.class, "gavin");
      assert user!=null;
      assert hb.bookHotel().equals("book");
     
      Booking booking = (Booking) getField(hb, "booking");
      assert booking!=null;
      assert booking.getHotel()!=null;
      assert booking.getUser()!=null;
     
      booking.setCreditCard("1234123412341234");
      booking.setCreditCardName("GAVIN A KING");
     
      assert hb.setBookingDetails().equals("confirm");

      getUserTransaction().begin();
      assert hb.confirm().equals("confirmed");
      getUserTransaction().commit();
     
      em.close();
   }

}
TOP

Related Classes of org.jboss.seam.example.booking.test.BookingUnitTest

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.