public void ReturnCorrectData_WhenInvoked()
        {
            // Arrange
            Mapper.Reset();
            AutomapperConfiguration.Initialize();
            var mockContext          = new Mock <IOnlineStoreContext>();
            var stubDateTimeProvider = new MockDateTimeProvider();
            var orders = new List <Order> {
                new Order {
                    Comment = "Patka", CourierId = 1, OrderedOn = stubDateTimeProvider.Now, UserId = 1, User = new User()
                    {
                        Username = "******"
                    }
                }
            };


            var mockSet = new Mock <DbSet <Order> >();

            mockSet.SetupData(orders);


            mockContext.Setup(s => s.Orders).Returns(mockSet.Object);

            var service = new Logic.Services.OrderService(mockContext.Object);


            // Act
            var ordersGot = service.GetAllOrders();

            //Assert
            Assert.AreEqual(orders.Count, ordersGot.Count());
        }
Example #2
0
 public void SetUp()
 {
     dateTimeProvider = new MockDateTimeProvider();
     AppDomain.CurrentDomain.SetData("APPBASE", Environment.CurrentDirectory);
     fileNameWithoutExtension = Guid.NewGuid().ToString();
     fileName = fileNameWithoutExtension + Extension;
 }
Example #3
0
 public void SetUp()
 {
     dateTimeProvider = new MockDateTimeProvider();
     AppDomain.CurrentDomain.SetData("APPBASE", Environment.CurrentDirectory);
     fileNameWithoutExtension = Guid.NewGuid().ToString();
     fileName = fileNameWithoutExtension + extension;
 }
