public static FakeProductService GetPopulatedProductService()
 {
     FakeProductService productService = new FakeProductService();
     productService.Products.Add(new Product(1, null, null, 5.95m, null));
     productService.Products.Add(new Product(2, null, null, 1.25m, null));
     return productService;
 }
        public void GetSavedDraftOrdersRetrievesOrdersWithDraftStatusAndForCurrentUser()
        {
            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersManagementDataSet.OrdersRow ordersRow = ds.Orders.NewOrdersRow();
            ordersRow.Approver = "WhoCares";
            ordersRow.Creator = "CurrentUser";
            ordersRow.OrderName = "Test Order";
            ordersRow.OrderStatus = (int)OrderStatusEnum.Draft;
            ds.Orders.AddOrdersRow(ordersRow);
            OrdersManagementDataSet.OrderDetailsRow detailRow = ds.OrderDetails.NewOrderDetailsRow();
            detailRow.OrdersRow = ordersRow;
            detailRow.ProductId = 11;
            detailRow.Quantity = 3;
            ds.OrderDetails.AddOrderDetailsRow(detailRow);
            ds.AcceptChanges();

            FakeProductService productService = new FakeProductService();
            productService.Products.Add(new Product(11, null, null, 2.99m, null));
            OrdersService ordersService = new OrdersService(ds, productService);

            IList<Order> orders = ordersService.GetSavedDraftOrders("CurrentUser");

            Assert.IsNotNull(orders);
            Assert.AreEqual(1, orders.Count);
            Order order = orders[0];
            Assert.AreEqual("Test Order", order.OrderName);
            Assert.IsNotNull(order);
            Assert.AreEqual(1, order.Details.Count);
            Assert.AreEqual((short)3, order.Details[0].Quantity);
            Assert.AreEqual(2.99m, order.Details[0].UnitPrice);
        }
        public void GetOrderWithDetailsGetsBothOrderAndDetails()
        {
            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersManagementDataSet.OrdersRow ordersRow = ds.Orders.NewOrdersRow();
            ordersRow.CustomerId = "11";
            ordersRow.Description = "MyDescription";
            ordersRow.Approver = "MyEmployeeId";
            ordersRow.Creator = "MyEmployeeId";
            ordersRow.OrderName = "MyOrderName";
            ordersRow.OrderStatus = (int)OrderStatusEnum.Draft;
            ordersRow.ShipAddress = "MyShipAddress";
            ordersRow.ShipCity = "MyShipCity";
            ordersRow.ShipPostalCode = "MyZip";
            ordersRow.ShipRegion = "MyShipRegion";
            ds.Orders.AddOrdersRow(ordersRow);
            OrdersManagementDataSet.OrderDetailsRow detailRow = ds.OrderDetails.NewOrderDetailsRow();
            detailRow.OrdersRow = ordersRow;
            detailRow.ProductId = 11;
            detailRow.Quantity = 3;
            ds.OrderDetails.AddOrderDetailsRow(detailRow);
            ds.AcceptChanges();

            FakeProductService productService = new FakeProductService();
            productService.Products.Add(new Product(11, null, null, 2.99m, null));

            OrdersService ordersService = new OrdersService(ds, productService);

            Order order = ordersService.GetOrderWithDetails(ordersRow.OrderId);

            Assert.IsNotNull(order);
            Assert.AreEqual(ordersRow.OrderId, order.OrderId);
            Assert.AreEqual("MyDescription", order.Description);
            Assert.IsNotNull(order.Details);
            Assert.AreEqual(1, order.Details.Count);
            Assert.AreEqual((short)3, order.Details[0].Quantity);
            Assert.AreEqual(2.99m, order.Details[0].UnitPrice);
        }