Using TryUpdateModel in controller for update data unable to update data Unit test case asp.net mvc

53 Views Asked by At

While running test case gets success but data doesn't get update in database I was getting system null exception that is resolve by using controller context but unable to update data

**Unit test code**

 CANVAS_FIRM Firm = new CANVAS_FIRM
            {
                AUM = FirmToUpdate.AUM,
                CANVAS_ADVISOR = FirmToUpdate.CANVAS_ADVISOR,
                CANVAS_FIRM_ID = FirmToUpdate.CANVAS_FIRM_ID,
                FIRM_NAME = FirmToUpdate.FIRM_NAME,
                Street = FirmToUpdate.Street + "_" + maxId,
                City = FirmToUpdate.City + "_" + "Updated",
                State = FirmToUpdate.State + "_" + "Updated",
                Zip = FirmToUpdate.Zip,
                HasDiscretion = FirmToUpdate.HasDiscretion,
                ClientLogoUrl = FirmToUpdate.ClientLogoUrl,
                PlatformIds = FirmToUpdate.PlatformIds
            };

UsersController _requestUsersController = new UsersController();

 _requestUsersController.ValueProvider = new FormCollection().ToValueProvider();
            var request = new Mock<HttpRequestBase>();
            //request.Setup(r => r.HttpMethod).Returns("POST");
            var mockHttpContext = new Mock<HttpContextBase>();
            mockHttpContext.Setup(c => c.Request).Returns(request.Object);
            var controllerContext = new ControllerContext(mockHttpContext.Object, new RouteData(), new Mock<ControllerBase>().Object);
            _requestUsersController.ControllerContext = controllerContext;

            JsonResult result = _requestUsersController._SaveFirm(Firm);

Controller code

CANVAS_FIRM ExistingFirm = CanvasFirmRepository.GetFirmONLYForEditing_DeveloperBeware(db, Firm.CANVAS_FIRM_ID);
                Succeeded = TryUpdateModel(ExistingFirm, "Firm");                
                Firm = CanvasFirmRepository.SaveFirm(db, ExistingFirm, true);
0

There are 0 best solutions below