public void TestRemoveAllCompletedOrders() { // Act _mockOrderRepository.Setup(x => x.RemoveCompletedOrders()).Returns("Completed Orders Cleared"); OrdersProvider orderProvider = new OrdersProvider(_mockOrderRepository.Object, null); ProviderResponseWrapper outputRemoveAllCompletedOrdersAsProviderResponseWrapper = orderProvider.RemoveCompletedOrders(); // Assert Assert.AreEqual("Completed Orders Cleared", outputRemoveAllCompletedOrdersAsProviderResponseWrapper.ResponseMessage); }
public JsonResult CreateJsonResultResponse(ProviderResponseWrapper providerResponse) { JsonResult jsonResult = new JsonResult(providerResponse.ResponseMessage) { ContentType = "application/json", StatusCode = (int)providerResponse.ResponseHTMLType }; return(jsonResult); }
// Build exception messages public ProviderResponseWrapper PRWBuilder(string json, HTTPResponseCodes httpResponse) { ProviderResponseWrapper response = new ProviderResponseWrapper { ResponseMessage = json, ResponseHTMLType = httpResponse }; return(response); }
public void TestGetOrdersReturnsNullOrders() { // Act _mockOrderRepository.Setup(x => x.GetLateOrders()).Returns(CreateOrderDTOList(0)); OrdersProvider orderProvider = new OrdersProvider(_mockOrderRepository.Object, null); ProviderResponseWrapper outputGetOrdersAsProviderResponseWrapper = orderProvider.GetLateOrders(); // Assert Assert.AreEqual("No late orders", outputGetOrdersAsProviderResponseWrapper.ResponseMessage); }
public void TestGetOrdersReturnsOneLateOrder() { // Act _mockOrderRepository.Setup(x => x.GetLateOrders()).Returns(CreateOrderDTOList(1)); OrdersProvider orderProvider = new OrdersProvider(_mockOrderRepository.Object, null); ProviderResponseWrapper outputGetOrdersAsProviderResponseWrapper = orderProvider.GetLateOrders(); List <OrderDTO> outputOrderList = JsonConvert.DeserializeObject <List <OrderDTO> >(outputGetOrdersAsProviderResponseWrapper.ResponseMessage); // Assert Assert.AreEqual(1, outputOrderList.Count); Assert.AreEqual("Test0", outputOrderList[0].Id); }
public void TestCreateNullOrder() { // Arrange Order newNullTestOrder = null; // Act OrdersProvider orderProvider = new OrdersProvider(_mockOrderRepository.Object, null); ProviderResponseWrapper outputCreateOrderDocumentsAsProviderResponseWrapper = orderProvider.CreateOrderDocument(newNullTestOrder); // Assert Assert.AreEqual("The form has not been fully complete, please send a completed form.", outputCreateOrderDocumentsAsProviderResponseWrapper.ResponseMessage); }
public void TestCreateInvalidOrder() { // Arrange string nullCustomerFirst = null; Order newInvalidTestOrder = CreateTestOrder(nullCustomerFirst); // Act OrdersProvider orderProvider = new OrdersProvider(_mockOrderRepository.Object, null); ProviderResponseWrapper outputCreateOrderDocumentsAsProviderResponseWrapper = orderProvider.CreateOrderDocument(newInvalidTestOrder); // Assert Assert.AreEqual("Some fields are completed incorrect. Please re-enter values again.", outputCreateOrderDocumentsAsProviderResponseWrapper.ResponseMessage); }
public async Task TestCompleteOrderNullOrderID() { // Arrange string orderDTOjson = null; // Act OrdersProvider ordersProvider = new OrdersProvider(null, null); ProviderResponseWrapper outputGetNullResponseAsPRW = await ordersProvider.BoxOrderCreateAsync(orderDTOjson); // Asserts Assert.AreEqual("Please enter a Order ID.", outputGetNullResponseAsPRW.ResponseMessage); Assert.AreEqual(HTTPResponseCodes.HTTP_BAD_REQUEST, outputGetNullResponseAsPRW.ResponseHTMLType); }
public void TestCreateValidOrder() { // Arrange string validCustomerFirst = "test"; Order newValidTestOrder = CreateTestOrder(validCustomerFirst); // Act _mockOrderRepository.Setup(x => x.CreateOrderDocument(It.IsAny <OrderDTO>())).Returns("New item Inserted"); OrdersProvider orderProvider = new OrdersProvider(_mockOrderRepository.Object, null); ProviderResponseWrapper outputCreateOrderDocumentsAsProviderResponseWrapper = orderProvider.CreateOrderDocument(newValidTestOrder); // Assert Assert.AreEqual("New item Inserted", outputCreateOrderDocumentsAsProviderResponseWrapper.ResponseMessage); }
public async Task TestCompletedOrderInvalidOrderID() { // Arrange string orderDTOjson = "60242a787f13737283ef0bce"; // Act OrdersProvider ordersProvider = new OrdersProvider(null, null); ProviderResponseWrapper outputGetNullResponseAsPRW = await ordersProvider.BoxOrderCreateAsync(orderDTOjson); // Asserts Assert.AreEqual("No Order ID document could be found.", outputGetNullResponseAsPRW.ResponseMessage); Assert.AreEqual(HTTPResponseCodes.HTTP_NOT_FOUND, outputGetNullResponseAsPRW.ResponseHTMLType); }
public async Task TestRemoveOrderNullID() { // Arrange string nullOrderID = null; // Act OrdersProvider ordersProvider = new OrdersProvider(_mockOrdersRepository.Object, _mockHttpClient.Object); ProviderResponseWrapper outputGetRemovedItemMessageAsPRW = await ordersProvider.RemoveOrder(nullOrderID); // Asserts Assert.AreEqual("No order exists, null given", outputGetRemovedItemMessageAsPRW.ResponseMessage); Assert.AreEqual(HTTPResponseCodes.HTTP_NOT_FOUND, outputGetRemovedItemMessageAsPRW.ResponseHTMLType); }
public async Task TestRemoveOrderInvalidID() { // Arrange string invalidOrderID = "invalid"; // Act OrdersProvider ordersProvider = new OrdersProvider(_mockOrdersRepository.Object, _mockHttpClient.Object); ProviderResponseWrapper outputGetRemovedItemMessageAsPRW = await ordersProvider.RemoveOrder(invalidOrderID); // Asserts Assert.AreEqual("No record matches given ID", outputGetRemovedItemMessageAsPRW.ResponseMessage); Assert.AreEqual(HTTPResponseCodes.HTTP_NOT_FOUND, outputGetRemovedItemMessageAsPRW.ResponseHTMLType); }
public void TestGetOrdersReturnsOneThousandLateOrders() { // Act _mockOrderRepository.Setup(x => x.GetLateOrders()).Returns(CreateOrderDTOList(1000)); OrdersProvider orderProvider = new OrdersProvider(_mockOrderRepository.Object, null); ProviderResponseWrapper outputGetOrdersAsProviderResponseWrapper = orderProvider.GetLateOrders(); List <OrderDTO> outputOrderList = JsonConvert.DeserializeObject <List <OrderDTO> >(outputGetOrdersAsProviderResponseWrapper.ResponseMessage); // Assert Assert.AreEqual(1000, outputOrderList.Count); for (int i = 0; i < outputOrderList.Count; i++) { Assert.AreEqual("Test" + i.ToString(), outputOrderList[i].Id); } }
public JsonResult GetOrder(string orderID) { try { ProviderResponseWrapper providerResponse = _ordersProvider.GetOrder(orderID); return(apiJsonResponse.CreateJsonResultResponse(providerResponse)); } catch (Exception ex) { ProviderResponseWrapper apiUnavaliableResponse = new ProviderResponseWrapper { ResponseMessage = ex.ToString(), ResponseHTMLType = HTTPResponseCodes.HTTP_SERVER_FAILURE_RESPONSE }; return(apiJsonResponse.CreateJsonResultResponse(apiUnavaliableResponse)); } }
public void ModifyOrderStatusSuccess() { // Arrange string validOrderID = "5c979251a7d6851258d7b574"; string statusType = "Completed"; // Act _mockOrderRepository.Setup(x => x.ModifyOrderStatus(It.IsAny <string>(), It.IsAny <string>())).Returns("Stock status has been adjusted."); OrdersProvider orderProvider = new OrdersProvider(_mockOrderRepository.Object, null); ProviderResponseWrapper outputModifyOrderStatusAsPRW = orderProvider.ModifyOrderStatus(validOrderID, statusType); // Assert Assert.AreEqual(outputModifyOrderStatusAsPRW.ResponseMessage, "Stock status has been adjusted."); Assert.AreEqual(outputModifyOrderStatusAsPRW.ResponseHTMLType, HTTPResponseCodes.HTTP_OK_RESPONSE); }
public void ModifyOrderStatusNullOrderId() { // Arrange string validOrderID = ""; string statusType = ""; // Act _mockOrderRepository.Setup(x => x.ModifyOrderStatus(It.IsAny <string>(), It.IsAny <string>())).Throws(new NullReferenceException()); OrdersProvider orderProvider = new OrdersProvider(_mockOrderRepository.Object, null); ProviderResponseWrapper outputModifyOrderStatusAsPRW = orderProvider.ModifyOrderStatus(validOrderID, statusType); // Assert Assert.AreEqual(outputModifyOrderStatusAsPRW.ResponseMessage, "No Order ID was given, please enter an Order ID"); Assert.AreEqual(HTTPResponseCodes.HTTP_BAD_REQUEST, outputModifyOrderStatusAsPRW.ResponseHTMLType); }
public JsonResult GetLateOrders() { try { ProviderResponseWrapper providerResponse = _ordersProvider.GetLateOrders(); return(apiJsonResponse.CreateJsonResultResponse(providerResponse)); } // If error with upper API level catch (Exception ex) { ProviderResponseWrapper apiUnavaliableResponse = new ProviderResponseWrapper { ResponseMessage = ex.ToString(), ResponseHTMLType = HTTPResponseCodes.HTTP_SERVER_FAILURE_RESPONSE }; return(apiJsonResponse.CreateJsonResultResponse(apiUnavaliableResponse)); } }
public void ModifyOrderStatusInvalidOrderID() { // Arrange string invalidOrderID = "Invalid Test ID"; string statusType = "Completed"; // Act _mockOrderRepository.Setup(x => x.ModifyOrderStatus(It.IsAny <string>(), It.IsAny <string>())).Throws(new FormatException()); OrdersProvider orderProvider = new OrdersProvider(_mockOrderRepository.Object, null); ProviderResponseWrapper outputModifyOrderStatusAsPRW = orderProvider.ModifyOrderStatus(invalidOrderID, statusType); // Assert Assert.AreEqual("Order ID does not exist", outputModifyOrderStatusAsPRW.ResponseMessage); Assert.AreEqual(HTTPResponseCodes.HTTP_BAD_REQUEST, outputModifyOrderStatusAsPRW.ResponseHTMLType); }
public async Task <JsonResult> AssignOrderItems(string orderID) { try { ProviderResponseWrapper jsonOrder = _ordersProvider.GetOrder(orderID); // GET response from StockAPI with OrderFullfillment Stock if ((int)jsonOrder.ResponseHTMLType == 200) { ProviderResponseWrapper response = await _ordersProvider.BoxOrderCreateAsync(orderID); string jsonBoxOrderCreate = response.ResponseMessage; // Okay response from BoxOrderCreateAsync if ((int)response.ResponseHTMLType == 200) { // Save items to the order document ProviderResponseWrapper providerResponseAsProviderResponseWrapper = _ordersProvider.AssignOrderItems(orderID, jsonOrder.ResponseMessage, jsonBoxOrderCreate); return(apiJsonResponse.CreateJsonResultResponse(providerResponseAsProviderResponseWrapper)); } else { return(apiJsonResponse.CreateJsonResultResponse(response)); } } // Error Response else { return(apiJsonResponse.CreateJsonResultResponse(jsonOrder)); } } // API error catch (Exception ex) { ProviderResponseWrapper apiUnavaliableResponse = new ProviderResponseWrapper { ResponseMessage = ex.ToString(), ResponseHTMLType = HTTPResponseCodes.HTTP_SERVER_FAILURE_RESPONSE }; return(apiJsonResponse.CreateJsonResultResponse(apiUnavaliableResponse)); } }
public async Task TestGetCompletedListOfItemsForOrder() { // Arrange string orderDTOjson = JsonConvert.SerializeObject(CreateOrderDTO()); HttpContent content = new StringContent(orderDTOjson); _mockHttpClient.Setup(x => x.GetAsync(It.IsAny <string>())) .Returns(Task.FromResult(new HttpResponseMessage { Content = content, StatusCode = HttpStatusCode.OK })); _mockOrdersRepository.Setup(x => x.GetOrder(It.IsAny <string>())).Returns(CreateOrderDTO()); // Act OrdersProvider ordersProvider = new OrdersProvider(_mockOrdersRepository.Object, _mockHttpClient.Object); ProviderResponseWrapper outputGetCompletedListOfItemsForOrderAsPRW = await ordersProvider.BoxOrderCreateAsync(orderDTOjson); // Asserts Assert.AreEqual(outputGetCompletedListOfItemsForOrderAsPRW.ResponseMessage, orderDTOjson); Assert.AreEqual(HTTPResponseCodes.HTTP_OK_RESPONSE, outputGetCompletedListOfItemsForOrderAsPRW.ResponseHTMLType); }
public async Task TestRemoveOrderValidID() { // Arrange string orderDTOjson = JsonConvert.SerializeObject(CreateBoxItems()); HttpContent content = new StringContent(orderDTOjson); string validOrderID = "5c8818b2f81e697d3c82d90e"; _mockHttpClient.Setup(x => x.GetAsync(It.IsAny <string>())) .Returns(Task.FromResult(new HttpResponseMessage { Content = content, StatusCode = HttpStatusCode.OK })); _mockOrdersRepository.Setup(x => x.RemoveOrder(It.IsAny <string>())).Returns(CreateOrder()); // Act OrdersProvider ordersProvider = new OrdersProvider(_mockOrdersRepository.Object, _mockHttpClient.Object); ProviderResponseWrapper outputGetRemovedItemMessageAsPRW = await ordersProvider.RemoveOrder(validOrderID); // Asserts Assert.AreEqual("Record has been successfully removed", outputGetRemovedItemMessageAsPRW.ResponseMessage); Assert.AreEqual(HTTPResponseCodes.HTTP_OK_RESPONSE, outputGetRemovedItemMessageAsPRW.ResponseHTMLType); }