public OrderDetailOutput get(int id) { var orderDetail = _orderContext.Orders.Where(m => m.id == id).FirstOrDefault(); var orderProducts = _orderContext.OrderProducts.Where(m => m.orderId == id).ToList(); OrderDetailOutput orderDetailOutput = new OrderDetailOutput { order = orderDetail, products = new ProductsListOutput { total = orderProducts.Count(), data = orderProducts } }; return(orderDetailOutput); }
public void When_Create_Order_With_Cart_Should_Be_Return_Order() { var _productContext = new DatabaseProductDummy().productContext; OrdersContext _orderContext = generateOrderContext("create_order_orders_2"); CartsContext _cartContext = generateCartContext("create_order_carts_detail_2"); OrdersModel ordersModel = new OrdersModel { cartId = 1, userId = 1, subtotal = (Decimal)12.95, total = (Decimal)62.95, shippingMethod = "Cash on Delivery", shippingFee = 50, fullname = "Chonnikan Tobunrueang", address1 = "3 อาคารพร้อมพันธ์ 3 ห้อง 1001", address2 = "จอมพล", city = "จตุจักร", province = "กรุงเทพ", postcode = "10900", createDatetime = DateTime.Now, }; OrderProductsModel orderProductsModel = new OrderProductsModel { orderId = 1, productId = 2, quantity = 1, name = "43 Piece dinner Set", price = (Decimal)12.95, availability = "InStock", stockAvailability = 10, age = "3_to_5", gender = "FEMALE", brand = "CoolKidz" }; OrderDetailOutput expectedResult = new OrderDetailOutput { order = ordersModel, products = new ProductsListOutput { total = 1, data = new List <OrderProductsModel>() { orderProductsModel }, } }; OrdersService ordersService = new OrdersService(_cartContext, _productContext, _orderContext); CreateOrderOutputModel order = ordersService.create(1, 1); var actual = ordersService.get(order.id); Assert.Equal(order.id, actual.order.id); Assert.Equal(expectedResult.order.subtotal, actual.order.subtotal); Assert.Equal(expectedResult.order.total, actual.order.total); Assert.Equal(expectedResult.order.shippingMethod, actual.order.shippingMethod); Assert.Equal(expectedResult.order.shippingFee, actual.order.shippingFee); Assert.Equal(expectedResult.order.fullname, actual.order.fullname); Assert.Equal(expectedResult.order.address1, actual.order.address1); Assert.Equal(expectedResult.products.data, actual.products.data); _productContext.Database.EnsureDeleted(); _cartContext.Database.EnsureDeleted(); _orderContext.Database.EnsureDeleted(); }
public void When_Get_Order_Id_1_Should_Be_Return_Only_This_Order() { var _orderOptions = new DbContextOptionsBuilder <OrdersContext>().UseInMemoryDatabase("create_order_orders_detail_2").Options; var _orderContext = new OrdersContext(_orderOptions); var _cartOptions = new DbContextOptionsBuilder <CartsContext>().UseInMemoryDatabase("create_order_carts_detail_2").Options; var _cartContext = new CartsContext(_cartOptions); var _productOptions = new DbContextOptionsBuilder <ProductsContext>().UseInMemoryDatabase("create_order_carts_products_detail_2").Options; var _productContext = new ProductsContext(_productOptions); OrdersModel ordersModel = new OrdersModel { cartId = 1, userId = 1, subtotal = (Decimal)25.90, total = (Decimal)75.90, shippingMethod = "Cash on Delivery", shippingFee = 50, fullname = "Chonnikan Tobunrueang", address1 = "3 อาคารพร้อมพันธ์ 3 ห้อง 1001", address2 = "จอมพล", city = "จตุจักร", province = "กรุงเทพ", postcode = "10900", createDatetime = DateTime.Now, }; _orderContext.Orders.Add(ordersModel); OrderProductsModel orderProductsModel = new OrderProductsModel { orderId = 1, productId = 2, quantity = 2, name = "43 Piece dinner Set", price = (Decimal)12.95, availability = "InStock", stockAvailability = 10, age = "3_to_5", gender = "FEMALE", brand = "CoolKidz" }; _orderContext.OrderProducts.Add(orderProductsModel); _orderContext.SaveChanges(); OrderDetailOutput expectedResult = new OrderDetailOutput { order = ordersModel, products = new ProductsListOutput { total = 1, data = new List <OrderProductsModel>() { orderProductsModel }, } }; OrdersService ordersService = new OrdersService(_cartContext, _productContext, _orderContext); var actual = ordersService.get(1); Assert.Equal(expectedResult.order.id, actual.order.id); using (var context = new ProductsContext(_productOptions)) { _productContext.Database.EnsureDeleted(); } using (var context = new CartsContext(_cartOptions)) { _cartContext.Database.EnsureDeleted(); } using (var context = new OrdersContext(_orderOptions)) { _orderContext.Database.EnsureDeleted(); } }