public async Task <bool> EditOfferAsync(OfferEditServiceModel model) { var offer = await this.context.Offers .FirstOrDefaultAsync(x => x.Id == model.Id); if (offer == null) { throw new ArgumentNullException(OfferNotFoundMessage); } offer.ModifiedOn = DateTime.UtcNow; offer.OfferType = model.OfferType == GlobalConstants.OfferTypeSaleName ? offer.OfferType = OfferType.Sale : OfferType.Rental; this.mapper.Map <OfferEditServiceModel, Offer>(model, offer); this.context.Update(offer); int chandedRows = await this.context.SaveChangesAsync(); if (chandedRows == 0) { throw new InvalidOperationException(UnsuccessfullyUpdatedOfferMessage); } return(true); }
public void EditOfferIdShouldThrowExceptionIfNoSuchOffer() { string invalidId = "completelyInvalidId"; var unexistingOfferModel = new OfferEditServiceModel { Id = invalidId, Comments = "Some comments", OfferType = "Sale", }; var serviceInstance = new OfferServices(context, imageServices.Object, cloudinaryServices.Object, userServices.Object, referenceNumberGenerator.Object, mapper ); Assert.ThrowsAsync <ArgumentNullException>(() => serviceInstance.EditOfferAsync(unexistingOfferModel), ArgumentNullExceptonMessage); }