private ChannelService Arrange(ServiceChannelTypeEnum channelType, List <ServiceChannelVersioned> list = null) { var channelList = list ?? _channelList; var publishedChannel = channelList.Where(o => o.PublishingStatusId == PublishedId).FirstOrDefault(); publishedChannel.TypeId = TypeCache.Get <ServiceChannelType>(channelType.ToString()); var id = publishedChannel.Id; unitOfWorkMockSetup.Setup(uw => uw.ApplyIncludes( It.IsAny <IQueryable <ServiceChannelVersioned> >(), It.IsAny <Func <IQueryable <ServiceChannelVersioned>, IQueryable <ServiceChannelVersioned> > >(), It.IsAny <bool>() )).Returns((IQueryable <ServiceChannelVersioned> channelServices, Func <IQueryable <ServiceChannelVersioned>, IQueryable <ServiceChannelVersioned> > func, bool applyFilters) => { return(channelServices); } ); var unitOfWork = unitOfWorkMockSetup.Object; var contextManager = new TestContextManager(unitOfWork, unitOfWork); var serviceUtilities = new ServiceUtilities(UserIdentification, LockingManager, contextManager, UserOrganizationService, VersioningManager, UserInfoService, UserOrganizationChecker); ArrangeTranslationManager(channelType); VersioningManagerMock.Setup(s => s.GetVersionId <ServiceChannelVersioned>(unitOfWork, _publishedChannelRootId, PublishingStatus.Published, true)).Returns(id); // repositories ChannelRepoMock.Setup(g => g.All()).Returns(channelList.AsQueryable()); return(new ChannelService(contextManager, UserIdentification, translationManagerMockSetup.Object, TranslationManagerVModel, Logger, ServiceChannelLogic, serviceUtilities, CommonService, new VmListItemLogic(), DataUtils, new VmOwnerReferenceLogic(), AddressService, CacheManager, PublishingStatusCache, VersioningManager, UserOrganizationChecker, UrlService)); }
private ChannelService Arrange(IVmOpenApiServiceChannelIn vm, ServiceChannelTypeEnum channelType) { var userName = "******"; publishedEntity.TypeId = TypeCache.Get <ServiceChannelType>(channelType.ToString()); unitOfWorkMockSetup.Setup(uw => uw.ApplyIncludes( It.IsAny <IQueryable <ServiceChannelVersioned> >(), It.IsAny <Func <IQueryable <ServiceChannelVersioned>, IQueryable <ServiceChannelVersioned> > >(), It.IsAny <bool>() )).Returns(new List <ServiceChannelVersioned> { publishedEntity }.AsQueryable()); var unitOfWork = unitOfWorkMockSetup.Object; var contextManager = new TestContextManager(unitOfWork, unitOfWork); UserIdentificationMock.Setup(s => s.UserName).Returns(userName); ExternalSourceRepoMock.Setup(s => s.All()) .Returns(new List <ExternalSource>() { new ExternalSource { SourceId = sourceId + "2", RelationId = userName, ObjectType = typeof(Model.Models.ServiceChannel).Name } }.AsQueryable()); // does not return same source id var serviceUtilities = new ServiceUtilities(UserIdentificationMock.Object, LockingManager, contextManager, UserOrganizationService, VersioningManager, UserInfoService, UserOrganizationChecker); translationManagerVModelMockSetup.Setup(t => t.Translate <IVmOpenApiServiceChannelIn, ServiceChannelVersioned>(vm, unitOfWork)) .Returns(publishedEntity); translationManagerVModelMockSetup.Setup(t => t.TranslateAll <VmOpenApiConnection, ServiceServiceChannel>(It.IsAny <List <VmOpenApiConnection> >(), unitOfWork)) .Returns(new List <ServiceServiceChannel>()); ArrangeTranslationManager(channelType); CommonServiceMock.Setup(s => s.PublishAllAvailableLanguageVersions <ServiceChannelVersioned, ServiceChannelLanguageAvailability>(publishedEntity.Id, It.IsAny <Expression <Func <ServiceChannelLanguageAvailability, bool> > >())) .Returns(new PublishingResult()); return(new ChannelService(contextManager, UserIdentification, translationManagerMockSetup.Object, TranslationManagerVModel, Logger, ServiceChannelLogic, serviceUtilities, CommonService, new VmListItemLogic(), DataUtils, new VmOwnerReferenceLogic(), AddressService, CacheManager, PublishingStatusCache, VersioningManager, UserOrganizationChecker, UrlService)); }
internal void ArrangeTranslationManager(ServiceChannelTypeEnum channelType) { translationManagerMockSetup.Setup(t => t.Translate <ServiceChannelVersioned, VmOpenApiElectronicChannelVersionBase>(It.IsAny <ServiceChannelVersioned>())) .Returns((ServiceChannelVersioned entity) => { if (channelType != ServiceChannelTypeEnum.EChannel) { return(new VmOpenApiElectronicChannelVersionBase()); } return(new VmOpenApiElectronicChannelVersionBase() { Id = entity.UnificRootId, PublishingStatus = PublishingStatusCache.GetByValue(entity.PublishingStatusId) }); }); translationManagerMockSetup.Setup(t => t.Translate <ServiceChannelVersioned, VmOpenApiPhoneChannelVersionBase>(It.IsAny <ServiceChannelVersioned>())) .Returns((ServiceChannelVersioned entity) => { if (channelType != ServiceChannelTypeEnum.Phone) { return(new VmOpenApiPhoneChannelVersionBase()); } return(new VmOpenApiPhoneChannelVersionBase() { Id = entity.UnificRootId, PublishingStatus = PublishingStatusCache.GetByValue(entity.PublishingStatusId) }); }); translationManagerMockSetup.Setup(t => t.Translate <ServiceChannelVersioned, VmOpenApiServiceLocationChannelVersionBase>(It.IsAny <ServiceChannelVersioned>())) .Returns((ServiceChannelVersioned entity) => { if (channelType != ServiceChannelTypeEnum.ServiceLocation) { return(new VmOpenApiServiceLocationChannelVersionBase()); } return(new VmOpenApiServiceLocationChannelVersionBase() { Id = entity.UnificRootId, PublishingStatus = PublishingStatusCache.GetByValue(entity.PublishingStatusId) }); }); translationManagerMockSetup.Setup(t => t.Translate <ServiceChannelVersioned, VmOpenApiPrintableFormChannelVersionBase>(It.IsAny <ServiceChannelVersioned>())) .Returns((ServiceChannelVersioned entity) => { if (channelType != ServiceChannelTypeEnum.PrintableForm) { return(new VmOpenApiPrintableFormChannelVersionBase()); } return(new VmOpenApiPrintableFormChannelVersionBase() { Id = entity.UnificRootId, PublishingStatus = PublishingStatusCache.GetByValue(entity.PublishingStatusId) }); }); translationManagerMockSetup.Setup(t => t.Translate <ServiceChannelVersioned, VmOpenApiWebPageChannelVersionBase>(It.IsAny <ServiceChannelVersioned>())) .Returns((ServiceChannelVersioned entity) => { if (channelType != ServiceChannelTypeEnum.WebPage) { return(new VmOpenApiWebPageChannelVersionBase()); } return(new VmOpenApiWebPageChannelVersionBase() { Id = entity.UnificRootId, PublishingStatus = PublishingStatusCache.GetByValue(entity.PublishingStatusId) }); }); }