public void GetCities_NameDoesNotExists_ReturnsEmptyList()
        {
            var controller = new CitiesController(new FakeCitiesService());
            var result     = controller.GetCities("non-existing");

            Assert.Empty(result.Value);
        }
Esempio n. 2
0
        public async Task GetCities_Valid_Test(int page, int pageSize, string cityName)
        {
            // Arrange
            CitiesController citycon = CreateCityController;
            var httpContext          = new Mock <HttpContext>();

            httpContext
            .Setup(m => m.User.IsInRole(Roles.Admin))
            .Returns(true);
            var context = new ControllerContext(
                new ActionContext(
                    httpContext.Object, new RouteData(),
                    new ControllerActionDescriptor()));

            citycon.ControllerContext = context;
            _cityService
            .Setup(c => c.GetAllDTOAsync(It.IsAny <string>()))
            .ReturnsAsync(GetCitiesBySearch());

            // Act
            var result = await citycon.GetCities(page, pageSize, cityName);

            // Assert
            Assert.NotNull(result);
            Assert.IsInstanceOf <OkObjectResult>(result);
            Assert.IsNotNull(((result as ObjectResult).Value as CitiesViewModel)
                             .Cities.Where(c => c.Name.Equals("Львів")));
        }
        public void GetCities_NameExists_ReturnsOneCity()
        {
            var controller = new CitiesController(new FakeCitiesService());
            var result     = controller.GetCities("existing");

            Assert.Single(result.Value);
        }
        public void GetCitiesTest()
        {
            var result = citiesController.GetCities() as OkNegotiatedContentResult <List <CityModel> >;

            Assert.IsNotNull(result);
            Assert.AreEqual(result.Content[0].Name, "Krakow");
        }
