public void StockQuanity_PlaceStockOrder_ShouldOrderTheRightAmountOfEggsToMakeTiramisu() { // arrange var mockRepo = new Mock <IRepository>(); mockRepo .Setup(x => x.GetOrderByCorrelationId(It.IsAny <Guid>())) .Returns(_fakeOrder); IStockQuantityControl sut = new StockQuantityControl(); var orderingProcess = new StockOrderingProcess(mockRepo.Object, sut, _mockPubliher.Object); var mockMechanism = new Mock <IStockOrderMechanism>(); orderingProcess.OrderMechanism = mockMechanism.Object; var msg = new Message { CorrelationId = Guid.NewGuid() }; //act orderingProcess.UpdateStock(msg); // assert mockMechanism.Verify(x => x.PlaceStockOrder(It.Is <RestaurantStock>(y => y.Eggs == 6)), Times.Once); }
public void StockQuanity_PlaceStockOrder_ShouldCreateJsonFileWithDataOfStockOrdered() { // arrange var fakeOrderData = GetFakeOrderData(); var mockRepo = new Mock <IRepository>(); mockRepo .Setup(x => x.GetOrderByCorrelationId(It.IsAny <Guid>())) .Returns(_fakeOrder); IStockQuantityControl sut = new StockQuantityControl(); var orderingProcess = new StockOrderingProcess(mockRepo.Object, sut, _mockPubliher.Object); var mockMechanism = new Mock <IStockOrderMechanism>(); orderingProcess.OrderMechanism = new ManualOrder(); var msg = new Message { CorrelationId = Guid.NewGuid() }; //act orderingProcess.UpdateStock(msg); // assert var result = System.IO.File.Exists("c:\\temp\\stockorder.json"); Assert.IsTrue(result); }