예제 #1
0
        public async Task GetByIdShouldReturnConvertedIpAdress()
        {
            // Arrange
            AutomapperConfig.Init();

            var ipAddress = IPAddress.Loopback;

            var model = new DatabaseEvent
            {
                //Id = 1,

                //UserId = Guid.NewGuid(),
                //UserAgent = "UserAgent",
                //UserLanguage = "UserLanguage",
                UserHostAddress  = ipAddress.GetAddressBytes(),
                UserProxyAddress = ipAddress.GetAddressBytes(),

                //Time = DateTimeOffset.UtcNow,

                //Referer = "Referer",

                //Flight = 1,
                //Destination = 1
            };

            var fakeSql = Substitute.For <IDatabase>();

            fakeSql.ReadAsync <DatabaseEvent>(1)
            .Returns(Task.FromResult(model));

            var controller = new EventsController(fakeSql);

            // Act
            var result = await controller.Get(1);

            // Assert
            var viewResult = Assert.IsType <OkNegotiatedContentResult <EmberEvent> >(result);

            Assert.NotNull(viewResult);
            Assert.True(viewResult.Content.UserHostAddress == ipAddress.ToString());
            Assert.True(viewResult.Content.UserProxyAddress == ipAddress.ToString());
        }
        public async Task GetByIdShouldReturnConvertedIpAdress()
        {
            // Arrange
            AutomapperConfig.Init();

            var ipAddress = IPAddress.Loopback;

            var model = new DatabaseEvent
            {
                //Id = 1,

                //UserId = Guid.NewGuid(),
                //UserAgent = "UserAgent",
                //UserLanguage = "UserLanguage",
                UserHostAddress = ipAddress.GetAddressBytes(),
                UserProxyAddress = ipAddress.GetAddressBytes(),

                //Time = DateTimeOffset.UtcNow,

                //Referer = "Referer",

                //Flight = 1,
                //Destination = 1
            };

            var fakeSql = Substitute.For<IDatabase>();
            fakeSql.ReadAsync<DatabaseEvent>(1)
                   .Returns(Task.FromResult(model));

            var controller = new EventsController(fakeSql);

            // Act
            var result = await controller.Get(1);

            // Assert
            var viewResult = Assert.IsType<OkNegotiatedContentResult<EmberEvent>>(result);
            Assert.NotNull(viewResult);
            Assert.True(viewResult.Content.UserHostAddress == ipAddress.ToString());
            Assert.True(viewResult.Content.UserProxyAddress == ipAddress.ToString());
        }