001 package org.cocome.tradingsystem.systests.scenarios; 002 003 import org.cocome.tradingsystem.systests.interfaces.IOrder; 004 import org.cocome.tradingsystem.systests.util.GeneratedStockItem; 005 006 /** 007 * This test covers use cases 3 and 5. An order will be executed for some 008 * products and the roll in of the correct products will be handled. 009 * 010 * @author Christian Pfaller 011 * @author $Author: hummel $ 012 * @version $Revision: 1.1 $ 013 * @lev.rating GREEN Rev: 64 014 */ 015 016 public class OrderAndReceiveProductsTest extends TestScenarioBase { 017 018 /** Execute the test case. */ 019 public void testScenario() throws Exception { 020 StoreWrapper store = stores.get(0); 021 022 /*********************************************************************** 023 * use case 3 - order products 024 **********************************************************************/ 025 026 // manager selects a product which runs out of stock 027 GeneratedStockItem item = store.getItemLowOnStock(); 028 029 // create a new order for this product 030 IOrder order = store.getStorePC().createOrder(); 031 int orderAmount = item.getMaxAmount() - item.getAmount(); 032 order.addOrderItem(item.getProduct().getProduct(), orderAmount); 033 034 // execute the order 035 store.getStorePC().executeOrder(order); 036 037 /*********************************************************************** 038 * use case 4 - receive order products 039 **********************************************************************/ 040 041 // products arrive with attached orderId 042 // Using orderId StockManager can get all information about the order 043 // StoreManager checks if everything is correct 044 // Assumption: Everything correct, so roll in order 045 store.getStorePC().rollInOrder(order); 046 047 // check if product amount is increased as expected 048 assertEquals( 049 "Amount of original order and retreived order should be equal", 050 item.getMaxAmount(), store.getStorePC().getAmount( 051 item.getProduct().getProduct())); 052 053 } 054 055 }