public void Filter_BudgetTypeofWork_Tests() { //Set Data #region Data int typeOfWorkId = 1; int mrmUserId = 25; string networkLogin = "******"; string FY = "2015"; string filter = ""; MRM.DANG.Model.TypeOfWork tow = new MRM.DANG.Model.TypeOfWork { Id = 1, Name = "Test Name", FiscalYear = 2015, TypeOfWorkCategoryId = 10, TypeOfWorkStatus = new TypeOfWorkStatus() }; WBSFiscalYear_Channel wBSFiscalYear_Channel = new WBSFiscalYear_Channel { WBSNumber = "12345.123.234.001" }; //tow.WBSFiscalYear_Channel = wBSFiscalYear_Channel; List <Model.BudgetbyCategoryRollup> rollups = new List <Model.BudgetbyCategoryRollup>(); Model.BudgetbyCategoryRollup rollupOnAir = new Model.BudgetbyCategoryRollup { FiscalYear = 2015, BudgetTypeName = "On Air" }; Model.BudgetbyCategoryRollup rollupOffAir = new Model.BudgetbyCategoryRollup { FiscalYear = 2015, BudgetTypeName = "Off Air" }; Model.BudgetbyCategoryRollup rollupPaidMedia = new Model.BudgetbyCategoryRollup { FiscalYear = 2015, BudgetTypeName = "Paid Media" }; rollups.Add(rollupOnAir); rollups.Add(rollupOffAir); rollups.Add(rollupPaidMedia); List <CategoryBudgetRollupViewModel> BudgetRollUps = new List <CategoryBudgetRollupViewModel>(); CategoryBudgetRollupViewModel budgetRollup = new CategoryBudgetRollupViewModel() { towId = 1 }; BudgetRollUps.Add(budgetRollup); BudgetTypeOfWorkViewModel model = new BudgetTypeOfWorkViewModel(); model.BudgetRollups = BudgetRollUps; #endregion //Mock #region Mock //Budget Service Mock mockbudgetService.Setup(x => x.BudgetTypeOfWork(It.IsAny <int>())).Returns(new MRM.DANG.Model.TypeOfWork()); mockbudgetService.Setup(x => x.BudgetsByCategoryRollup(It.IsAny <int>(), It.IsAny <int>())).Returns(rollups); //TypeofService Mock mocktypeOfWorkRepository.Setup(x => x.GetBudgetTypeOfWorkModel(It.IsAny <int>())).Returns(tow); mocktypeOfWorkRepository.Setup(x => x.GetBudgetPreviousFYTypeOfWorkModel(It.IsAny <int>())).Returns(new PreviousFYTOWCustomModel()); //BudgetByCategoryRollupRepository Service Mock mockBudgetByCategoryRollupRepository.Setup(x => x.BudgetByCategoryRollupForTypeOfWork(It.IsAny <int>(), It.IsAny <int>())).Returns(rollups); var budgetService = new BudgetServiceMock(unitOfWork: null, budget: null, channel: null, userChannel: null, loggerService: null, iTypeOfWork: mocktypeOfWorkRepository.Object, iFamilyProductIssueTowDeliverableRepository: null, budgetByChannel: null, iBudgetTypeTOWRepository: null, budgetByCategory: null , iBudgetByCategoryRollup: mockBudgetByCategoryRollupRepository.Object, _ITypeOfWork_DeliverableCategory: null, _iForecastBudgetTypeCalendarTOWRepository: null, _iCalendarRepository: null, iTypeOfWorkCategoryRepository: null, iWBSFiscalYear_ChannelRepository: null, iBudgetTypeRepository: null); //Budget Controller Mock var BudgetController = new BudgetController(userService: null, loggerService: null, budgetService: budgetService, unitOfWork: null, productService: null, deliverableService: null, deliverableServiceV2: null, propertyService: null); #endregion //Assertions #region Assertions //Assert BudgetService Method Call var towResult = budgetService.BudgetTypeOfWork(typeOfWorkId); mockbudgetService.Verify(); mockBudgetByCategoryRollupRepository.Verify(); //Asserts service calls Assert.IsNotNull(tow); //Result is not Null Assert.AreEqual(tow, towResult); //Asserting the expected return object with dummy data Assert.AreEqual(tow.Id, towResult.Id); //Assert matching the return data with my input //Assert BudgetsByCategoryRollup var rollupResult = budgetService.BudgetsByCategoryRollup(tow.Id); Assert.IsNotNull(rollupResult); Assert.AreEqual(rollups, rollupResult); Assert.AreEqual(rollups.Count(), rollupResult.Count()); //TO Do review Assertions //model = BudgetController.BudgetTypeOfWork(typeOfWorkId, FY, filter, mrmUserId, networkLogin); //Assert.IsNotNull(model); //Assert.AreEqual(model.BudgetRollups.Count(), 4); //Assertions After applying filter //filter = "On Air" + "|" + "" + "|" + "" + "|" + "false"; //Passing test data to filter for OnAir records //model = BudgetController.BudgetTypeOfWork(typeOfWorkId, FY, filter, mrmUserId, networkLogin); //Assert.AreEqual(model.BudgetRollups.Count(), 2); #endregion }
public void Get_TypeOfWork_ViewModel_Tests() { #region Data int typeOfWorkId = 1234; int mrmUserId = 25; string networkLogin = "******"; string Company = "Company 1"; string Business = "Business 1"; var flashSnapshot = new List <FlashSnapshotModel>(); flashSnapshot.Add(new FlashSnapshotModel() { ChannelId = 0, SnapshotType = 0, BudgetId = 0, Name = "Snapshot 1", Year = "2016", Quarter = " " }); var forecasts = new List <TypeOfWorkForecastModel>(); forecasts.Add(new TypeOfWorkForecastModel() { Months = new List <ForecastAmountModel>(), Quarters = new List <QuartersAmountModel>() }); var tow = new MRM.DANG.Model.TypeOfWork { Id = typeOfWorkId, Name = "Test Name", FiscalYear = 2015, TypeOfWorkCategoryId = 10 }; WBSFiscalYear_Channel wBSFiscalYear_Channel = new WBSFiscalYear_Channel { WBSNumber = "12345.123.234.001" }; //tow.WBSFiscalYear_Channel = wBSFiscalYear_Channel; TypeOfWorkModel tOfVm = new TypeOfWorkModel(); tOfVm.ExternalWBS = null; tOfVm.Company = Company; tOfVm.Business = Business; tOfVm.Id = typeOfWorkId; tOfVm.TypeOfWorkForecasts = forecasts; #endregion #region Mock mockbudgetService.Setup(x => x.BudgetTypeOfWork(It.IsAny <int>())).Returns(new MRM.DANG.Model.TypeOfWork()); mockbudgetService.Setup(x => x.BudgetsByCategoryRollup(It.IsAny <int>(), It.IsAny <int>())).Returns(new List <BudgetbyCategoryRollup>()); mockbudgetService.Setup(x => x.GetFiscalYearByIdAndChannel(It.IsAny <int>(), It.IsAny <int>())).Returns(""); mockbudgetService.Setup(x => x.BudgetTowFlashSnapshot(It.IsAny <int>())).Returns(new List <FlashSnapshotModel>()); //TypeofService Mock mocktypeOfWorkRepository.Setup(x => x.GetBudgetTypeOfWorkModel(It.IsAny <int>())).Returns(tow); mocktypeOfWorkRepository.Setup(x => x.GetFiscalYearByIdAndChannel(It.IsAny <int>(), It.IsAny <int>())).Returns(new WBSFiscalYear_Channel() { FiscalYear = "2015" }); mocktypeOfWorkRepository.Setup(x => x.GetRatingList()).Returns(new List <Rating>()); mocktypeOfWorkRepository.Setup(x => x.GetTypeOfWorkCategories()).Returns(new List <TypeOfWorkCategory>()); mocktypeOfWorkRepository.Setup(x => x.GetTypeOfWorkStatusList()).Returns(new List <TypeOfWorkStatus>()); mocktypeOfWorkRepository.Setup(x => x.GetAllFiscalYearList()).Returns(new List <WBSFiscalYear_Channel>()); mocktypeOfWorkRepository.Setup(x => x.GetBudgetTowFlashSnapshot(It.IsAny <int>())).Returns(flashSnapshot); //BudgetByCategoryRollupRepository Service Mock mockBudgetByCategoryRollupRepository.Setup(x => x.BudgetByCategoryRollupForTypeOfWork(It.IsAny <int>(), It.IsAny <int>())).Returns(new List <BudgetbyCategoryRollup>()); var userChannels = new List <MRMUser_Channel>(); userChannels.Add(new MRMUser_Channel() { ChannelId = 1, Channel = new Channel() { Name = "Channel 1" } }); userChannels.Add(new MRMUser_Channel() { ChannelId = 2, Channel = new Channel() { Name = "Channel 2" } }); mocktypeOfWorkRepository.Setup(x => x.GetTypeOfWorkModel(It.IsAny <int>())).Returns(tOfVm); mockUserChannelRepository.Setup(x => x.UserChannels(It.IsAny <int>())).Returns(userChannels); var budgetService = new BudgetServiceMock(userChannel: mockUserChannelRepository.Object, iTypeOfWork: mocktypeOfWorkRepository.Object, iBudgetByCategoryRollup: mockBudgetByCategoryRollupRepository.Object); //Product Service Mock mockProductFamilyRepository.Setup(x => x.GetAll()).Returns(new List <ProductFamily>().AsQueryable <ProductFamily>()); mockproductService.Setup(x => x.GetProductFamilies()).Returns(new List <ProductFamily>()); var productService = new ProductServiceMock(productFamilyRepository: mockProductFamilyRepository.Object); //Deliverable Service Mock mockdeliverableCategoryRepository.Setup(x => x.GetAll()).Returns(new List <DeliverableCategory>().AsQueryable <DeliverableCategory>()); mockdeliverableService.Setup(x => x.GetAllDeliverableCategories()).Returns(new List <DeliverableCategory>()); var deliverableService = new DeliverableServiceMock(deliverableCategoryRepository: mockdeliverableCategoryRepository.Object); var BudgetController = new BudgetController(userService: null, loggerService: null, budgetService: budgetService, unitOfWork: null, productService: productService, deliverableService: deliverableService, deliverableServiceV2: null, propertyService: null); #endregion #region Assertions mockbudgetService.Verify(); mockproductService.Verify(); mockdeliverableService.Verify(); //Verify TOW ViewModel var towModel = budgetService.GetTypeOfWork(typeOfWorkId); Assert.IsNotNull(towModel); Assert.AreEqual(Company, towModel.Company); Assert.AreEqual(Business, towModel.Business); var towtOfVm = BudgetController.GetTypeOfWork(typeOfWorkId, mrmUserId, networkLogin); Assert.IsNotNull(towtOfVm); Assert.AreEqual(Company, towtOfVm.Company); Assert.AreEqual(Business, towtOfVm.Business); //Check Channels Assert.AreEqual(towtOfVm.ChannelList.Count(), 2); //Check Channel 1 var channelListArray = towtOfVm.ChannelList.ToArray <SelectListItem>(); Assert.AreEqual("1", channelListArray[0].Value); Assert.AreEqual("Channel 1", channelListArray[0].Text); //Check Channel 2 Assert.AreEqual("2", channelListArray[1].Value); Assert.AreEqual("Channel 2", channelListArray[1].Text); // Check FlashSnapshot Assert.AreEqual(1, towtOfVm.FlashSnapshot.Count()); Assert.AreEqual("Snapshot 1", towtOfVm.FlashSnapshot[0].Name); Assert.AreEqual("2016", towtOfVm.FlashSnapshot[0].Year); Assert.AreEqual(0, towtOfVm.FlashSnapshot[0].SnapshotType); #endregion }