示例#1
0
        public void StockControlNotification_Upate_ShouldSetQuantityOfStockSentByTheWarehouseForEachMonth()
        {
            // arrange
            var fakeOrderData = GetFakeOrderData();
            var mockRepo      = new Mock <IRepository>();

            mockRepo
            .Setup(x => x.GetRecentOrdersForRestaurantByCorrelationId(It.IsAny <Guid>()))
            .Returns(fakeOrderData);

            IStockQuantityControl sut    = new StockQuantityControl();
            var stockControlNotification = new StockControlNotification(mockRepo.Object, sut);

            var mockRestaurant = new Mock <IRestaurant>();

            stockControlNotification.Restaurant = mockRestaurant.Object;

            var msg = new Message {
                CorrelationId = Guid.NewGuid(),
                DataAsString  = "ManualOrder"
            };

            //act
            stockControlNotification.Update(msg);

            // assert
            mockRestaurant.Verify(x => x.SetStockQuantity(It.Is <RestaurantStock>(y => y.Eggs == 33)), Times.Once);
        }
示例#2
0
        public void Restaurant_SetStockQuantity_ShouldCreateJsonFileWithDataOfStockShipped()
        {
            // arrange
            var fakeOrderData = GetFakeOrderData();
            var mockRepo      = new Mock <IRepository>();

            mockRepo
            .Setup(x => x.GetRecentOrdersForRestaurantByCorrelationId(It.IsAny <Guid>()))
            .Returns(fakeOrderData);

            IStockQuantityControl sut    = new StockQuantityControl();
            var stockControlNotification = new StockControlNotification(mockRepo.Object, sut);

            stockControlNotification.Restaurant = new RestaurantX();

            var msg = new Message
            {
                CorrelationId = Guid.NewGuid()
            };

            //act
            stockControlNotification.Update(msg);

            // assert
            var result = System.IO.File.Exists("c:\\temp\\stockorder.json");

            Assert.IsTrue(result);
        }