package serviceTest; import static org.junit.Assert.*; import java.sql.Date; import java.util.ArrayList; import java.util.Calendar; import org.junit.Test; import carpool.carpoolDAO.CarpoolDaoBasic; import carpool.carpoolDAO.CarpoolDaoMessage; import carpool.carpoolDAO.CarpoolDaoTransaction; import carpool.carpoolDAO.CarpoolDaoUser; import carpool.common.DateUtility; import carpool.configurations.EnumConfig; import carpool.configurations.EnumConfig.DayTimeSlot; import carpool.configurations.EnumConfig.Gender; import carpool.configurations.EnumConfig.MessageType; import carpool.configurations.EnumConfig.PaymentMethod; import carpool.configurations.EnumConfig.TransactionType; import carpool.dbservice.MessageDaoService; import carpool.dbservice.TransactionDaoService; import carpool.dbservice.UserDaoService; import carpool.exception.location.LocationNotFoundException; import carpool.exception.validation.ValidationException; import carpool.model.Location; import carpool.model.Message; import carpool.model.Transaction; import carpool.model.User; public class TransactionDaoServiceTest { @Test public void test() throws LocationNotFoundException { CarpoolDaoBasic.clearBothDatabase(); long departure_Id = 1; long arrival_Id = 2; String province = "Ontario"; String city1 = "Toronto"; String city2 = "Waterloo"; String region1 = "Downtown"; String region2 = "Downtown UW"; Double lat1 = 32.123212; Double lat2 = 23.132123; Double lng1 = 34.341232; Double lng2 = 34.123112; Location departureLocation= new Location(province,city1,region1,"Test1","Test11",lat1,lng1,arrival_Id); Location arrivalLocation = new Location(province,city2,region2,"Test2","Test22",lat2,lng2,departure_Id); //Users User provider = new User("xch93318yeah", "c2xiong@uwaterloo.ca", new Location(departureLocation), Gender.both); try { CarpoolDaoUser.addUserToDatabase(provider); } catch (ValidationException e) { e.printStackTrace(); } User customer = new User("fangyuan", "fangyuanlucky", new Location(arrivalLocation), Gender.both); try { CarpoolDaoUser.addUserToDatabase(customer); } catch (ValidationException e) { e.printStackTrace(); } Calendar time = DateUtility.DateToCalendar(new Date(0)); ArrayList<Integer> priceList = new ArrayList<Integer>(); priceList.add(1); PaymentMethod paymentMethod =null; paymentMethod = paymentMethod.fromInt(0); MessageType type = MessageType.fromInt(0); Gender genderRequirement = Gender.fromInt(0); DayTimeSlot timeSlot = DayTimeSlot.fromInt(0); //Messages Message message=new Message(provider.getUserId(),false , new Location(departureLocation),time,timeSlot,2 , priceList,new Location(arrivalLocation), time,timeSlot, 2,priceList,paymentMethod, "test", type, genderRequirement); CarpoolDaoMessage.addMessageToDatabase(message); TransactionType tD = EnumConfig.TransactionType.fromInt(1); Transaction transaction = new Transaction(provider.getUserId(),customer.getUserId(),message.getMessageId(),paymentMethod,"cNote","pNote",time,timeSlot,1,tD); Transaction transaction2 = new Transaction(provider.getUserId(),customer.getUserId(),message.getMessageId(),paymentMethod,"cNote","pNote",time,timeSlot,1,tD); Transaction transaction3 = new Transaction(provider.getUserId(),customer.getUserId(),message.getMessageId(),paymentMethod,"cNote","pNote",time,timeSlot,1,tD); //Test try{ transaction = TransactionDaoService.createNewTransaction(transaction); message = MessageDaoService.getMessageById(transaction.getMessageId()); assertTrue(message.getDeparture_seatsBooked() == 1 || message.getArrival_seatsBooked() == 1); transaction = TransactionDaoService.getUserTransactionById(transaction.getProviderId(), provider.getUserId()); transaction2 = TransactionDaoService.createNewTransaction(transaction2); //message = MessageDaoService.getMessageById(transaction.getMessageId()); //assertTrue(message.getDeparture_seatsBooked() == 1 || message.getArrival_seatsBooked() == 1); TransactionDaoService.cancelTransaction(transaction2.getTransactionId(), customer.getUserId()); transaction3 = TransactionDaoService.createNewTransaction(transaction3); ArrayList<Transaction> transactions = TransactionDaoService.getAllTransactions(); assertTrue(transactions.size() == 3); CarpoolDaoTransaction.getAllTranscations(); ArrayList<Transaction> transactions2 = MessageDaoService.getTransactionByMessageId(message.getMessageId()); assertTrue(transactions2.size() == 3); ArrayList<Transaction> transactions3 = UserDaoService.getTransactionByUserId(provider.getUserId()); assertTrue(transactions3.size() == 3); }catch(Exception e){ e.printStackTrace(); fail(); } } }