コード例 #1
0
        public void GetDeliverableNameByMopNWBS_Test()
        {
            //Set Data
            List <DropDownViewModel> lstdropDownViewModel = new List <DropDownViewModel>();
            DropDownViewModel        drpDownModel         = new DropDownViewModel()
            {
            };
            List <WBS_Deliverables> lstWBS = new List <WBS_Deliverables>();
            WBS_Deliverables        wbs1   = new WBS_Deliverables()
            {
                TypeOfWorkId             = 542,
                WBSElementId             = 17,
                FullWBSNumber            = "11234.001.002",
                ProductionMethodTypeId   = 1,
                ProductionMethodTypeName = "Post House",
                DeliverableId            = 1,
                DeliverableName          = "Deliverable1"
            };
            WBS_Deliverables wbs2 = new WBS_Deliverables()
            {
                TypeOfWorkId             = 2345,
                WBSElementId             = 21,
                FullWBSNumber            = "12456.001.002",
                ProductionMethodTypeId   = 2,
                ProductionMethodTypeName = "Contract Request",
                DeliverableId            = 2,
                DeliverableName          = "Deliverable2"
            };
            WBS_Deliverables wbs3 = new WBS_Deliverables()
            {
                TypeOfWorkId             = 3456,
                WBSElementId             = 31,
                FullWBSNumber            = "11234.003.001",
                ProductionMethodTypeId   = 3,
                ProductionMethodTypeName = "Miscellaneous",
                DeliverableId            = 3,
                DeliverableName          = "Deliverable3"
            };

            lstWBS.Add(wbs1);
            lstWBS.Add(wbs2);
            lstWBS.Add(wbs3);

            DropDownViewModel vm1 = new DropDownViewModel()
            {
                Text  = "Deliverable1",
                Value = "1",
                Id    = 1
            };
            DropDownViewModel vm2 = new DropDownViewModel()
            {
                Text  = "Deliverable2",
                Value = "2",
                Id    = 2
            };
            DropDownViewModel vm3 = new DropDownViewModel()
            {
                Text  = "Deliverable3",
                Value = "3",
                Id    = 3
            };

            lstdropDownViewModel.Add(vm1);
            lstdropDownViewModel.Add(vm2);
            lstdropDownViewModel.Add(vm3);

            //Inputs
            bool   isExternal   = false;
            string filter       = "";
            int    mrmUserid    = 1234;
            string networkLogin = "******";
            int    wbsId        = 31;
            int    mopId        = 1;

            #region Mock
            //Mock

            //FinanceService Service Mock
            mockFinanceService.Setup(x => x.GetDeliverableNameByMopNWBS(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <bool>())).Returns(lstWBS);
            //iWBS_DeliverablesRepository Mock
            mockWBS_DeliverablesRepository.Setup(x => x.GetDeliverableNameByMopNWBS(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <bool>())).Returns(lstWBS);


            var financeService = new FinanceServiceMock(
                _iWBS_DeliverablesRepository: mockWBS_DeliverablesRepository.Object);
            //Finance Controller Mock
            var DropDownController = new DropDownControllerMock(financeService: mockFinanceService.Object);

            #endregion

            //Assertions
            mockFinanceService.Verify();
            mockWBS_DeliverablesRepository.Verify();

            var serviceResult = financeService.GetDeliverableNameByMopNWBS(wbsId, mopId, isExternal);


            #region "Assertion of GetWBSByTow"
            Assert.IsNotNull(serviceResult);         //Result is not Null
            Assert.AreEqual(serviceResult, lstWBS);  //Asserting the expected return object with dummy data
            Assert.AreEqual(serviceResult.Count, 3); //Assert matching the return data with my input

            var controllerResult = DropDownController.GetDeliverableNameByMopNWBS(wbsId, mopId, isExternal, filter, mrmUserid, networkLogin);
            Assert.IsNotNull(controllerResult);//Result is not Null
            Assert.AreEqual(controllerResult.Count, 3);
            Assert.AreEqual(controllerResult[0].Text, "Deliverable1");

            filter = "Deliverable2";
            var controllerResultForFilter = DropDownController.GetDeliverableNameByMopNWBS(wbsId, mopId, isExternal, filter, mrmUserid, networkLogin);
            Assert.IsNotNull(controllerResultForFilter);//Result is not Null
            Assert.AreSame(controllerResultForFilter[0].Text.Trim(), "Deliverable2");
            #endregion
        }