public void GetWBSByBudgetGroupFyNTow_ShouldReturnOneRecord()
        {
            #region Data Setup
            int fiscalYear = 2016;

            Disney.MRM.DANG.Model.TypeOfWork towList1 = new Disney.MRM.DANG.Model.TypeOfWork()
            {
                Id                   = 5001,
                FiscalYear           = fiscalYear,
                TypeOfWorkCategoryId = 999,
                Name                 = "N1",
                ChannelId            = 1
            };
            Disney.MRM.DANG.Model.TypeOfWork towList2 = new Disney.MRM.DANG.Model.TypeOfWork()
            {
                Id                   = 5002,
                FiscalYear           = fiscalYear,
                TypeOfWorkCategoryId = 888,
                Name                 = "N2",
                ChannelId            = 2
            };
            Disney.MRM.DANG.Model.TypeOfWork towList3 = new Disney.MRM.DANG.Model.TypeOfWork()
            {
                Id                   = 5003,
                FiscalYear           = fiscalYear,
                TypeOfWorkCategoryId = 777,
                Name                 = "N3",
                ChannelId            = 2
            };
            Disney.MRM.DANG.Model.TypeOfWork testList = new Disney.MRM.DANG.Model.TypeOfWork()
            {
                Id                   = 5003,
                FiscalYear           = 2017,
                TypeOfWorkCategoryId = 777,
                Name                 = "N3",
                ChannelId            = 2
            };

            List <WBSElement> wbsElementList = new List <WBSElement>();

            WBSElement wbsElement1 = new WBSElement()
            {
                Id              = 10,
                TypeOfWork      = towList1,
                ExternalWBSFlag = true,
                FullWBSNumber   = "123",
                BudgetTypeId    = 2,
                TypeOfWorkId    = 3
            };

            WBSElement wbsElement2 = new WBSElement()
            {
                Id              = 20,
                TypeOfWork      = towList1,
                ExternalWBSFlag = false,
                FullWBSNumber   = "456",
                BudgetTypeId    = 1,
                TypeOfWorkId    = 4
            };

            WBSElement wbsElement3 = new WBSElement()
            {
                Id              = 30,
                TypeOfWork      = towList1,
                ExternalWBSFlag = false,
                FullWBSNumber   = "789",
                BudgetTypeId    = 2,
                TypeOfWorkId    = 5
            };


            wbsElementList.Add(wbsElement1);
            wbsElementList.Add(wbsElement2);
            wbsElementList.Add(wbsElement3);
            #endregion

            #region  Mock
            mockWBSElementRepository.Setup(x => x.GetMany(It.IsAny <Expression <Func <WBSElement, bool> > >())).Returns(wbsElementList);
            #endregion

            #region Service
            var budgetService = new BudgetServiceMock(iBudgetTypeTOWRepository: mockWBSElementRepository.Object);
            var result        = budgetService.GetWBSByBudgetGroupFyNTow(false, 1, 2016, 4, 1);
            #endregion

            #region Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Count == 1);
            Assert.IsTrue(result.ElementAt(0).Text.Equals("456"));
            #endregion
        }
        public void UpsertBillingWorkOrderTransactions_ForFY2017()
        {
            #region Data Setup
            WorkOrderTransaction workOrderTransaction1 = new WorkOrderTransaction()
            {
                TransactionNumber = "11111111",
                BillingAmount     = 5000,
                CreatedBy         = 496,
                Id          = 1,
                WorkOrderId = 1,
                BeginDate   = new DateTime(2017, 5, 19)
            };
            WorkOrderTransaction workOrderTransactionExist = new WorkOrderTransaction()
            {
                TransactionNumber = "22222222",
                BillingAmount     = 3000,
                CreatedBy         = 496,
                Id        = 2,
                BeginDate = new DateTime(2016, 5, 19)
            };
            List <WorkOrderTransaction> workOrderTransactionList = new List <WorkOrderTransaction>();
            workOrderTransactionList.Add(workOrderTransaction1);
            DeliverableGroup testDeliverableGroup = new DeliverableGroup()
            {
                Code = "VID"//Video
            };
            Channel testChannel = new Channel()
            {
                Code = "ROM"//Radio Disney
            };
            WBSElement wbsElement1 = new WBSElement()
            {
                Id            = 1,
                FullWBSNumber = "123456.011.001",
                TypeOfWorkId  = 1000,
            };
            WBSElement wbsElement2 = new WBSElement()
            {
                Id            = 2,
                FullWBSNumber = "123456.011.002",
                TypeOfWorkId  = 1001,
            };
            Deliverable testDeliverable = new Deliverable()
            {
                Id = 1,
                DeliverableTypeId     = 94, //Affiliate Marketing
                ProducingDepartmentId = 84, //MRM Team
                Name = "Radio Disney Video Deliverable",
                //ChannelId = 10,//Radio Disney
                DeliverableGroupId = 2,//Video
                DeliverableGroup   = testDeliverableGroup,
                Channel            = testChannel,
            };
            DeliverableBudget deliverableBudget1 = new DeliverableBudget()
            {
                DeliverableId  = 1,
                Id             = 100,
                WBSElement     = wbsElement1,
                MasterVendorId = 418,
                Deliverable    = testDeliverable,
                PHApplyPercent = 40
            };
            DeliverableBudget deliverableBudget2 = new DeliverableBudget()
            {
                DeliverableId  = 1,
                Id             = 101,
                WBSElement     = wbsElement2,
                MasterVendorId = 418,
                Deliverable    = testDeliverable,
            };
            WorkOrder workOrder = new WorkOrder()
            {
                WorkOrderNumber = 1122,
                Id            = 1,
                VendorId      = 418,
                DeliverableId = 1,
                Deliverable   = testDeliverable
            };
            TypeOfWork tow = new TypeOfWork()
            {
                Id         = 1,
                ChannelId  = 1,
                FiscalYear = 2016
            };
            WBSFiscalYear_Channel wBSFiscalYear_Channel = new WBSFiscalYear_Channel()
            {
                FiscalYear = "2016",
                Id         = 52,
                WBSNumber  = "12345",
                CreatedBy  = 496
            };
            List <WorkOrder> workOrderList = new List <WorkOrder>();
            workOrderList.Add(workOrder);
            List <Deliverable> deliverableList = new List <Deliverable>();
            deliverableList.Add(testDeliverable);
            List <DeliverableBudget> deliverableBudgetList = new List <DeliverableBudget>();
            deliverableBudgetList.Add(deliverableBudget1);
            tow.DeliverableBudget = deliverableBudgetList;
            List <TypeOfWork> towList = new List <TypeOfWork>();
            towList.Add(tow);
            List <WBSFiscalYear_Channel> wbsFiscalYear_ChannelList = new List <WBSFiscalYear_Channel>();
            wbsFiscalYear_ChannelList.Add(wBSFiscalYear_Channel);
            //wBSFiscalYear_Channel.TypeOfWork = towList;
            List <int> deliverableBudgetIdList = new List <int>();
            deliverableBudgetIdList.Add(deliverableBudget1.Id);
            Calendar calendar = new Calendar()
            {
                Id           = 1,
                CalendarYear = "2016",
                FiscalYear   = "2017"
            };
            MRMUser user = new MRMUser()
            {
                Id       = 496,
                UserName = "******"
            };
            #endregion

            #region Mocking
            mockWorkOrderTransactionRepositry.Setup(i => i.GetSingle(It.IsAny <Expression <Func <WorkOrderTransaction, bool> > >()))
            .Returns(workOrderTransactionExist);
            mockWorkOrderRepository.Setup(i => i.GetAll()).Returns(workOrderList.AsQueryable());
            mockDeliverableRepository.Setup(i => i.GetAll()).Returns(deliverableList.AsQueryable());
            mockDeliverableBudgetRepository.Setup(i => i.GetAll()).Returns(deliverableBudgetList.AsQueryable());
            mockTypeOfWorkRepository.Setup(i => i.GetAll()).Returns(towList.AsQueryable());
            mockDeliverableRepository.Setup(i => i.CreateCrossoverDeliverable(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>()))
            .Returns(deliverableBudgetIdList.AsQueryable());
            mockDeliverableBudgetRepository.Setup(i => i.GetByDeliverableBudgetId(It.IsAny <int>()))
            .Returns(deliverableBudget1);
            mockDeliverableBudgetRepository.Setup(i => i.Update(It.IsAny <DeliverableBudget>()));
            mockWorkOrderTransactionRepositry.Setup(i => i.Add(It.IsAny <WorkOrderTransaction>()));
            mockWorkOrderTransactionRepositry.Setup(i => i.Update(It.IsAny <WorkOrderTransaction>()));
            mockInvoiceLineRepository.Setup(i => i.GetSingle(It.IsAny <Expression <Func <InvoiceLine, bool> > >()))
            .Returns(() => null);
            mockUnitOfWork.Setup(i => i.Commit());
            mockUserRepository.Setup(i => i.GetSingle(It.IsAny <Expression <Func <MRMUser, bool> > >())).Returns(user);
            mockCalendarRepository.Setup(i => i.GetSingle(It.IsAny <Expression <Func <Calendar, bool> > >())).Returns(calendar);
            mockWBSFiscalYear_ChannelRepository.Setup(i => i.GetAll()).Returns(wbsFiscalYear_ChannelList.AsQueryable());
            #endregion

            #region Service
            var integrationService = new IntegrationServiceMock(workOrderRepository: mockWorkOrderRepository.Object,
                                                                iBillingWorkOrderTransactionRepositry: mockWorkOrderTransactionRepositry.Object,
                                                                iDeliverableRepository: mockDeliverableRepository.Object, iDeliverableBudgetRepository: mockDeliverableBudgetRepository.Object,
                                                                iTypeOfWorkRepository: mockTypeOfWorkRepository.Object, iInvoiceLineRepository: mockInvoiceLineRepository.Object,
                                                                unitOfWork: mockUnitOfWork.Object, iUserRepository: mockUserRepository.Object, iCalendarRepository: mockCalendarRepository.Object,
                                                                iWBSFiscalYear_ChannelRepository: mockWBSFiscalYear_ChannelRepository.Object);

            bool result = integrationService.UpsertBillingWorkOrderTransactions(workOrderTransactionList);
            #endregion

            #region Asserts
            Assert.IsTrue(result == true);
            #endregion
        }
