public ZipCode MapToZipCode(UsZipCodeToCreateDto z) { var zipCode = new ZipCode() { Digits = z.ZipCode, CityId = z.CityId }; return(zipCode); }
public async Task <int> GetNewWorldRegionId(string zipCodeDigits, int cityId) { var zipCode = new UsZipCodeToCreateDto() { ZipCode = zipCodeDigits, CityId = cityId }; var cityToReturn = await CreateZipCodeAsync(zipCode); return(cityToReturn.Id); }
public async Task <IActionResult> CreateZipcode(UsZipCodeToCreateDto zipCodeToCreateDto) { var zipCode = await _utility.CreateZipCodeAsync(zipCodeToCreateDto); if (zipCode.Id > 0) { return(CreatedAtRoute( zipCode.Id, zipCode)); } if (zipCode.Id == -1) { return(BadRequest("ZipCode already exists for this City")); } return(BadRequest("Could not create zipCode")); }
public async Task CreateZipCodeWithNameAndId(string zipCodeDigits, int cityId) { using (var mock = AutoMock.GetLoose()) { var toCreate = new UsZipCodeToCreateDto { ZipCode = zipCodeDigits, CityId = cityId }; var zipCode = new ZipCode { Digits = zipCodeDigits, CityId = cityId }; var returnDto = new UsZipCodeDto { Id = 1, ZipCode = zipCodeDigits, CityId = cityId }; // Expression<Func<ZipCode, bool>> ex = z => z.CityId == d.CityId && z.Digits == d.ZipCode; // // would like to test with ^^this^^ but don't think I'm able to // mock.Mock<IUsZipCodeData>().Setup(x => x.Find(ex)).Returns(Task.FromResult(zipCode)); var zipCodeList = new List <ZipCode>(); var matchingZipCodes = zipCodeList.AsEnumerable(); mock.Mock <IMap>().Setup(x => x.MapToZipCode(It.IsAny <UsZipCodeToCreateDto>())).Returns(zipCode); mock.Mock <IUsZipCodeData>().Setup(x => x.FindManyAsync(It.IsAny <Expression <Func <ZipCode, bool> > >())) .Returns(Task.FromResult(matchingZipCodes)); mock.Mock <IUsZipCodeData>().Setup(x => x.Add(zipCode)); mock.Mock <IUsZipCodeData>().Setup(x => x.SaveAllAsync()).Returns(Task.FromResult(true)); mock.Mock <IMap>().Setup(x => x.MapToUsZipCodeDto(zipCode)).Returns(returnDto); var cls = mock.Create <UtilityRepo>(); var expected = 1; var actual = await cls.CreateZipCodeAsync(zipCodeDigits, cityId); Assert.Equal(expected, actual); } }
public async Task <UsZipCodeDto> CreateZipCodeAsync(UsZipCodeToCreateDto d) { var newZipCode = _map.MapToZipCode(d); var matchingZipCodes = await _usZipCode.FindManyAsync(z => z.CityId == d.CityId && z.Digits == d.ZipCode); var saved = false; if (!matchingZipCodes.Any()) { _usZipCode.Add(newZipCode); saved = await _usZipCode.SaveAllAsync(); } if (!saved) { return(new UsZipCodeDto { Id = -1 }); } var dtoToReturn = _map.MapToUsZipCodeDto(newZipCode); return(dtoToReturn); }