public async Task DeleteWeather_WhenCityNotAssigned_ThrowsException() { var mapperStub = new Mock <IMapper>(); var weatherServiceStub = new Mock <IWeatherService>(); weatherServiceStub.Setup (e => e.DeleteWeather(It.IsAny <string>(), It.IsAny <Guid>())) .Throws <CityNotAssignedException>(); var user = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim(JwtClaimTypes.Subject, Guid.NewGuid().ToString()) })); var controller = new WeatherController (weatherServiceStub.Object, mapperStub.Object) { ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext { User = user } } }; var result = controller.DeleteWeather(It.IsAny <string>()); await Assert.ThrowsAsync <CityNotAssignedException>(() => result); }
public async Task DeleteWeather_ByDefault_ReturnsCorrectType() { var mapperStub = new Mock <IMapper>(); var weatherServiceStub = new Mock <IWeatherService>(); weatherServiceStub.Setup (e => e.DeleteWeather(It.IsAny <string>(), It.IsAny <Guid>())) .Returns(Task.FromResult <ICollection <WeatherDto> >(new List <WeatherDto>())); var user = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim(JwtClaimTypes.Subject, Guid.NewGuid().ToString()) })); var controller = new WeatherController (weatherServiceStub.Object, mapperStub.Object) { ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext { User = user } } }; var result = await controller.DeleteWeather(It.IsAny <string>()); Assert.IsType <OkObjectResult>(result); }