/// <summary> /// Map Rate Plans while inserting record /// </summary> /// <param name="source"></param> /// <param name="userName"></param> /// <returns></returns> public static List <RatePlans> MapToRatePlansModel(RateCategoryViewModel source, string userName) { List <RatePlans> ratePlansResult = new List <RatePlans>(); foreach (var item in source.RoomTypeList) { if (item.ObjectState == ObjectState.Added) { var destination = AutoMapper.Mapper.Map <RatePlansViewModel, RatePlans>(item); destination.RateCategoryId = source.Id; destination.CreatedBy = userName; destination.UpdatedBy = userName; destination.CreatedDate = DateTime.Now.JakartaOffset(); destination.UpdatedDate = DateTime.Now.JakartaOffset(); destination.IsActive = true; if (item.IsSelected) { destination.IsDeleted = false; } else { destination.IsDeleted = true; } ratePlansResult.Add(destination); } } return(ratePlansResult); }
/// <summary> /// Method to Add RateCategory /// </summary> /// <param name="rateCategoryViewModel"></param> /// <param name="userName"></param> /// <returns></returns> public async Task <BaseResult <RateCategory> > AddRateCategory(RateCategoryViewModel rateCategoryViewModel, string userName) { BaseResult <RateCategory> result = new BaseResult <RateCategory>(); result.Result = new RateCategory(); //Map Rate Category var rateCategoryResult = RatesCategoryRequestMapper.MapToRateCategoryModel(rateCategoryViewModel, userName); //Insert Rate Category first var insertResult = await iRateCategoryLibrary.InsertEntity(rateCategoryResult).ConfigureAwait(false); if (insertResult.IsError || insertResult.ExceptionMessage != null) { result.IsError = true; result.ExceptionMessage = insertResult.ExceptionMessage; return(result); } else if (insertResult.Result > default(long)) { //Assign Rate Category Id rateCategoryViewModel.Id = (int)insertResult.Result; //Add Rate Plans result = await AddRatePlans(rateCategoryViewModel, userName).ConfigureAwait(false); } return(result); }
/// <summary> /// Add/Edit RateCategory /// </summary> /// <param name="rateCategoryViewModel"></param> /// <returns>List of RatePlans</returns> public async Task <BaseResult <RateCategory> > SaveAndUpdateRateCategory(RateCategoryViewModel rateCategoryViewModel, string userName) { BaseResult <RateCategory> result = new BaseResult <RateCategory>(); result.Result = new RateCategory(); if (rateCategoryViewModel.ObjectState == ObjectState.Added) { result = await AddRateCategory(rateCategoryViewModel, userName).ConfigureAwait(false); } else if (rateCategoryViewModel.ObjectState == ObjectState.Modified) { result = await UpdateRateCategory(rateCategoryViewModel, userName).ConfigureAwait(false); } else if (rateCategoryViewModel.ObjectState == ObjectState.Unchanged) { foreach (var item in rateCategoryViewModel.RoomTypeList) { if (item.ObjectState == ObjectState.Modified) { result = await UpdateRatePlans(item, userName).ConfigureAwait(false); } else if (item.ObjectState == ObjectState.Added)//If new room is added { result = await AddRatePlans(rateCategoryViewModel, userName).ConfigureAwait(false); } } } return(result); }
public async Task TestUpdateRateCategory_Failed_ByGetListByPredicate_Error() { //Arrange var rateCategoryViewModel = new RateCategoryViewModel() { Id = 1, Name = "RC1", MarketId = 2, CancellationPolicyId = 2, HotelMealId = 2, IsActive = true }; rateCategoryViewModel.ObjectState = ObjectState.Modified; int rateCategoryId = 1; BaseResult <List <RateCategory> > baseResult = new BaseResult <List <RateCategory> >(); baseResult.Result = null; var pred = new Func <RateCategory, bool>(x => x.Id == rateCategoryId && !x.IsDeleted); iRateCategoryLibrary.Setup(x => x.GetListByPredicate(It.Is <Func <RateCategory, bool> >(y => y.GetType() == pred.GetType()))).Returns(Task.FromResult(baseResult)); //Act Task <BaseResult <RateCategory> > actionResult = rateCategoryRepository.SaveAndUpdateRateCategory(rateCategoryViewModel, It.IsAny <string>()); //Assert Assert.IsTrue(actionResult.Result.IsError); Assert.IsTrue(actionResult.Result.Message != null); }
/// <summary> /// Method to Add RatePlan /// </summary> /// <param name="rateCategoryViewModel"></param> /// <param name="userName"></param> /// <returns>RateCategory</returns> public async Task <BaseResult <RateCategory> > AddRatePlans(RateCategoryViewModel rateCategoryViewModel, string userName) { BaseResult <RateCategory> result = new BaseResult <RateCategory>(); result.Result = new RateCategory(); //Map RatePlans var ratePlansResult = RatesCategoryRequestMapper.MapToRatePlansModel(rateCategoryViewModel, userName); foreach (var item in ratePlansResult) { var rateplan = await iRatePlansLibrary.GetListByPredicate(x => x.RateCategoryId == item.RateCategoryId && x.RoomId == item.RoomId && x.IsActive).ConfigureAwait(false); if (rateplan.Result == null || !rateplan.Result.Any()) { //Insert RatePlans var rateplanInsertResult = await iRatePlansLibrary.InsertEntity(item).ConfigureAwait(false); if (rateplanInsertResult.IsError || rateplanInsertResult.ExceptionMessage != null) { result.IsError = true; result.ExceptionMessage = rateplanInsertResult.ExceptionMessage; return(result); } else if (rateplanInsertResult.Result > default(long)) { result.Result.Id = rateCategoryViewModel.Id; } } } return(result); }
public async Task TestUpdateRatePlans_Failed_ByGetListByPredicate_Error() { //Arrange var rateCategoryViewModel = new RateCategoryViewModel() { Id = 1, Name = "RC1", MarketId = 2, CancellationPolicyId = 2, HotelMealId = 2, IsActive = true }; var ratePlanViewModel = new RatePlansViewModel() { Id = 1, RateCategoryId = 2, RoomId = 322, ObjectState = ObjectState.Modified }; var ratePlansList = new List <RatePlansViewModel>(); ratePlansList.Add(ratePlanViewModel); rateCategoryViewModel.RoomTypeList.AddRange(ratePlansList); rateCategoryViewModel.ObjectState = ObjectState.Modified; int rateCategoryId = 1; var rateCategory = new RateCategory() { Id = 1, Name = "RateCategory1", IsActive = true, IsDeleted = false }; var baseResult = new BaseResult <List <RateCategory> >() { Result = new List <RateCategory>() { rateCategory } }; var pred = new Func <RateCategory, bool>(x => x.Id == rateCategoryId && !x.IsDeleted); iRateCategoryLibrary.Setup(x => x.GetListByPredicate(It.Is <Func <RateCategory, bool> >(y => y.GetType() == pred.GetType()))).Returns(Task.FromResult(baseResult)); iRateCategoryLibrary.Setup(x => x.UpdateEntityByDapper(It.IsAny <RateCategory>())).Returns(Task.FromResult(new BaseResult <bool>() { Result = true })).Verifiable(); var ratePlanbaseResult = new BaseResult <List <RatePlans> >(); ratePlanbaseResult.Result = null; var ratePlanPred = new Func <RatePlans, bool>(x => x.RateCategoryId == rateCategoryId && x.IsActive); iRatePlansLibrary.Setup(x => x.GetListByPredicate(It.Is <Func <RatePlans, bool> >(y => y.GetType() == ratePlanPred.GetType()))).Returns(Task.FromResult(ratePlanbaseResult)); //Act Task <BaseResult <RateCategory> > actionResult = rateCategoryRepository.SaveAndUpdateRateCategory(rateCategoryViewModel, It.IsAny <string>()); //Assert Assert.IsTrue(actionResult.Result.IsError); Assert.IsTrue(actionResult.Result.Message != null); }
/// <summary> /// Map Rate Category while updating record /// </summary> /// <param name="rateCategoryToMap"></param> /// <param name="rateCategoryDatabase"></param> /// <param name="userName"></param> /// <returns></returns> public static RateCategory AutoMapperRateCategory(RateCategoryViewModel rateCategoryToMap, RateCategory rateCategoryDatabase, string userName) { var rateCategoryMapped = AutoMapper.Mapper.Map <RateCategory>(rateCategoryToMap); rateCategoryMapped.CreatedBy = rateCategoryDatabase.CreatedBy; rateCategoryMapped.CreatedDate = rateCategoryDatabase.CreatedDate; rateCategoryMapped.UpdatedBy = userName; rateCategoryMapped.UpdatedDate = DateTime.Now.JakartaOffset(); rateCategoryMapped.IsDeleted = rateCategoryDatabase.IsDeleted; return(rateCategoryMapped); }
public void TestCreateRateCategory_Exception_InternalServerError() { RateCategoryViewModel rateCategoryViewModel = new RateCategoryViewModel(); mockRatesCategoryRepository.Setup(a => a.SaveAndUpdateRateCategory(rateCategoryViewModel, It.IsAny <string>())).Returns(Task.FromResult(new BaseResult <RateCategory> { IsError = true, ExceptionMessage = Helper.Common.GetMockException() })); Task <IActionResult> actionResult = mockRatesCategoryController.CreateRateCategory(rateCategoryViewModel); Assert.IsTrue(actionResult != null); Assert.AreEqual(((Microsoft.AspNetCore.Mvc.ObjectResult)actionResult.Result).StatusCode, 500); }
/// <summary> /// Map Rate Category while inserting record /// </summary> /// <param name="source"></param> /// <param name="userName"></param> /// <returns></returns> public static RateCategory MapToRateCategoryModel(RateCategoryViewModel source, string userName) { var destination = AutoMapper.Mapper.Map <RateCategoryViewModel, RateCategory>(source); destination.CreatedBy = userName; destination.UpdatedBy = userName; destination.CreatedDate = DateTime.Now.JakartaOffset(); destination.UpdatedDate = DateTime.Now.JakartaOffset(); destination.IsActive = true; destination.IsDeleted = false; return(destination); }
public void TestCreateRateCategory_Failed_BadRequest() { //Arrange RateCategoryViewModel rateCategoryViewModel = null; //Act var result = mockRatesCategoryController.CreateRateCategory(rateCategoryViewModel); //Assert mockRatesCategoryRepository.Verify(); Assert.IsTrue(result.Result is BadRequestObjectResult); Assert.AreEqual(((BadRequestObjectResult)result.Result).StatusCode, 400); }
/// <summary> /// Method to Update RateCategory /// </summary> /// <param name="rateCategoryViewModel"></param> /// <param name="userName"></param> /// <returns>RateCategory</returns> public async Task <BaseResult <RateCategory> > UpdateRateCategory(RateCategoryViewModel rateCategoryViewModel, string userName) { BaseResult <RateCategory> result = new BaseResult <RateCategory>(); result.Result = new RateCategory(); //Fetch rate category by id var rateCategoryResult = await iRateCategoryLibrary.GetListByPredicate(id => id.Id == rateCategoryViewModel.Id && !id.IsDeleted).ConfigureAwait(false); if (rateCategoryResult.Result != null && rateCategoryResult.Result.Any()) { //Map Rate Category var updateRateCategory = RatesCategoryRequestMapper.AutoMapperRateCategory(rateCategoryViewModel, rateCategoryResult.Result.First(), userName); var updateResult = await iRateCategoryLibrary.UpdateEntityByDapper(updateRateCategory).ConfigureAwait(false); if (updateResult.IsError || updateResult.ExceptionMessage != null) { result.IsError = true; result.ExceptionMessage = updateResult.ExceptionMessage; return(result); } else if (updateResult.Result)//If rate category updated successfully update rateplans.. { foreach (var item in rateCategoryViewModel.RoomTypeList) { if (item.ObjectState == ObjectState.Modified) { result = await UpdateRatePlans(item, userName).ConfigureAwait(false); } else if (item.ObjectState == ObjectState.Added)//If new room is added { result = await AddRatePlans(rateCategoryViewModel, userName).ConfigureAwait(false); } else { result.Result.Id = rateCategoryViewModel.Id; } } } } else { result.IsError = true; result.ErrorCode = (int)coreHelper.Constants.ErrorCodes.NoRateCategoryOfID; result.Message = string.Format(coreHelper.Constants.ErrorMessage.NoRateCategoryOfID, rateCategoryViewModel.Id); return(result); } return(result); }
public async Task TestAddRateCategory_Pass_Success() { //Arrange var rateCategoryViewModel = new RateCategoryViewModel() { Id = 1, Name = "RC1", MarketId = 2, CancellationPolicyId = 2, HotelMealId = 2, IsActive = true }; var ratePlan = new RatePlansViewModel() { Id = 1, RateCategoryId = 2, RoomId = 322 }; var ratePlansList = new List <RatePlansViewModel>(); ratePlansList.Add(ratePlan); rateCategoryViewModel.RoomTypeList.AddRange(ratePlansList); rateCategoryViewModel.ObjectState = ObjectState.Added; var rateCategory = new RateCategory() { Id = 1, Name = "RateCategory1", IsActive = true, IsDeleted = false }; var baseResult = new BaseResult <List <RateCategory> >() { Result = new List <RateCategory>() { rateCategory } }; iRateCategoryLibrary.Setup(x => x.InsertEntity(It.IsAny <RateCategory>())).Returns(Task.FromResult(new BaseResult <long>() { Result = 2 })).Verifiable(); iRatePlansLibrary.Setup(x => x.InsertEntityList(It.IsAny <List <RatePlans> >())).Returns(Task.FromResult(new BaseResult <long>() { Result = 2 })).Verifiable(); //Act Task <BaseResult <RateCategory> > actionResult = rateCategoryRepository.SaveAndUpdateRateCategory(rateCategoryViewModel, It.IsAny <string>()); //Assert Assert.IsTrue(actionResult.Result != null); Assert.IsTrue(actionResult.Result is BaseResult <RateCategory>); }
public void TestCreateRateCategory_EmptyResult_NoContentResponse() { RateCategoryViewModel rateCategoryViewModel = new RateCategoryViewModel(); mockRatesCategoryRepository.Setup(a => a.SaveAndUpdateRateCategory(rateCategoryViewModel, It.IsAny <string>())).Returns(Task.FromResult(new BaseResult <RateCategory> { Result = new RateCategory() })); mockRatesCategoryRepository.Setup(a => a.SaveAndUpdateRateCategory(rateCategoryViewModel, It.IsAny <string>())).Returns(Task.FromResult(new BaseResult <RateCategory> { Result = null })).Verifiable(); Task <IActionResult> actionResult = mockRatesCategoryController.CreateRateCategory(rateCategoryViewModel); Assert.IsTrue(actionResult != null); Assert.AreEqual(((Microsoft.AspNetCore.Mvc.StatusCodeResult)actionResult.Result).StatusCode, 204); }
/// <summary> /// Method to Add RateCategory /// </summary> /// <param name="rateCategoryViewModel"></param> /// <param name="userName"></param> /// <returns>RateCategory</returns> public async Task <BaseResult <RateCategory> > AddRateCategory(RateCategoryViewModel rateCategoryViewModel, string userName) { BaseResult <RateCategory> result = new BaseResult <RateCategory>(); result.Result = new RateCategory(); //Map Rate Category var rateCategoryResult = RatesCategoryRequestMapper.MapToRateCategoryModel(rateCategoryViewModel, userName); DynamicParameters paramCollection = new DynamicParameters(); paramCollection.Add(Constants.StoredProcedureParameters.Name, rateCategoryResult.Name); paramCollection.Add(Constants.StoredProcedureParameters.HotelId, rateCategoryResult.HotelId); paramCollection.Add(Constants.StoredProcedureParameters.MarketId, rateCategoryResult.MarketId); paramCollection.Add(Constants.StoredProcedureParameters.ChildrenAndExtraBedPoliciesId, rateCategoryResult.ChildrenAndExtraBedPoliciesId); paramCollection.Add(Constants.StoredProcedureParameters.CancellationPolicyId, rateCategoryResult.CancellationPolicyId); paramCollection.Add(Constants.StoredProcedureParameters.RatePlanInfo, rateCategoryResult.RatePlanInfo); paramCollection.Add(Constants.StoredProcedureParameters.MealId, rateCategoryResult.MealId); paramCollection.Add(Constants.StoredProcedureParameters.IsStatic, rateCategoryResult.IsStatic); paramCollection.Add(Constants.StoredProcedureParameters.IsActive, rateCategoryResult.IsActive); paramCollection.Add(Constants.StoredProcedureParameters.IsDeleted, rateCategoryResult.IsDeleted); paramCollection.Add(Constants.StoredProcedureParameters.CreatedBy, rateCategoryResult.CreatedBy); paramCollection.Add(Constants.StoredProcedureParameters.CreatedDate, rateCategoryResult.CreatedDate); paramCollection.Add(Constants.StoredProcedureParameters.UpdatedBy, rateCategoryResult.UpdatedBy); paramCollection.Add(Constants.StoredProcedureParameters.UpdatedDate, rateCategoryResult.UpdatedDate); //Insert Rate Category first var insertResult = await iRateCategoryLibrary.ExecuteStoredProcedure(Constants.StoredProcedure.InsertRateCategory, paramCollection).ConfigureAwait(false); if (insertResult.IsError || insertResult.ExceptionMessage != null) { result.IsError = true; result.ExceptionMessage = insertResult.ExceptionMessage; return(result); } else if (insertResult.Result.First().Id > default(long)) { //Assign Rate Category Id rateCategoryViewModel.Id = insertResult.Result.First().Id; //Add Rate Plans result = await AddRatePlans(rateCategoryViewModel, userName).ConfigureAwait(false); } return(result); }
public async Task TestUpdateRateCategory_Failed_ByUpdateEntityByDapper_Error() { //Arrange var rateCategoryViewModel = new RateCategoryViewModel() { Id = 1, Name = "RC1", MarketId = 2, CancellationPolicyId = 2, HotelMealId = 2, IsActive = true }; rateCategoryViewModel.ObjectState = ObjectState.Modified; int rateCategoryId = 1; var rateCategory = new RateCategory() { Id = 1, Name = "RateCategory1", IsActive = true, IsDeleted = false }; var baseResult = new BaseResult <List <RateCategory> >() { Result = new List <RateCategory>() { rateCategory } }; var pred = new Func <RateCategory, bool>(x => x.Id == rateCategoryId && !x.IsDeleted); iRateCategoryLibrary.Setup(x => x.GetListByPredicate(It.Is <Func <RateCategory, bool> >(y => y.GetType() == pred.GetType()))).Returns(Task.FromResult(baseResult)); iRateCategoryLibrary.Setup(x => x.UpdateEntityByDapper(It.IsAny <RateCategory>())).Returns(Task.FromResult(new BaseResult <bool>() { IsError = true, ExceptionMessage = Helper.Common.GetMockException() })).Verifiable(); //Act Task <BaseResult <RateCategory> > actionResult = rateCategoryRepository.SaveAndUpdateRateCategory(rateCategoryViewModel, It.IsAny <string>()); //Assert Assert.IsTrue(actionResult.Result.IsError); Assert.IsTrue(actionResult.Result.ExceptionMessage != null); }
public async Task TestCreateRateCategory_Success_OkResponse() { //Arrange RateCategoryViewModel rateCategoryViewModel = new RateCategoryViewModel(); RateCategory rateCategory = new RateCategory(); mockRatesCategoryRepository.Setup(a => a.SaveAndUpdateRateCategory(rateCategoryViewModel, It.IsAny <string>())).Returns(Task.FromResult(new BaseResult <RateCategory> { Result = rateCategory })); //Act Task <IActionResult> actionResult = mockRatesCategoryController.CreateRateCategory(rateCategoryViewModel); var createRateCategoryResult = (actionResult.Result as Microsoft.AspNetCore.Mvc.OkObjectResult).Value as BaseResult <RateCategory>; //Assert Assert.AreEqual(((Microsoft.AspNetCore.Mvc.ObjectResult)actionResult.Result).StatusCode, 200); Assert.IsNotNull(createRateCategoryResult); Assert.IsTrue(!createRateCategoryResult.IsError); Assert.IsTrue(createRateCategoryResult.Result != null); }
public async Task TestAddRateCategory_Failed_Error() { //Arrange var rateCategoryViewModel = new RateCategoryViewModel() { Id = 1, Name = "RC1", MarketId = 2, CancellationPolicyId = 2, HotelMealId = 2, IsActive = true }; rateCategoryViewModel.ObjectState = ObjectState.Added; var rateCategory = new RateCategory() { Id = 1, Name = "RateCategory1", IsActive = true, IsDeleted = false }; var baseResult = new BaseResult <List <RateCategory> >() { Result = new List <RateCategory>() { rateCategory } }; iRateCategoryLibrary.Setup(x => x.InsertEntity(It.IsAny <RateCategory>())).Returns(Task.FromResult(new BaseResult <long>() { IsError = true, ExceptionMessage = Helper.Common.GetMockException() })).Verifiable(); //Act Task <BaseResult <RateCategory> > actionResult = rateCategoryRepository.SaveAndUpdateRateCategory(rateCategoryViewModel, It.IsAny <string>()); //Assert Assert.IsTrue(actionResult.Result.IsError); Assert.IsTrue(actionResult.Result.ExceptionMessage != null); }
public async Task <IActionResult> CreateRateCategory([FromBody] RateCategoryViewModel rateCategoryViewModel) { string userName = base.LoggedInUserName; BaseResult <RateCategory> rateCategoryResult = new BaseResult <RateCategory>(); if (rateCategoryViewModel == null) { rateCategoryResult.IsError = true; rateCategoryResult.Message = string.Format(coreHelper.Constants.ErrorMessage.EmptyModel); return(BadRequest(rateCategoryResult)); } rateCategoryResult = await iRatesCategory.SaveAndUpdateRateCategory(rateCategoryViewModel, userName).ConfigureAwait(false); if (rateCategoryResult.IsError && rateCategoryResult.ExceptionMessage != null) { return(StatusCode(500, rateCategoryResult)); } else if (rateCategoryResult.Result == null) { return(new NoContentResult()); } return(Ok(rateCategoryResult)); }
/// <summary> /// Method to Add RatePlan /// </summary> /// <param name="rateCategoryViewModel"></param> /// <param name="userName"></param> /// <returns></returns> public async Task <BaseResult <RateCategory> > AddRatePlans(RateCategoryViewModel rateCategoryViewModel, string userName) { BaseResult <RateCategory> result = new BaseResult <RateCategory>(); result.Result = new RateCategory(); //Map RatePlans var ratePlansResult = RatesCategoryRequestMapper.MapToRatePlansModel(rateCategoryViewModel, userName); //Insert RatePlans var rateplanInsertResult = await iRatePlansLibrary.InsertEntityList(ratePlansResult).ConfigureAwait(false); if (rateplanInsertResult.IsError || rateplanInsertResult.ExceptionMessage != null) { result.IsError = true; result.ExceptionMessage = rateplanInsertResult.ExceptionMessage; return(result); } else if (rateplanInsertResult.Result > default(long)) { result.Result.Id = rateCategoryViewModel.Id; } return(result); }
public async Task TestAddRatePlans_Failed_Error() { //Arrange var rateCategoryViewModel = new RateCategoryViewModel() { Id = 1, Name = "RC1", MarketId = 2, CancellationPolicyId = 2, HotelMealId = 2, IsActive = true }; var ratePlanViewModel = new RatePlansViewModel() { Id = 1, RateCategoryId = 2, RoomId = 322 }; var ratePlansViewModelList = new List <RatePlansViewModel>(); ratePlansViewModelList.Add(ratePlanViewModel); rateCategoryViewModel.RoomTypeList.AddRange(ratePlansViewModelList); rateCategoryViewModel.ObjectState = ObjectState.Added; var rateCategory = new RateCategory() { Id = 1, Name = "RateCategory1", IsActive = true, IsDeleted = false }; var baseResult = new BaseResult <List <RateCategory> >() { Result = new List <RateCategory>() { rateCategory } }; iRateCategoryLibrary.Setup(x => x.InsertEntity(It.IsAny <RateCategory>())).Returns(Task.FromResult(new BaseResult <long>() { Result = 2 })).Verifiable(); var ratePlan = new RatePlans() { Id = 1, RateCategoryId = 2, RoomId = 322 }; int rateCategoryId = 2; var ratePlanbaseResult = new BaseResult <List <RatePlans> >() { Result = new List <RatePlans>() { ratePlan } }; var pred = new Func <RatePlans, bool>(x => x.RateCategoryId == rateCategoryId && x.IsActive); iRatePlansLibrary.Setup(x => x.GetListByPredicate(It.Is <Func <RatePlans, bool> >(y => y.GetType() == pred.GetType()))).Returns(Task.FromResult(ratePlanbaseResult)); iRatePlansLibrary.Setup(x => x.InsertEntityList(It.IsAny <List <RatePlans> >())).Returns(Task.FromResult(new BaseResult <long>() { IsError = true, ExceptionMessage = Helper.Common.GetMockException() })).Verifiable(); //Act Task <BaseResult <RateCategory> > actionResult = rateCategoryRepository.SaveAndUpdateRateCategory(rateCategoryViewModel, It.IsAny <string>()); //Assert Assert.IsTrue(actionResult.Result.IsError); Assert.IsTrue(actionResult.Result.ExceptionMessage != null); }