public void Add_item_to_order_with_invalid_md5Hash_causes_error() { try { PwintyApi api = new PwintyApi(); var order = base.CreateEmptyOrderWithValidAddress(api); using (var dummyImage = File.OpenRead("itemtest.jpg")) { using (var dummyImageTwo = File.OpenRead("itemtest2.jpg")) { var incorrectFileHash = Md5HashCalculator.MD5HashFile(dummyImageTwo); OrderItemRequest itemToAdd = new OrderItemRequest() { Copies = 1, Sizing = SizingOption.ShrinkToExactFit, Md5Hash = incorrectFileHash, Type = "4x6" }; var result = api.OrderItems.CreateWithData(order.id, itemToAdd, dummyImage); } } } catch (PwintyApiException exc) { Assert.IsNotNull(exc.Message); Assert.AreEqual(HttpStatusCode.BadRequest, exc.StatusCode); } }
public OrderItem MapEntity(OrderItemRequest request) { Product product = ValidateProduct(request.IdProduct); Order order = ValidateOrder(request.IdOrder); OrderItem orderItem = new OrderItem(request.Id, order, product, request.Amount); return(orderItem); }
protected void Add_item_to_order(PwintyApi api,long orderId,int? price = null) { using (var dummyImage = File.OpenRead("itemtest.jpg")) { OrderItemRequest itemToAdd = new OrderItemRequest() { Copies = 1, Sizing = SizingOption.ShrinkToExactFit, Type = "4x6", PriceToUser = price }; var result = api.OrderItems.CreateWithData(orderId, itemToAdd, dummyImage); Assert.AreEqual(OrderItemStatus.Ok, result.Status); } }
public IActionResult Post(OrderItemRequest orderItemRequest) { var errorMessage = _orderRepository.AddItem(orderItemRequest); var response = new DefaultResponse { Success = string.IsNullOrWhiteSpace(errorMessage), ErrorMessage = errorMessage }; if (!response.Success) { return(BadRequest(response)); } return(Ok(response)); }
async Task <OrderOutput> CreateOrder(decimal amountUsd = 10) { var itemRequest = new OrderItemRequest[] { new OrderItemRequest() { AmountUsd = amountUsd, ItemId = "itemid", Name = "name", Quantity = 1 } }; var clientOrderId = "order-id-123"; var clientId = "JyNM71Tg1b76GScmVpp31KQqFWfY5xbq"; var db = TestUtils.CreateDatabase(); { BitcornUtils.TEST_MODE = true; var orderController = new OrderController(db, TestUtils.GetConfig()); var order = await orderController.CreateOrder(new CreateOrderRequest() { ClientId = clientId, ClientOrderId = clientOrderId, Items = itemRequest }); var db2 = TestUtils.CreateDatabase(); Assert.NotNull(order.Value); //var statusCode = (order.Result as StatusCodeResult).StatusCode; //Assert.Equal(200,statusCode); var srcOrder = db2.Order.FirstOrDefault((e) => e.OrderId == order.Value.OrderId); Assert.Equal(srcOrder.ClientOrderId, clientOrderId); var orderItems = db2.OrderItem.Where(e => e.OrderId == srcOrder.OrderId).ToArray(); Assert.Equal(orderItems.Length, itemRequest.Length); for (int i = 0; i < orderItems.Length; i++) { Assert.Equal(orderItems[i].UsdAmount, itemRequest[i].AmountUsd); Assert.Equal(orderItems[i].Name, itemRequest[i].Name); Assert.Equal(orderItems[i].Quantity, itemRequest[i].Quantity); Assert.Equal(orderItems[i].ClientItemId, itemRequest[i].ItemId); } Assert.NotNull(srcOrder); Assert.Equal(0, srcOrder.OrderState); return(order.Value); } }
public void Add_item_to_order() { PwintyApi api = new PwintyApi(); var order = base.CreateEmptyOrderWithValidAddress(api); using (var dummyImage = File.OpenRead("itemtest.jpg")) { OrderItemRequest itemToAdd = new OrderItemRequest() { Copies = 1, Sizing = SizingOption.ShrinkToExactFit, Type = "4x6" }; var result = api.OrderItems.CreateWithData(order.id, itemToAdd, dummyImage); Assert.AreEqual(OrderItemStatus.Ok, result.Status); Assert.AreNotEqual(0, result.Price); } }
public void Adding_item_to_order_increases_cost() { PwintyApi api = new PwintyApi(); var order = base.CreateEmptyOrderWithValidAddress(api); var originalPrice = order.price; using (var dummyImage = File.OpenRead("itemtest.jpg")) { OrderItemRequest itemToAdd = new OrderItemRequest() { Copies = 1, OrderId = order.id, Sizing = SizingOption.ShrinkToExactFit, Type = "4x6" }; var result = api.OrderItems.CreateWithData(order.id, itemToAdd, dummyImage); Assert.AreEqual(OrderItemStatus.Ok, result.Status); } var updatedOrder = api.Order.Get(order.id); Assert.IsTrue(updatedOrder.price > originalPrice); }
public string AddItem(OrderItemRequest orderItemRequest) { try { var product = _context.Set <Product>() .SingleOrDefault(p => p.Id == orderItemRequest.ProductId); var order = _dbSet .Include(i => i.Items) .ThenInclude(p => p.Product) .FirstOrDefault(o => o.Id == orderItemRequest.OrderId); if (ValidateJuice(order, product)) { var orderItem = order.Items.FirstOrDefault(p => p.Product.Id == product.Id); if (orderItem != null) { orderItem.Amount++; } else { orderItem = new OrderItem(product, order); orderItem.Amount = 1; _context.Set <OrderItem>().Add(orderItem); } _context.SaveChanges(); return(null); } return("Não é possível incluir mais de 3 sucos por comanda"); } catch (Exception exception) { return(exception.Message); } }
public void Delete_item_from_order() { PwintyApi api = new PwintyApi(); var order = base.CreateEmptyOrderWithValidAddress(api); OrderItemRequest itemToAdd = new OrderItemRequest() { Copies = 1, Sizing = SizingOption.ShrinkToExactFit, Url = "http://farm8.staticflickr.com/7046/6904409825_fd4b1482fe_b.jpg", Type = "4x6" }; var result = api.OrderItems.Create(order.id, itemToAdd); api.OrderItems.Delete(result.Id, order.id); order = api.Order.Get(order.id); Assert.AreEqual(0, order.photos.Count, "Should be no photos left in order"); }
public void Add_item_to_order_with_url() { PwintyApi api = new PwintyApi(); var order = base.CreateEmptyOrderWithValidAddress(api); OrderItemRequest itemToAdd = new OrderItemRequest() { Copies = 1, Sizing = SizingOption.ShrinkToExactFit, Url = "http://farm8.staticflickr.com/7046/6904409825_fd4b1482fe_b.jpg", Type = "4x6" }; var result = api.OrderItems.Create(order.id, itemToAdd); Assert.AreEqual(OrderItemStatus.NotYetDownloaded, result.Status); }
public IHttpActionResult Update([FromBody] OrderItemRequest request) { orderItemAppService.Update(request); return(Ok()); }
public IHttpActionResult Insert([FromBody] OrderItemRequest request) { var response = orderItemAppService.Insert(request); return(Ok(response)); }
public void Create_CanvasOrder_And_Retreive() { PwintyApi api = new PwintyApi(); var result = api.Order.Create(new CreateOrderRequest() { countryCode = "GB", payment = Payment.InvoiceRecipient, qualityLevel = QualityLevel.PRO }); OrderItemRequest itemToAdd = new OrderItemRequest() { Copies = 1, PriceToUser = 270, Sizing = SizingOption.ShrinkToExactFit, Url = "http://farm8.staticflickr.com/7046/6904409825_fd4b1482fe_b.jpg", Type = "C10x12" }; var newItem = api.OrderItems.Create(result.id, itemToAdd); var updatedOrder = api.Order.Get(result.id); Assert.IsTrue(updatedOrder.id > 0); Assert.IsTrue(updatedOrder.price > 0); Assert.AreEqual(Payment.InvoiceRecipient, updatedOrder.payment); Assert.AreEqual(QualityLevel.PRO, updatedOrder.qualityLevel); Assert.AreEqual(OrderStatus.NotYetSubmitted, updatedOrder.status); Assert.IsNotNull(updatedOrder.shippingInfo); Assert.IsTrue(updatedOrder.shippingInfo.Price > 0); Assert.IsTrue(updatedOrder.shippingInfo.isTracked); }
public void Add_item_to_order_with_md5Hash() { PwintyApi api = new PwintyApi(); var order = base.CreateEmptyOrderWithValidAddress(api); using (var dummyImage = File.OpenRead("itemtest.jpg")) { var fileHash = Md5HashCalculator.MD5HashFile(dummyImage); OrderItemRequest itemToAdd = new OrderItemRequest() { Copies = 1, Sizing = SizingOption.ShrinkToExactFit, Md5Hash = fileHash, Type = "4x6" }; var result = api.OrderItems.CreateWithData(order.id, itemToAdd, dummyImage); Assert.AreEqual(OrderItemStatus.Ok, result.Status); } }
public void Add_item_with_invalid_attribute_causes_bad_request() { try { PwintyApi api = new PwintyApi(); var order = base.CreateEmptyOrderWithValidAddress(api); OrderItemRequest itemToAdd = new OrderItemRequest() { Copies = 1, Sizing = SizingOption.ShrinkToExactFit, Type = "4x6" }; var result = api.OrderItems.Create(order.id, itemToAdd); Assert.Fail("Should not successfuly complete request with invalid attribute"); } catch (PwintyApiException exc) { Assert.IsNotNull(exc.Message); Assert.AreEqual(HttpStatusCode.BadRequest, exc.StatusCode); } }
public void Get_item_by_id() { PwintyApi api = new PwintyApi(); var order = base.CreateEmptyOrderWithValidAddress(api,Payment.InvoiceRecipient); OrderItemRequest itemToAdd = new OrderItemRequest() { Copies = 1, PriceToUser = 270, Sizing = SizingOption.ShrinkToExactFit, Url = "http://farm8.staticflickr.com/7046/6904409825_fd4b1482fe_b.jpg", Type = "4x6" }; var result = api.OrderItems.Create(order.id, itemToAdd); result = api.OrderItems.Get(order.id, result.Id); Assert.AreEqual(itemToAdd.Copies, result.Copies); Assert.AreEqual(itemToAdd.Sizing, result.Sizing); Assert.AreEqual(itemToAdd.Url, result.Url); Assert.AreEqual(itemToAdd.Type, result.Type); Assert.AreEqual(itemToAdd.PriceToUser, result.PriceToUser); }
public void Cant_delete_item_from_submitted_order() { PwintyApi api = new PwintyApi(); var order = base.CreateEmptyOrderWithValidAddress(api); OrderItemRequest itemToAdd = new OrderItemRequest() { Copies = 1, Sizing = SizingOption.ShrinkToExactFit, Url = "http://farm8.staticflickr.com/7046/6904409825_fd4b1482fe_b.jpg", Type = "4x6" }; var result = api.OrderItems.Create(order.id, itemToAdd); api.Order.Submit(order.id); try { api.OrderItems.Delete(result.Id, order.id); Assert.Fail("Should not be able to delete photo from submitted order"); } catch (PwintyApiException exc) { Assert.AreEqual(HttpStatusCode.Forbidden, exc.StatusCode); Assert.IsNotNull(exc.Message); } order = api.Order.Get(order.id); Assert.AreEqual(1, order.photos.Count, "Should still be one photo in order"); }
public void Add_valid_item_unsupported_country() { try { PwintyApi api = new PwintyApi(); var order = base.CreateEmptyOrderWithValidAddress(api,countryCode : "FR"); OrderItemRequest itemToAdd = new OrderItemRequest() { Copies = 1, Sizing = SizingOption.ShrinkToExactFit, Url = "http://farm8.staticflickr.com/7046/6904409825_fd4b1482fe_b.jpg", Type = "4x6" }; var result = api.OrderItems.Create(order.id, itemToAdd); Assert.Fail("Should throw error when item doesn't exist for country"); } catch (PwintyApiException exc) { Assert.IsNotNull(exc.Message); Assert.AreEqual(HttpStatusCode.BadRequest, exc.StatusCode); } }
public void Add_item_with_neither_url_nor_data() { PwintyApi api = new PwintyApi(); var order = base.CreateEmptyOrderWithValidAddress(api); OrderItemRequest itemToAdd = new OrderItemRequest() { Copies = 1, Sizing = SizingOption.ShrinkToExactFit, Type = "4x6" }; var result = api.OrderItems.Create(order.id, itemToAdd); Assert.AreEqual(OrderItemStatus.AwaitingUrlOrData, result.Status); }