public void ChecklistsController_Get_Returns_NotFoundResponseCode()
        {
            #region Arrange
            SetupUserIdentity();

            int dealNumber  = 123;
            var httpRequest = new HttpRequestMessage(new HttpMethod(AppSettings.HTTPGET), $"{AppSettings.BASEURL}{RouteHelper.DealsRoutePrefix}/{dealNumber}/checklists");

            Mock <ITblCheckListRepository> checkListRepository = new Mock <ITblCheckListRepository>();

            IList <grs_VGrsChecklistsByDeal> data = new List <grs_VGrsChecklistsByDeal>
            {
            };
            checkListRepository.Setup(p => p.GetAllDealChecklists(123)).Returns(data);

            CheckListsController checkListsController = CreateChecklistsController(httpRequest, checkListRepository.Object);

            #endregion

            #region Act & Assert

            Assert.Throws(typeof(NotFoundAPIException), delegate { checkListsController.Get(dealNumber); });

            #endregion
        }
        public void ChecklistsController_Get_Returns_BadRequestResponseCode()
        {
            #region Arrange
            SetupUserIdentity();

            int dealNumber  = -1;
            var httpRequest = new HttpRequestMessage(new HttpMethod(AppSettings.HTTPGET), $"{AppSettings.BASEURL}{RouteHelper.DealsRoutePrefix}/{dealNumber}/checklists");
            Mock <ITblCheckListRepository> checkListRepository  = new Mock <ITblCheckListRepository>();
            CheckListsController           checkListsController = CreateChecklistsController(httpRequest, checkListRepository.Object);

            #endregion

            #region Act & Assert

            var response = checkListsController.Get(dealNumber);

            Assert.IsInstanceOf <BadRequestErrorMessageResult>(response);
            #endregion
        }
        public void ChecklistsController_Get_Returns_OKResponseCode()
        {
            #region Arrange
            SetupUserIdentity();

            int dealNumber  = 123;
            var httpRequest = new HttpRequestMessage(new HttpMethod(AppSettings.HTTPGET), $"{AppSettings.BASEURL}{RouteHelper.DealsRoutePrefix}/{dealNumber}/checklists");

            Mock <ITblCheckListRepository> checkListRepository = new Mock <ITblCheckListRepository>();

            IList <grs_VGrsChecklistsByDeal> data = new List <grs_VGrsChecklistsByDeal>
            {
                new grs_VGrsChecklistsByDeal
                {
                    Dealnum       = 1392041,
                    Entitynum     = 1,
                    Category      = 17,
                    CategoryName  = "Pre-Bind Processing",
                    Catorder      = 14,
                    Chklistnum    = 276,
                    ChecklistName = "Actuarial Analysis",
                    Sortorder     = 3,
                    Readonly      = false,
                    Checked       = true,
                    PersonId      = 714027,
                    PersonName    = "Dhanraj Patil",
                    Note          = "",
                    FirstName     = "Dhanraj",
                    LastName      = "Patil",
                    MiddleName    = null
                }
            };
            checkListRepository.Setup(p => p.GetAllDealChecklists(123)).Returns(data);

            CheckListsController checkListsController = CreateChecklistsController(httpRequest, checkListRepository.Object);

            #endregion

            #region Act

            var response      = checkListsController.Get(dealNumber);
            var contentResult = response as NegotiatedContentResult <ResponseCollection <ChkCategoryTree> >;


            #endregion

            #region Assert

            #region Expected Data

            var expectedchktree = new CheckListTree {
                ChkListNum  = 276,
                ChkListName = "Actuarial Analysis",
                SortOrder   = 3,
                ReadOnly    = false,
                Checked     = true,
                PersonId    = 714027,
                PersonName  = "Dhanraj Patil",
                Note        = "",
                FirstName   = "Dhanraj",
                LastName    = "Patil",
                MiddleName  = null
            };

            var expectedData = new List <ChkCategoryTree> {
                new ChkCategoryTree
                {
                    DealNumber   = 1392041,
                    EntityNum    = 1,
                    CategoryID   = 17,
                    CategoryName = "Pre-Bind Processing",
                    CatOrder     = 14,
                    Checklists   = new List <CheckListTree> {
                        expectedchktree
                    }
                }
            };
            //expectedData[0].Checklists.Add(expectedchktree);

            var chklistdata = contentResult.Content.results;

            for (int i = 0; i <= chklistdata.Count - 1; i++)
            {
                //Data
                var actualchklistdata = chklistdata[i].data;
                Assertions.AssertData(expectedData[0], actualchklistdata);
                Assert.IsEmpty(chklistdata[i].messages);
            }

            #endregion

            Assertions.AssertOkResponse(contentResult);

            #endregion
        }