Esempio n. 5
0
        public async Task GetCities_CallsServicesForEachCity()
        {
            ICollection <City>    cityList    = new List <City>();
            ICollection <Country> countryList = new List <Country>();

            cityList.Add(new City {
                CountryName = "United Kingdom", Name = "Cardiff"
            });
            _cityRepository.Setup(cr => cr.GetCitiesAsync(It.IsAny <string>())).ReturnsAsync(cityList);
            _mapper.Setup(m => m.Map <CityInformation>(It.IsAny <City>())).Returns(new CityInformation {
                CountryName = "United Kingdom", Name = "Cardiff"
            });
            _countryApiClient.Setup(countries => countries.GetCountriesAsync(It.IsAny <string>())).ReturnsAsync(countryList);
            _weatherApiClient.Setup(weather => weather.GetWeatherForCityAsync(It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync(new Envelope {
                Weather = new Weather[] { new Weather {
                                              Description = "not too shabby"
                                          } }
            });
            _appSettings.SetupGet(appSettings => appSettings.CurrentValue)
            .Returns(new AppSettingsOptions {
                OpenweatherAppId = "12345"
            });

            var c = new CitiesController(_appSettings.Object, _mapper.Object, _countryApiClient.Object, _weatherApiClient.Object, _cityRepository.Object);

            var response = await c.GetCities("mytown");

            Assert.IsNotNull(response);
            Assert.IsInstanceOfType(response, typeof(OkObjectResult));
            Assert.AreEqual("not too shabby", (((OkObjectResult)response).Value as List <CityInformation>).First().WeatherDescription);
            _weatherApiClient.Verify();
            _countryApiClient.Verify();
        }
Esempio n. 6
0
        public async Task GetCities_ReturnsOk()
        {
            var controller = new CitiesController();

            var result = await controller.GetCities();

            Assert.IsType <OkObjectResult>(result);
        }
        public void GetCities_ShouldReturnAllCities()
        {
            var response = controller.GetCities();

            Assert.IsNotNull(response);
            var city = response.Content.ReadAsAsync <IEnumerable <City> >().Result;

            Assert.AreEqual(cities.Count(), city.Count());
        }
        public void GetTestCities()
        {
            var testCities = GetTestData();

            var controller = new CitiesController();
            var result     = controller.GetCities();

            Assert.AreEqual(testCities.Count, result.Count());
        }
Esempio n. 9
0
        public void TestGetCitiesShouldReturnOKFailsCauseMockBehaviorStrict()
        {
            var mock = new Mock <ICityService>(MockBehavior.Strict);
            var sut  = new CitiesController(mock.Object);

            var response = sut.GetCities(null);

            var result = response as OkObjectResult;

            Assert.AreEqual(200, result.StatusCode);
        }
Esempio n. 10
0
        public void GetCitiesReturnAListOfCities()
        {
            var sut = new CitiesController();

            OkObjectResult response = sut.GetCities() as OkObjectResult;
            List <CityDTO> cities   = response.Value as List <CityDTO>;

            Assert.NotNull(response);
            Assert.Equal(200, response.StatusCode);
            Assert.Equal(3, cities.Count);
        }
Esempio n. 11
0
        public async Task GetCities_ReturnsEmptyListIfNoCities()
        {
            ICollection <City> cityList = new List <City>();

            _cityRepository.Setup(cr => cr.GetCitiesAsync(It.IsAny <string>())).ReturnsAsync(cityList);
            var c = new CitiesController(_appSettings.Object, _mapper.Object, _countryApiClient.Object, _weatherApiClient.Object, _cityRepository.Object);

            var response = await c.GetCities("mytown");

            Assert.IsNotNull(response);
            Assert.IsInstanceOfType(response, typeof(OkObjectResult));
        }
Esempio n. 12
0
        public void TestGetCitiesShouldReturnOK()
        {
            var mock        = new Mock <ICityService>();
            var mockSession = new Mock <ISessionRepository>();
            var sut         = new CitiesController(mockSession.Object, mock.Object);

            var response = sut.GetCities(null);

            var result = response as OkObjectResult;

            Assert.AreEqual(200, result.StatusCode);
        }
Esempio n. 13
0
        public void GetCitiesResponseIsNotNull()
        {
            // Arrange
            controller = new CitiesController(mockUnitOfWork.Object);

            // Act
            var result = controller.GetCities();

            // Assert
            Assert.IsNotNull(result);
            mockUnitOfWork.Verify(i => i.CityRepository.Get(), Times.Once());
        }
Esempio n. 14
0
        public void GetAllCities()
        {
            var repo       = new MockUnitOfWork();
            var controller = new CitiesController(repo, _mapper);

            repo.Cities.AddRange(_testData.Cities);


            var response = controller.GetCities(false);

            var responseObjectResult = response as ObjectResult;

            Assert.Equal(200, responseObjectResult.StatusCode);
        }
Esempio n. 15
0
        public void GetCities()
        {
            // Arrange
            CitiesController controller = new CitiesController();

            // Act
            IHttpActionResult result = controller.GetCities();
            var contentResult        = result as OkNegotiatedContentResult <getCitiesResponse>;

            // Assert
            Assert.IsNotNull(result);
            Assert.IsNotNull(contentResult.Content);
            Assert.IsNotNull(contentResult.Content.cities);
            Assert.IsInstanceOfType(contentResult.Content, typeof(getCitiesResponse));
            Assert.AreNotEqual(contentResult.Content.cities.Count, 0);
        }
Esempio n. 16
0
        public void TestGetCitiesShouldReturnOKReturnCities()
        {
            var mock = new Mock <ICityService>(MockBehavior.Strict);

            mock.Setup(m => m.GetCities(It.IsAny <string>())).Returns(new List <City> {
                new City(), new City()
            });

            var sut        = new CitiesController(mock.Object);
            var inputValue = "randomValue since it expect any string value, even null";

            var response = sut.GetCities(inputValue);

            mock.Verify(m => m.GetCities(inputValue), Times.Once);

            var result = response as OkObjectResult;
            var model  = result.Value as List <City>;

            Assert.AreEqual(200, result.StatusCode);
            Assert.AreEqual(2, model.Count);
        }
Esempio n. 17
0
        public async Task GetCities_Valid_Test()
        {
            // Arrange
            CitiesController citycon = CreateCityController;
            var httpContext          = new Mock <HttpContext>();
            var context = new ControllerContext(
                new ActionContext(
                    httpContext.Object, new RouteData(),
                    new ControllerActionDescriptor()));

            citycon.ControllerContext = context;
            _cityService
            .Setup(c => c.GetCities())
            .ReturnsAsync(GetFakeCitiesForAdministration());

            // Act
            var result = await citycon.GetCities();

            // Assert
            Assert.NotNull(result);
            Assert.IsInstanceOf <OkObjectResult>(result);
            Assert.IsNotNull(((result as ObjectResult).Value as List <CityForAdministrationDTO>)
                             .Where(n => n.Name.Equals("Львів")));
        }
Esempio n. 18
0
        public async Task GetCities_ThrowsExceptionWithEmptyCity()
        {
            var c = new CitiesController(_appSettings.Object, _mapper.Object, _countryApiClient.Object, _weatherApiClient.Object, _cityRepository.Object);

            _ = await c.GetCities(string.Empty);
        }