private UserViewController CreateUserViewController(HttpRequestMessage httpRequest, IUserViewRepository userViewRepository, IUserViewScreenRepository userViewScreenRepository)
        {
            UserViewManager           UserViewManager    = new UserViewManager(userManager.Object, cacheStoreManager.Object, mockLogManager.Object, userViewRepository, transformationManager, userViewScreenRepository);
            UserPreferencesAPIManager userViewAPIManager = new UserPreferencesAPIManager(userManager.Object, cacheStoreManager.Object, mockLogManager.Object, UserViewManager);
            UserViewController        userViewController = new UserViewController(userManager.Object, userViewAPIManager)
            {
                Request       = httpRequest,
                Configuration = new HttpConfiguration()
            };

            return(userViewController);
        }
        public void UserViewController_Put_Returns_OkCode(UserView userveiws)
        {
            #region Arrange
            SetupUserIdentity();

            SetupUserViewRepository(out Mock <IUserViewRepository> userViewRepository);

            var usrViewRepository = new Mock <IUserViewRepository>();

            #endregion
            #region Act

            var usrViewDbData = new grs_TblUserview()
            {
                ViewId     = 46,
                Userid     = 4896,
                Default    = false,
                Screenname = "GRS.UW_Workbench",
                Viewname   = "mysubmissions",
                Layout     = "SomeJason",
                Customview = false,
                Sortorder  = 1
            };

            usrViewRepository.Setup(p => p.Get(It.IsAny <Expression <Func <grs_TblUserview, bool> > >())).Returns(usrViewDbData);
            usrViewRepository.Setup(p => p.Get(46)).Returns(usrViewDbData);

            var             httpRequest     = new HttpRequestMessage(new HttpMethod(AppSettings.HTTPPOST), $"{AppSettings.BASEURL}{RouteHelper.UserviewRoutePrefix}");
            UserViewManager UserViewManager = new UserViewManager(userManager.Object, cacheStoreManager.Object, mockLogManager.Object, usrViewRepository.Object, transformationManager);

            UserPreferencesAPIManager userViewAPIManager = new UserPreferencesAPIManager(userManager.Object, cacheStoreManager.Object, mockLogManager.Object, UserViewManager);

            UserViewController userviewController = new UserViewController(userManager.Object, userViewAPIManager)
            {
                Request       = httpRequest,
                Configuration = new HttpConfiguration()
            };


            #endregion

            #region Act

            var response = userviewController.Put(userveiws.ViewId, userveiws);

            #endregion

            #region Expected Data

            var expectedUserViewdata = new UserView()
            {
                ViewId     = 46,
                UserId     = 4896,
                Default    = false,
                ScreenName = "GRS.UW_Workbench",
                ViewName   = "mysubmissions",
                Layout     = "SomeJason",
                CustomView = false,
                SortOrder  = 1
            };

            #region Assert
            var contentResult = response as NegotiatedContentResult <ResponseItem <UserView> >;

            Assertions.AssertOkResponse(contentResult);
            var usrViewData = contentResult.Content.data;

            //Data
            var actualUserViewdata = usrViewData;
            Assertions.AssertData(expectedUserViewdata, actualUserViewdata);

            //Links & Messages
            //  Assert.IsEmpty(contentResult.Content.links);
            Assert.IsEmpty(contentResult.Content.messages);
            #endregion
        }