public async Task GetWeatherData_ShouldReturnWeatherData() { var controller = new WeatherDataController(new WeatherTestRepository()); // Act on Test var actionResult = await controller.Get(); Assert.IsInstanceOfType(actionResult, typeof(OkNegotiatedContentResult <string>)); }
public void TestGetWeatherForInValidCityAPI() { //Arrange MockWeatherDataService mockService = new MockWeatherDataService(); WeatherDataController service = new WeatherDataController(mockService); //Act var result = service.GetWeather("Australia", "Tokyo") as NotFoundObjectResult; var response = result.Value as string; //Asset Assert.AreEqual("Tokyo City does not exist in Australia", response); }
public void TestGetCitiesForInvalidCountryAPI() { //Arrange MockWeatherDataService mockService = new MockWeatherDataService(); WeatherDataController service = new WeatherDataController(mockService); //Act var result = service.GetCities("Japan") as NotFoundObjectResult; var response = result.Value as string; //Asset Assert.AreEqual("Japan not found", response); }
public void TestGetCountriesAPI() { //Arrange MockWeatherDataService mockService = new MockWeatherDataService(); WeatherDataController service = new WeatherDataController(mockService); //Act var result = service.GetCountries() as OkObjectResult; var countrylist = result.Value as List <string>; //Asset Assert.AreEqual(2, countrylist.Count); }
public void TestGetCitiesForAustraliaAPI() { //Arrange MockWeatherDataService mockService = new MockWeatherDataService(); WeatherDataController service = new WeatherDataController(mockService); //Act var result = service.GetCities("Australia") as OkObjectResult; var citylist = result.Value as List <string>; //Asset var count = citylist.Where(city => new string[] { "Sydney", "Melbourne", "Perth" }.Contains(city)).ToList().Count(); Assert.AreEqual(3, count); }
public void TestGetWeatherAPI() { //Arrange MockWeatherDataService mockService = new MockWeatherDataService(); WeatherDataController service = new WeatherDataController(mockService); CityWeatherData sydneyData = new CityWeatherData { Wind = "Strong", Pressure = "1008 hpa", SkyCondition = "Clear", Temperature = 31.3, Time = DateTime.Now.ToString(), Visibility = "Good" }; //Act var result = service.GetWeather("Australia", "Sydney") as OkObjectResult; var response = result.Value as CityWeatherData; //Asset Assert.AreEqual(sydneyData, response); }
public void TestMethodGetFailied() { var rep = new Mock <IRepositoryBase>(); var randGenerator = new Mock <IFaultyServiceSimulator>(); randGenerator.Setup(m => m.CheckIfServiceIsFaulty()).Returns(true); var students = new List <WeatherInfo> { new WeatherInfo { Id = 1, InfoDate = DateTime.Parse("2018-06-24"), TemperatureC = 32, Summary = "Scorching" }, new WeatherInfo { Id = 2, InfoDate = DateTime.Parse("2018-06-25"), TemperatureC = 45, Summary = "Mild" }, }.AsQueryable <WeatherInfo>(); WeatherDataController objWeatherDataController = new WeatherDataController(rep.Object, randGenerator.Object); var result = objWeatherDataController.Get(); var statuscode = (Microsoft.AspNetCore.Mvc.StatusCodeResult)result; Assert.AreEqual(500, statuscode.StatusCode); }
public void TestMethodGetSuccess() { var rep = new Mock <IRepositoryBase>(); var randGenerator = new Mock <IFaultyServiceSimulator>(); randGenerator.Setup(m => m.CheckIfServiceIsFaulty()).Returns(false); var students = new List <WeatherInfo> { new WeatherInfo { Id = 1, InfoDate = DateTime.Parse("2018-06-24"), TemperatureC = 32, Summary = "Scorching" }, new WeatherInfo { Id = 2, InfoDate = DateTime.Parse("2018-06-25"), TemperatureC = 45, Summary = "Mild" }, }.AsQueryable <WeatherInfo>(); WeatherDataController objWeatherDataController = new WeatherDataController(rep.Object, randGenerator.Object); var result = objWeatherDataController.Get(); var okObjectResult = result as OkObjectResult; Assert.IsNotNull(okObjectResult); }
public void TestSetup() { var configuration = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .AddEnvironmentVariables() .Build(); var services = new ServiceCollection(); //services.AddLogging(); services.AddMvc().AddJsonOptions(jsonOptions => { jsonOptions.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver(); }); services.AddOptions(); //services.Configure<AppSettings>(configuration.GetSection("AppSettings")); services.AddSingleton <IConfiguration>(configuration); ////services.AddTransient<IEmailSender, EmailSender>(); //var options = Options.Create(configuration.GetSection("AppSettings").Get<AppSettings>()); //var serviceProvider = services.BuildServiceProvider(); //var loggerFactory = serviceProvider.GetService<ILoggerFactory>(); //loggerFactory.AddConsole(configuration.GetSection("Logging")); //loggerFactory.AddDebug(); //loggerFactory.AddTestsLogger(_testLogsStore); //var userManagerLogger = loggerFactory.CreateLogger<UserManager<ApplicationUser>>(); var cache = new MemoryCache(new MemoryCacheOptions()); _cache = cache; var mockHostingEnvironment = new Mock <IHostingEnvironment>(MockBehavior.Strict); var mockHttpContext = new Mock <HttpContext>(MockBehavior.Strict); //mockHttpContext.SetupGet(hc => hc.User).Returns(validPrincipal); //mockHttpContext.SetupGet(c => c.Items).Returns(_httpContextItems); mockHttpContext.SetupGet(ctx => ctx.RequestServices) //.Returns(serviceProvider) ; var collection = Mock.Of <IFormCollection>(); var request = new Mock <HttpRequest>(); request.Setup(f => f.ReadFormAsync(CancellationToken.None)).Returns(Task.FromResult(collection)); var mockHeader = new Mock <IHeaderDictionary>(); mockHeader.Setup(h => h["X-Requested-With"]).Returns("XMLHttpRequest"); request.SetupGet(r => r.Headers).Returns(mockHeader.Object); mockHttpContext.SetupGet(c => c.Request).Returns(request.Object); var response = new Mock <HttpResponse>(); response.SetupProperty(it => it.StatusCode); mockHttpContext.Setup(c => c.Response).Returns(response.Object); _controller = new WeatherDataController(_cache); _controller.ControllerContext = new ControllerContext() { HttpContext = mockHttpContext.Object }; }