Beispiel #3
0
        public void SentPrimaryTOWInfoToMediatorTest()
        {
            #region Data Setup
            DeliverableGroup testDeliverableGroup = new DeliverableGroup()
            {
                Code = "VID"
            };

            Model.TypeOfWork typeOfWork1 = new Model.TypeOfWork()
            {
                Name = "Type Of Work A", Id = 1100
            };
            Model.TypeOfWork typeOfWork2 = new Model.TypeOfWork()
            {
                Name = "Type Of Work B", Id = 1101
            };

            Channel testChannel = new Channel()
            {
                Code = "DC"
            };                                                  //Radio Disney

            Guid DeliverableBudgetUniqueID1 = Guid.NewGuid();
            Guid DeliverableBudgetUniqueID2 = Guid.NewGuid();

            WBSElement wbsElement1 = new WBSElement()
            {
                Id            = 1,
                FullWBSNumber = "123456.011.001",
                TypeOfWorkId  = 1100
            };
            WBSElement wbsElement2 = new WBSElement()
            {
                Id            = 2,
                FullWBSNumber = "123456.011.002",
                TypeOfWorkId  = 1101
            };

            wbsElement1.TypeOfWork = typeOfWork1;
            wbsElement2.TypeOfWork = typeOfWork2;

            DeliverableDate FPADate = new DeliverableDate()
            {
                Id = 1,
                DeliverableDateTypeId = 1,
                DateValue             = new DateTime()
            };

            DeliverableDate DueDate = new DeliverableDate()
            {
                Id = 2,
                DeliverableDateTypeId = 9,
                DateValue             = new DateTime()
            };

            List <DeliverableDate> deliverableDateList = new List <DeliverableDate>();
            deliverableDateList.Add(FPADate);
            deliverableDateList.Add(DueDate);
            ActivityStatus activityStatus = new ActivityStatus()
            {
                Id           = 39,
                IsActiveFlag = true,
                Code         = "INPCC",
            };
            TrackElement trk1 = new TrackElement()
            {
                Id = 1,
                ActivityStatusId = 39,
                HouseNumber      = "MRM1403030766624",
                Name             = "Textless Generic",
                ActualLength     = 0.10m,
                IsActiveFlag     = true
            };
            TrackElement trk2 = new TrackElement()
            {
                Id = 2,
                ActivityStatusId = 39,
                HouseNumber      = "MRM1403030766625",
                Name             = "International Textless",
                ActualLength     = 0.10m,
                IsActiveFlag     = true
            };
            DeliverableDate deliverableDate1 = new DeliverableDate()
            {
                Id            = 1,
                DeliverableId = 140000
            };
            DeliverableDate deliverableDate2 = new DeliverableDate()
            {
                Id            = 2,
                DeliverableId = 140000
            };

            DeliverableDateType deliverableDateType1 = new DeliverableDateType()
            {
                Id   = 1,
                Code = "FPA"
            };

            DeliverableDateType deliverableDateType2 = new DeliverableDateType()
            {
                Id   = 2,
                Code = "DEL"
            };

            FPADate.DeliverableDateType = deliverableDateType1;
            DueDate.DeliverableDateType = deliverableDateType2;
            Model.Deliverable testDeliverable = new Model.Deliverable()
            {
                Id = 140000,
                DeliverableTypeId     = 94,    //Affiliate Marketing
                ProducingDepartmentId = 84,    //MRM Team
                Name = "Disney Channel Video Deliverable",
                DeliverableGroupId        = 2, //Video
                DeliverableGroup          = testDeliverableGroup,
                Channel                   = testChannel,
                DeliverableStatusId       = 3,
                PlannedLengthId           = 10,
                ClipDeliverMasterVendorId = 418
            };
            testDeliverable.PrimaryDeliverableBudgetUniqueID = DeliverableBudgetUniqueID1;
            testDeliverable.DeliverableDate = deliverableDateList;
            DeliverableStatus deliverableStatus = new DeliverableStatus()
            {
                Id   = 2,
                Code = "INPCC",
                Name = "In Process"
            };
            testDeliverable.DeliverableStatus = deliverableStatus;

            DeliverableBudget deliverableBud1 = new DeliverableBudget()
            {
                Id             = 1,
                DeliverableId  = 140000,
                MasterVendorId = 12
            };
            deliverableBud1.DeliverableBudgetUniqueID = DeliverableBudgetUniqueID1;
            deliverableBud1.WBSElement = wbsElement1;

            DeliverableBudget deliverableBud2 = new DeliverableBudget()
            {
                Id             = 2,
                DeliverableId  = 140000,
                MasterVendorId = 25
            };
            deliverableBud2.DeliverableBudgetUniqueID = DeliverableBudgetUniqueID2;
            deliverableBud2.WBSElement = wbsElement2;

            List <DeliverableBudget> deliverableBudgetList = new List <DeliverableBudget>();
            deliverableBudgetList.Add(deliverableBud1);
            deliverableBudgetList.Add(deliverableBud2);

            testDeliverable.DeliverableBudget = deliverableBudgetList;

            ProductionMethodType productionMethodType1 = new ProductionMethodType()
            {
                Id = 1, Code = "PH", Name = "Post House"
            };
            ProductionMethodType productionMethodType2 = new ProductionMethodType()
            {
                Id = 2, Code = "CS", Name = "Creative Services"
            };

            List <ProductionMethodType> productionMethodTypeList = new List <ProductionMethodType>();
            productionMethodTypeList.Add(productionMethodType1);
            productionMethodTypeList.Add(productionMethodType2);

            List <int> pmoList = new List <int>();
            pmoList.Add(productionMethodTypeList.ElementAt(0).Id);
            pmoList.Add(productionMethodTypeList.ElementAt(1).Id);

            List <DeliverableDate> deldates = new List <DeliverableDate>();
            deldates.Add(FPADate);
            deldates.Add(DueDate);
            testDeliverable.DeliverableDate = deldates;

            List <TrackElement> lstTrk = new List <TrackElement>();
            lstTrk.Add(trk1);
            lstTrk.Add(trk2);
            testDeliverable.TrackElement = lstTrk;

            DeliverableBudgetViewModel deliverableBudget1 = new DeliverableBudgetViewModel()
            {
                DeliverableId             = 140000,
                WBSNumber                 = "123456.123.001",
                MasterVendorId            = 10,
                isPrimary                 = true,
                TowId                     = 1,
                BudgetTypeId              = 3,
                FiscalYearId              = 2016,
                BudgetGroupId             = 55,
                DeliverableBudgetId       = 1,
                UserId                    = 852,
                DeliverableBudgetUniqueID = DeliverableBudgetUniqueID1
            };
            deliverableBudget1.ProductionMethodTypeIds = pmoList;

            DeliverableBudgetViewModel deliverableBudget2 = new DeliverableBudgetViewModel()
            {
                DeliverableId             = 140000,
                MasterVendorId            = 15,
                isPrimary                 = false,
                TowId                     = 2,
                BudgetTypeId              = 4,
                FiscalYearId              = 2016,
                BudgetGroupId             = 77,
                DeliverableBudgetId       = 2,
                DeliverableBudgetUniqueID = DeliverableBudgetUniqueID2
            };
            deliverableBudget2.ProductionMethodTypeIds = pmoList;

            List <DeliverableBudgetViewModel> deliverableBudgetViewModelList = new List <DeliverableBudgetViewModel>();
            deliverableBudgetViewModelList.Add(deliverableBudget1);
            deliverableBudgetViewModelList.Add(deliverableBudget2);

            DeliverableMultiWBSModel deliverableMultiWBSModel = new DeliverableMultiWBSModel()
            {
                DeliverableId = 140000,
                PrimaryDeliverableBudgetUniqueID = DeliverableBudgetUniqueID1,
                IsLaunchFlag = false
            };
            deliverableMultiWBSModel.Budgets = deliverableBudgetList;

            DeliverableMultiWBSViewModel deliverableMultiWBSViewModel = new DeliverableMultiWBSViewModel()
            {
                DeliverableId       = 140000,
                InitialBudgetAmount = 99,
                IsLaunchFlag        = true,
                PrimaryDeliverableBudgetUniqueID = DeliverableBudgetUniqueID1,
                ClipDeliverMasterVendorId        = 100,
                ProducingDepartmentId            = 108,
                MarketingGroupChannelId          = 1,
                Budgets = deliverableBudgetViewModelList,
            };
            deliverableMultiWBSViewModel.Budgets = deliverableBudgetViewModelList;

            Deliverable_WBSElement deliverable_WBSElement = new Deliverable_WBSElement()
            {
                DeliverableId = 14000,
                Id            = 1,
            };

            deliverable_WBSElement.Deliverable = testDeliverable;
            MasterVendor masterVendor = new MasterVendor()
            {
                Id               = 1,
                SAPVendorId      = 25,
                MediatorVendorId = "795"
            };
            PromoPlacementBody promoPlacementBody       = new PromoPlacementBody();
            PromoPlacementBody promoPlacementBodyResult = new PromoPlacementBody();
            #endregion

            #region Mapper
            Mapper.CreateMap <Model.Deliverable, PromoPlacementBody>()
            .ForMember(i => i.ChannelCode, m => m.MapFrom(d => d.Channel.Code))
            .ForMember(i => i.DeliverableId, m => m.MapFrom(d => d.Id))
            .ForMember(i => i.DeliverableName, m => m.MapFrom(d => d.Name))
            .ForMember(i => i.DeliverableStatusCode, m => m.MapFrom(d => d.DeliverableStatus.Code))
            .ForMember(i => i.DeliverableTargetCode, m => m.MapFrom(d => d.Channel1.Code))
            .ForMember(i => i.DeliverableTypeCode, m => m.MapFrom(d => d.DeliverableType.Code))
            .ForMember(i => i.IsOffAir, m => m.MapFrom(d => d.IsOffChannelFlag))
            .ForMember(i => i.FinalDueDate,
                       m =>
                       m.MapFrom(
                           d =>
                           d.DeliverableDate.FirstOrDefault(
                               i => i.DeliverableDateType.Code == Core.Constants.DeliverableDateType.Final_Due)
                           .DateValue))
            .ForMember(i => i.FirstPromoAirDate,
                       m =>
                       m.MapFrom(
                           d =>
                           d.DeliverableDate.FirstOrDefault(
                               i =>
                               i.DeliverableDateType.Code ==
                               Core.Constants.DeliverableDateType.FirstPromotionalAirDate).DateValue))
            .ForMember(i => i.IsReissue, m => m.MapFrom(d => d.IsReIssueFlag))
            //Updated for MRM-213
            .ForMember(i => i.TOWId, m => m.MapFrom(d => d.DeliverableBudget.Where(x => x.DeliverableBudgetUniqueID == d.PrimaryDeliverableBudgetUniqueID).FirstOrDefault().WBSElement.TypeOfWorkId.Value))
            .ForMember(i => i.TOWName, m => m.MapFrom(d => d.DeliverableBudget.Where(x => x.DeliverableBudgetUniqueID == d.PrimaryDeliverableBudgetUniqueID).FirstOrDefault().WBSElement.TypeOfWork.Name))
            .ForMember(i => i.WBSNumber, m => m.MapFrom(d => FormatWBS(d.DeliverableBudget.Where(x => x.DeliverableBudgetUniqueID == d.PrimaryDeliverableBudgetUniqueID).FirstOrDefault())))
            .ForMember(i => i.WriterProducer,
                       m => m.MapFrom(d => FormatOwnerName(Core.Constants.UserTitle.WriterProducer, d) == string.Empty
                        ? FormatOwnerName(Core.Constants.UserTitle.ProductionManager, d)
                        : FormatOwnerName(Core.Constants.UserTitle.WriterProducer, d)))

            .ForMember(i => i.WriterProducerId,
                       m => m.MapFrom(d => FormatNetworkLogin(Core.Constants.UserTitle.WriterProducer, d) == string.Empty
                        ? FormatOwnerName(Core.Constants.UserTitle.ProductionManager, d)
                        : FormatNetworkLogin(Core.Constants.UserTitle.WriterProducer, d)));

            #endregion

            #region Mocking
            mockDeliverableServiceV2.Setup(x => x.GetMasterVendorById(It.IsAny <int>()))
            .Returns(masterVendor);         // Check for MediatorVendorId for SAP Vendor ID -- logic in GetVendorSAP() in IntergrationManager.cs
            mockIntegrationService.Setup(x => x.GetCommentsForDeliverable(It.IsAny <int>()))
            .Returns(new List <Comment>());
            mockIntegrationService.Setup(x => x.GetTargetPlatforms(It.IsAny <List <int> >()))
            .Returns(new List <TargetPlatform>());
            #endregion

            #region Service
            promoPlacementBody = Mapper.Map <Model.Deliverable, PromoPlacementBody>(testDeliverable);
            var integrationMock = new IntergrationManagerMock(deliverableV2Service: mockDeliverableServiceV2.Object, intergrationService: mockIntegrationService.Object);
            promoPlacementBodyResult = integrationMock.GetPromoPlacementForAssetManagement(testDeliverable, "SWNA\\TestLogin");
            #endregion

            #region Assert
            Assert.IsFalse(promoPlacementBodyResult == null);
            Assert.IsTrue(promoPlacementBodyResult.DeliverableStatusCode == "INPCC");
            Assert.IsTrue(promoPlacementBodyResult.VendorNumber == masterVendor.MediatorVendorId);
            Assert.IsTrue(promoPlacementBodyResult.TOWName == typeOfWork1.Name);
            Assert.IsTrue(promoPlacementBodyResult.WBSNumber == wbsElement1.FullWBSNumber);
            #endregion
        }
        public void GetBudgetActualDetailss_Test()
        {
            #region Data
            TypeOfWork typeOfWork1 = new TypeOfWork()
            {
                Id         = 88,
                FiscalYear = 2016
            };
            WBSElement wBSElement1 = new WBSElement()
            {
                Id         = 4569,
                TypeOfWork = typeOfWork1
            };
            SAPActualsFileRow sAPActualsFileRow1 = new SAPActualsFileRow()
            {
                DocumentNumber      = "55",
                OffsettingAccountNo = "778899",
                NameOfOffsettingAccountGKONT_LTXT = "OffSet 1",
                CostElement            = "CE1",
                CostElementDescription = "CE1 + Desc",
            };
            TypeOfWork typeOfWork2 = new TypeOfWork()
            {
                Id         = 99,
                FiscalYear = 2017
            };
            WBSElement wBSElement2 = new WBSElement()
            {
                Id         = 9657,
                TypeOfWork = typeOfWork2
            };
            SAPActualsFileRow sAPActualsFileRow2 = new SAPActualsFileRow()
            {
                DocumentNumber      = "63",
                OffsettingAccountNo = "112233",
                NameOfOffsettingAccountGKONT_LTXT = "OffSet 2",
                CostElement            = "CE2",
                CostElementDescription = "CE2 + Desc",
            };
            ActualsReconciliation actualsReconciliation1 = new ActualsReconciliation()
            {
                Id                = 1,
                Name              = "Recon 1",
                PostingDate       = DateTime.Now,
                ActualAmount      = 1001,
                SAPActualsFileRow = sAPActualsFileRow1,
                WBSElement        = wBSElement1
            };
            ActualsReconciliation actualsReconciliation2 = new ActualsReconciliation()
            {
                Id                = 2,
                Name              = "Recon 2",
                PostingDate       = DateTime.Now,
                ActualAmount      = 9009,
                SAPActualsFileRow = sAPActualsFileRow2,
                WBSElement        = wBSElement2
            };
            List <ActualsReconciliation> actualsReconciliationList = new List <ActualsReconciliation>();
            actualsReconciliationList.Add(actualsReconciliation1);
            actualsReconciliationList.Add(actualsReconciliation2);
            #endregion

            #region Mock
            mockfinanceservice.Setup(x => x.GetActualsByWBS(It.IsAny <int>()))
            .Returns(actualsReconciliationList);
            mockfinanceservice.Setup(x => x.GetActualsByDeliverableandWBS(It.IsAny <int>(), It.IsAny <int>()))
            .Returns(actualsReconciliationList);
            //Finance Controller Mock
            var FinanceController = new FinanceControllerMock(financeServicee: mockfinanceservice.Object);
            #endregion

            #region Service
            List <BudgetActualsAmountDetailsViewModel> result = FinanceController.GetBudgetActualDetailss(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>());
            #endregion

            #region Assertions
            Assert.IsFalse(result == null);
            Assert.IsTrue(result.ElementAt(0).CostElementGLAccount == "CE1");
            Assert.IsTrue(result.ElementAt(1).CostElementGLAccount == "CE2");
            Assert.IsTrue(result.ElementAt(0).FiscalYear == "2016");
            Assert.IsTrue(result.ElementAt(1).FiscalYear == "2017");
            Assert.IsTrue(result.ElementAt(0).OffsettingAccountName == "OffSet 1");
            Assert.IsTrue(result.ElementAt(1).OffsettingAccountName == "OffSet 2");
            Assert.IsTrue(result.ElementAt(0).SAPDocumentNumber == "55");
            Assert.IsTrue(result.ElementAt(1).SAPDocumentNumber == "63");
            Assert.IsTrue(result.ElementAt(0).OffsettingAccountNumber == "778899");
            Assert.IsTrue(result.ElementAt(1).OffsettingAccountNumber == "112233");
            #endregion
        }