Example #4
0
        public async Task FitbitUpdateEvent_BodyWeight_PublishedToIoMT()
        {
            var mockIntegrationRepository  = new MockIntegrationRepository();
            var mockFitbitClient           = new MockFitbitClient();
            var fitbitAuthenticationClient = new MockFitbitAuthenticationClient();
            var mockFhirClient             = new MockFhirClient();
            var mockIoMTPublisher          = new MockIoMTDataPublisher();
            var mockDateTimeProvider       = new MockDateTimeProvider();

            mockIntegrationRepository.Integration = new Integration
            {
                Data = new FitbitIntegrationData
                {
                    AccessTokenExpiresUtc = mockDateTimeProvider.UtcNow.AddMinutes(30)
                }
            };

            mockFitbitClient.ResourceToReturn = new ResourceContainer
            {
                Body = new Body
                {
                    Weight = 100
                }
            };

            var client = _factory
                         .WithWebHostBuilder(builder =>
            {
                builder.ConfigureTestServices(services =>
                {
                    services.Configure <IntegrationsApiSettings>(settings =>
                    {
                        settings.EventsApiKey = "test";
                    });
                    services.AddTransient <IIntegrationRepository>(s => mockIntegrationRepository);
                    services.AddTransient <IFitbitClient>(s => mockFitbitClient);
                    services.AddTransient <IFitbitAuthenticationClient>(s => fitbitAuthenticationClient);
                    services.AddTransient <IFhirClient>(s => mockFhirClient);
                    services.AddTransient <IIoMTDataPublisher>(s => mockIoMTPublisher);
                    services.AddTransient <IDateTimeProvider>(s => mockDateTimeProvider);
                });
            })
                         .CreateClient();


            var response = await client.PostAsync(
                "/v1/events?apiKey=test",
                new StringContent(
                    JsonConvert.SerializeObject(new[] { EventFactory.FitbitProviderUpdateEvent }),
                    Encoding.UTF8,
                    "application/json"));

            var bodyWeight = Assert.IsType <BodyWeight>(mockIoMTPublisher.Published);

            Assert.Equal(100, bodyWeight.Weight);
        }
        public void InvokeAddMethodOnOrders_WhenCourierFoundAndUsernameExists()
        {
            // Arrange
            var mockContext = new Mock <IOnlineStoreContext>();
            var usersMock   = new List <User> {
                new User {
                    Username = "******"
                }
            }.GetQueryableMockDbSet();
            var couriersMock = new List <Courier> {
                new Courier {
                    FirstName = "Peshko", LastName = "Peshkov"
                }
            }.GetQueryableMockDbSet();
            var ordersMock = new List <Order> {
                new Order()
            }.GetQueryableMockDbSet();
            var productsMock = new List <Product> {
                new Product {
                    Name = "Testproduct", Quantity = 5
                }
            }.GetQueryableMockDbSet();
            var orderProductsMock = new List <OrderProduct> {
                new OrderProduct()
            }.GetQueryableMockDbSet();

            IDictionary <string, int> productsCounts = new Dictionary <string, int>();

            productsCounts.Add("Testproduct", 2);
            var mockDateTimeProvider = new MockDateTimeProvider();

            mockContext.Setup(x => x.Users).Returns(usersMock.Object);
            mockContext.Setup(x => x.Couriers).Returns(couriersMock.Object);
            mockContext.Setup(s => s.Orders).Returns(ordersMock.Object);
            mockContext.Setup(s => s.Products).Returns(productsMock.Object);
            mockContext.Setup(s => s.OrderProducts).Returns(orderProductsMock.Object);

            var service     = new Logic.Services.OrderService(mockContext.Object);
            var orderToMake = new OrderMakeModel
            {
                Username             = "******",
                OrderedOn            = mockDateTimeProvider.Now,
                Comment              = "Tralala",
                ProductNameAndCounts = productsCounts
            };

            // Act
            service.MakeOrder(orderToMake);

            //Assert
            ordersMock.Verify(v => v.Add(It.IsNotNull <Order>()), Times.Once);
        }
        public void ReduceTheAvailableProductQuantity_WhenOrderIsFinished()
        {
            // Arrange
            var mockContext = new Mock <IOnlineStoreContext>();
            var usersMock   = new List <User> {
                new User {
                    Username = "******"
                }
            }.GetQueryableMockDbSet();
            var couriersMock = new List <Courier> {
                new Courier {
                    FirstName = "Peshko", LastName = "Peshkov"
                }
            }.GetQueryableMockDbSet();
            var ordersMock = new List <Order> {
                new Order()
            }.GetQueryableMockDbSet();
            var productsMock = new List <Product> {
                new Product {
                    Name = "Testproduct", Quantity = 5
                }
            }.GetQueryableMockDbSet();
            var orderProductsMock = new List <OrderProduct> {
                new OrderProduct()
            }.GetQueryableMockDbSet();

            IDictionary <string, int> productsCounts = new Dictionary <string, int>();

            productsCounts.Add("Testproduct", 2);
            var mockDateTimeProvider = new MockDateTimeProvider();

            mockContext.Setup(x => x.Users).Returns(usersMock.Object);
            mockContext.Setup(x => x.Couriers).Returns(couriersMock.Object);
            mockContext.Setup(s => s.Orders).Returns(ordersMock.Object);
            mockContext.Setup(s => s.Products).Returns(productsMock.Object);
            mockContext.Setup(s => s.OrderProducts).Returns(orderProductsMock.Object);

            var service     = new Logic.Services.OrderService(mockContext.Object);
            var orderToMake = new OrderMakeModel
            {
                Username             = "******",
                OrderedOn            = mockDateTimeProvider.Now,
                Comment              = "Tralala",
                ProductNameAndCounts = productsCounts
            };

            // Act
            service.MakeOrder(orderToMake);

            //Assert
            Assert.AreEqual(3, mockContext.Object.Products.FirstOrDefault(f => f.Name == "Testproduct").Quantity);
        }
        public void ThrowArgumentException_WhenQuantityIsNotEnough()
        {
            // Arrange
            var mockContext = new Mock <IOnlineStoreContext>();
            var usersMock   = new List <User> {
                new User {
                    Username = "******"
                }
            }.GetQueryableMockDbSet();
            var couriersMock = new List <Courier> {
                new Courier {
                    FirstName = "Peshko", LastName = "Peshkov"
                }
            }.GetQueryableMockDbSet();
            var ordersMock = new List <Order> {
                new Order()
            }.GetQueryableMockDbSet();
            var productsMock = new List <Product> {
                new Product {
                    Name = "Testproduct", Quantity = 5
                }
            }.GetQueryableMockDbSet();
            var orderProductsMock = new List <OrderProduct> {
                new OrderProduct()
            }.GetQueryableMockDbSet();

            IDictionary <string, int> productsCounts = new Dictionary <string, int>();

            productsCounts.Add("Testproduct", 7);
            var mockDateTimeProvider = new MockDateTimeProvider();

            mockContext.Setup(x => x.Users).Returns(usersMock.Object);
            mockContext.Setup(x => x.Couriers).Returns(couriersMock.Object);
            mockContext.Setup(s => s.Orders).Returns(ordersMock.Object);
            mockContext.Setup(s => s.Products).Returns(productsMock.Object);
            mockContext.Setup(s => s.OrderProducts).Returns(orderProductsMock.Object);

            var service     = new Logic.Services.OrderService(mockContext.Object);
            var orderToMake = new OrderMakeModel
            {
                Username             = "******",
                OrderedOn            = mockDateTimeProvider.Now,
                Comment              = "Tralala",
                ProductNameAndCounts = productsCounts
            };

            //Act && Assert
            Assert.ThrowsException <ArgumentException>(() => service.MakeOrder(orderToMake));
        }
Example #8
0
 public CachingAnalyzerProviderTests()
 {
     _embeddedAnalyzerProvider = new Mock <IAnalyzerProvider>();
     _mockDateTimeProvider     = new MockDateTimeProvider();
 }
 public CachingDependencyAnalyzerProviderTests()
 {
     _embeddedDependencyAnalyzerProvider = new Mock <IDependencyAnalyzerProvider>();
     _mockDateTimeProvider = new MockDateTimeProvider();
 }