public ParkingLot FromParkingLotCreateToParkingLot(ParkingLotDTO_Create parkingLotDTO) { BuildingType buildingType; try { buildingType = (BuildingType)Enum.Parse(typeof(BuildingType), parkingLotDTO.Buildingtype); } catch { buildingType = BuildingType.AboveGround; } var parkingLot = ParkingLotBuilder.CreateNewParkingLot() .WithCapacity(parkingLotDTO.Capacity) .WithContactPerson(_contactPersonMapper.FromContactPersonDTOTOContactPerson(parkingLotDTO.ContactPerson)) .WithDivision(parkingLotDTO.DivisionID) .WithName(parkingLotDTO.Name) .WithPricePerHour(parkingLotDTO.PricePerHour) .WithAddress(_adressMappers.DTOToAddress(parkingLotDTO.Address)) .WithBuildingType(buildingType) .Build(); return(parkingLot); }
private void AssertParkingLotIsEqual(ParkingLotDTO_Create parkingLotToCreate, ParkingLotDTO_Return parkingLotReturn) { Assert.Equal(parkingLotToCreate.Name, parkingLotReturn.Name); Assert.Equal(parkingLotToCreate.PricePerHour, parkingLotReturn.PricePerHour); Assert.Equal(parkingLotToCreate.ContactPerson.Email, parkingLotReturn.ContactPerson.Email); Assert.Equal(parkingLotToCreate.Address.CityDTO.ZIP, parkingLotReturn.Address.CityDTO.ZIP); }
public ActionResult <ParkingLotDTO_Return> CreateParkingLot([FromBody] ParkingLotDTO_Create parkingLotDTO) { var parkingLot = _parkingLotService.CreateParkingLot(_parkingLotMapper.FromParkingLotCreateToParkingLot(parkingLotDTO)); if (parkingLot == null) { return(BadRequest("Not valid")); } return(Ok(_parkingLotMapper.FromParkingLotToParkingLotDTOReturn(parkingLot))); }
public async Task CreateParkingLot_givenParkingLotNotValidForCreationBecauseOfMissingName_thenBadRequestStatusReturned() { ParkingLotDTO_Create parkingLotToCreate = CreateParkingLotDTO(); parkingLotToCreate.Name = string.Empty; var content = JsonConvert.SerializeObject(parkingLotToCreate); var stringContent = new StringContent(content, Encoding.UTF8, "application/json"); var response = await _client.PostAsync("/api/parkinglots", stringContent); Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); }
public async Task CreateParkingLot() { ParkingLotDTO_Create divisionToCreate = CreateParkingLotDTO(); var content = JsonConvert.SerializeObject(divisionToCreate); var stringContent = new StringContent(content, Encoding.UTF8, "application/json"); var response = await _client.PostAsync("/api/parkinglots", stringContent); response.EnsureSuccessStatusCode(); var responseString = await response.Content.ReadAsStringAsync(); var createdParkingLot = JsonConvert.DeserializeObject <ParkingLotDTO_Return>(responseString); AssertParkingLotIsEqual(divisionToCreate, createdParkingLot); Assert.True(createdParkingLot.ParkingLotID != Guid.Empty); }
public void GivenFromParkingLotCreateToParkingLotWithoutBuildingType_WhenLeavingBuildingTypeEmpty_ThenBuildingTypeisDefaultAboveGround() { var memstub = Substitute.For <IMemberServices>(); ParkingLotMapper parkmap = new ParkingLotMapper(new AddressMapper(new CityMapper(memstub)), new ContactPersonMapper(new AddressMapper(new CityMapper(memstub)))); var cityDTO = new CityDTO { ZIP = 2050, CityName = "Antwerpen", CountryName = "Belgium" }; var addres = new AddressDTO { StreetName = "teststreet", StreetNumber = "58", CityDTO = cityDTO }; var contactPerson = new ContactPersonDTO { FirstName = "lars", Address = addres, Email = "*****@*****.**", LastName = "peelman", MobilePhoneNumber = "55555", PhoneNumber = "55555" }; var parkinglotDTO = new ParkingLotDTO_Create { Address = addres, Capacity = 5, ContactPerson = contactPerson, DivisionID = new Guid(), Name = "lasr", PricePerHour = 5.00M }; var result = parkmap.FromParkingLotCreateToParkingLot(parkinglotDTO); Assert.Equal("AboveGround", result.BuildingType.ToString()); }
public async Task GetAllParkingLots() { ParkingLotDTO_Create parkingLotToCreate = CreateParkingLotDTO(); var content = JsonConvert.SerializeObject(parkingLotToCreate); var stringContent = new StringContent(content, Encoding.UTF8, "application/json"); await _client.PostAsync("/api/parkinglots", stringContent); await _client.PostAsync("/api/parkinglots", stringContent); var response = await _client.GetAsync("/api/parkinglots"); response.EnsureSuccessStatusCode(); var responseString = await response.Content.ReadAsStringAsync(); var allParkingLots = JsonConvert.DeserializeObject <IEnumerable <ParkingLotDTO_Return> >(responseString); Assert.NotEmpty(allParkingLots); }
public void GivenCreateParkingLotFromParkingLotDTO_WhenGivenParkinglotToCreate_ThenCreateParkingLot() { var memstub = Substitute.For <IMemberServices>(); var stubpark = Substitute.For <IParkingLotMapper>(); ParkingLotMapper parkmap = new ParkingLotMapper(new AddressMapper(new CityMapper(memstub)), new ContactPersonMapper(new AddressMapper(new CityMapper(memstub)))); var cityDTO = new CityDTO { ZIP = 2050, CityName = "Antwerpen", CountryName = "Belgium" }; var addres = new AddressDTO { StreetName = "teststreet", StreetNumber = "58", CityDTO = cityDTO }; var contactPerson = new ContactPersonDTO { FirstName = "lars", Address = addres, Email = "*****@*****.**", LastName = "peelman", MobilePhoneNumber = "55555", PhoneNumber = "55555" }; var parkinglotDTO = new ParkingLotDTO_Create { Address = addres, Buildingtype = BuildingType.AboveGround.ToString(), Capacity = 5, ContactPerson = contactPerson, DivisionID = new Guid(), Name = "lasr", PricePerHour = 5.00M }; var result = parkmap.FromParkingLotCreateToParkingLot(parkinglotDTO); Assert.IsType <ParkingLot>(result); }