public CitySearchController(IMapperService mapperService, ICitySearchDomainService citySearchDomainService) { _mapperService = mapperService; _citySearchDomainService = citySearchDomainService; }
public void Startup() { IEnumerable <CityDto> fakeCities = new List <CityDto>() { new CityDto() { Name = "London", EstablishedDate = DateTime.Now, CountryCode = "GB" }, new CityDto() { Name = "Manchester", EstablishedDate = DateTime.Now, CountryCode = "GB" }, new CityDto() { Name = "Tokyo", EstablishedDate = DateTime.Now, CountryCode = "JP" }, }; _mockMapperService = new MapperService(); _mockDataService = new Mock <ICityDataService>(); _mockDataService.Setup(x => x.GetCities()).Returns(fakeCities); _mockDataService .Setup(x => x.CreateCity(It.IsAny <CityDto>())) .Verifiable(); _mockCountryRestService = new Mock <ICountryRestService>(); _mockWeatherRestService = new Mock <IWeatherRestService>(); // todo: DEBT => I know that this can be done with a lambda which would make it neater. // I'm running a little low on time so I'll stick with this for now. // given more time I'd like to add this to a test helper class. _mockCountryRestService .Setup(x => x.GetCountryData("GB")).Returns( new Country() { Alpha2Code = "GB", Currencies = new EditableList <Currency> { new Currency { Code = "GBP", Name = "Pounds", Symbol = "£" } } }); _mockCountryRestService .Setup(x => x.GetCountryData("JP")).Returns( new Country() { Alpha2Code = "JP", Currencies = new EditableList <Currency> { new Currency { Code = "YEN", Name = "YEN", Symbol = "¥" } } }); _sutDomainService = new CitySearchDomainService(_mockMapperService, _mockDataService.Object, _mockWeatherRestService.Object, _mockCountryRestService.Object); }