public void ProcessFillOrder_On_Already_Closed_Order()
        {
            var fillOrderRepo = new FillOrderRepo();

            fillOrderRepo.CreateFillOrder();
            FillOrderService fillOrderService = new FillOrderService(fillOrderRepo);
            var orders      = fillOrderService.ViewOpenOrders();
            var singleOrder = orders.First();
            var closedOrder = fillOrderService.ProcessFillOrder(singleOrder.Id);

            Assert.Throws <Exception>(() => fillOrderService.ProcessFillOrder(closedOrder.Id));
        }
        public IActionResult ProcessFillOrder([FromBody] FillOrder fillOrder)
        {
            if (!ModelState.IsValid)
            {
                throw new Exception();
            }

            return(Ok(_fillOrderService.ProcessFillOrder(fillOrder)));
        }
Exemple #3
0
 public IActionResult ProcessFillOrder([FromBody] FillOrder submittedFillOrder)
 {
     try
     {
         _fillOrderService.ProcessFillOrder(submittedFillOrder);
         return(Ok());
     }
     catch (Exception exception)
     {
         return(NotFound(exception.Message));
     }
 }
        public void Unresolved_FillOrders_Can_Be_Processed()
        {
            // Arrange
            var fillOrderToBeProcessed = new FillOrder()
            {
                Id = 1121,
            };

            _mockFillOrderRepo.GetFillOrderById(fillOrderToBeProcessed.Id).Returns(new FillOrder()
            {
                Id = 1121,
                ProcessedTimestamp = null
            });

            // Act
            var processedFillOrder = _fillOrderService.ProcessFillOrder(fillOrderToBeProcessed);

            // Assert
            Assert.NotNull(processedFillOrder.ProcessedTimestamp);
            _mockFillOrderRepo.Received(1).GetFillOrderById(fillOrderToBeProcessed.Id);
            _mockFillOrderRepo.ReceivedWithAnyArgs(1).UpdateFillOrder(processedFillOrder);
        }
        public void ProcessFillOrder_On_Open_Order()
        {
            //Because the database is already in memory, it just calls this directly. Normally would use an in memory database to mock out the real one.
            var fillOrderRepo = new FillOrderRepo();

            fillOrderRepo.CreateFillOrder();
            FillOrderService fillOrderService = new FillOrderService(fillOrderRepo);
            var orders      = fillOrderService.ViewOpenOrders();
            var singleOrder = orders.First();
            var closedOrder = fillOrderService.ProcessFillOrder(singleOrder.Id);

            Assert.True(closedOrder.OrderClosed);
        }
Exemple #6
0
        public void Processed_FillOrder_CannontBe_Modified()
        {
            int       fillOrderId   = 1;
            FillOrder testFillOrder = new FillOrder()
            {
                Id = fillOrderId, ProductId = 1, Processed = true, CreatedDate = DateTime.Now, ProcessDate = DateTime.Now, Stock = 1
            };
            var mockFillOrderRepo = Substitute.For <IFillOrderRepo>();

            mockFillOrderRepo.GetFillOrderById(fillOrderId).Returns(testFillOrder);
            FillOrderService fillOrderService = new FillOrderService(mockFillOrderRepo);

            try
            {
                fillOrderService.ProcessFillOrder(testFillOrder);
                Assert.Fail("FillOrder was processed!");
            }
            catch (Exception exception)
            {
                Assert.AreEqual("FillOrder cannot be processed. Try again later.", exception.Message);
                return;
            }
        }
Exemple #7
0
        public void Unresolved_FillOrder_CanBe_Processed()
        {
            int       fillOrderId   = 1;
            FillOrder testFillOrder = new FillOrder()
            {
                Id = fillOrderId, ProductId = 1, Processed = false, CreatedDate = DateTime.Now, ProcessDate = null, Stock = 1
            };
            var mockFillOrderRepo = Substitute.For <IFillOrderRepo>();

            mockFillOrderRepo.GetFillOrderById(fillOrderId).Returns(testFillOrder);
            FillOrderService fillOrderService = new FillOrderService(mockFillOrderRepo);

            try
            {
                fillOrderService.ProcessFillOrder(testFillOrder);
                Assert.IsTrue(true);
            }
            catch (Exception exception)
            {
                Assert.Fail(exception.Message);
                return;
            }
        }
Exemple #8
0
 public IActionResult ProcessOrder(string id)
 {
     _service.ProcessFillOrder(id);
     return(RedirectToAction("Index"));
 }
 public IActionResult ProccessFillOrder([FromBody] FillOrder fillOrder)
 {
     _fillOrderService.ProcessFillOrder(fillOrder);
     return(Ok());
 }