public void CreateRealEstateShoulThrowsExceptionUponInvalidParameters() { string expectedId = "myNewCoolId"; decimal invalidPrice = -1m; var mapper = this.GetMapper(); var serviceInstance = new RealEstateServices(context, realEstateTypeServices.Object, citiesServices.Object, neighbourhoodServices.Object, addressServices.Object, villageServices.Object, buildingTypeServices.Object, heatingSystemServices.Object, mapper); var realEstateModel = new RealEstateCreateServiceModel() { Id = expectedId, Area = 100, RealEstateType = "Мезонет", Price = invalidPrice, FloorNumber = "4", BuildingTotalFloors = 5, City = "София", BuildingType = "Тухла", }; Assert.ThrowsAsync <ArgumentNullException>(async() => await serviceInstance.CreateRealEstateAsync(realEstateModel), InvalidAddressExceptionMessage); }
public async Task <string> CreateRealEstateAsync(RealEstateCreateServiceModel model) { if (model.Area <= 0 || model.Price <= 0) { throw new ArgumentNullException(InvalidMethodParametersMessage); } var city = await this.citiesServices.GetByNameAsync(model.City); var village = await this.villageServices.CreateVillageAsync(model.Village); var neighbourhood = await this.neighbourhoodServices.GetNeighbourhoodByNameAsync(model.Neighbourhood); var realEstate = new RealEstate { RealEstateType = await this.realEstateTypeServices.GetRealEstateTypeByNameAsync(model.RealEstateType), Address = await this.addressServices.CreateAddressAsync(city, model.Address, village, neighbourhood), BuildingType = await this.buildingTypeServices.GetBuildingTypeAsync(model.BuildingType), HeatingSystem = await this.heatingSystemServices.GetHeatingSystemAsync(model.HeatingSystem), PricePerSquareMeter = model.Price / (decimal)model.Area }; this.mapper.Map <RealEstateCreateServiceModel, RealEstate>(model, realEstate); var realEstateIdResult = await AddRealEstateToTheDb(realEstate); return(realEstateIdResult); }
public async Task CreateRealEstateShoulReturnRealEstateId() { string expectedId = "myNewCoolId"; var serviceInstance = new Mock <IRealEstateServices>(); var realEstateModel = new RealEstateCreateServiceModel() { Id = expectedId, Price = 5000, Area = 100, RealEstateType = "Мезонет", Address = "ул. Бира 2", FloorNumber = "4", BuildingTotalFloors = 5, City = "София", BuildingType = "Тухла", }; serviceInstance.Setup(x => x.CreateRealEstateAsync(realEstateModel)).ReturnsAsync(expectedId); var service = serviceInstance.Object; var actualResult = await service.CreateRealEstateAsync(realEstateModel); Assert.That(expectedId.Equals(actualResult), InvalidReturnIdMessage); }