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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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)
                });
            });
        }