コード例 #1
0
        public DashboardViewModelBuilder(IEnumerable <IViewModelBuilder> viewModelBuilderCollection, IHtmlHelper htmlHelper, IHttpHelper httpHelper, ICookieHelper cookieHelper)
        {
            if (viewModelBuilderCollection == null)
            {
                throw new ArgumentNullException(nameof(viewModelBuilderCollection));
            }
            if (htmlHelper == null)
            {
                throw new ArgumentNullException(nameof(htmlHelper));
            }
            if (httpHelper == null)
            {
                throw new ArgumentNullException(nameof(httpHelper));
            }
            if (cookieHelper == null)
            {
                throw new ArgumentNullException(nameof(cookieHelper));
            }

            IViewModelBuilder[] viewModelBuilderArray = viewModelBuilderCollection.ToArray();

            _newsToInformationViewModelBuilder = viewModelBuilderArray.OfType <IViewModelBuilder <InformationViewModel, INews> >().Single();
            _systemErrorViewModelBuilder       = viewModelBuilderArray.OfType <IViewModelBuilder <SystemErrorViewModel, ISystemError> >().Single();
            _dashboardSettingsViewModelBuilder = viewModelBuilderArray.OfType <IViewModelBuilder <DashboardSettingsViewModel, IDashboardSettings> >().Single();
            _redditAuthenticatedUserToObjectViewModelBuilder = viewModelBuilderArray.OfType <IViewModelBuilder <ObjectViewModel <IRedditAuthenticatedUser>, IRedditAuthenticatedUser> >().Single();
            _redditSubredditToObjectViewModelBuilder         = viewModelBuilderArray.OfType <IViewModelBuilder <ObjectViewModel <IRedditSubreddit>, IRedditSubreddit> >().Single();
            _redditLinkToInformationViewModelBuilder         = viewModelBuilderArray.OfType <IViewModelBuilder <InformationViewModel, IRedditLink> >().Single();
            _htmlHelper   = htmlHelper;
            _httpHelper   = httpHelper;
            _cookieHelper = cookieHelper;
        }
コード例 #2
0
        //
        // GET: /Services/

        public ServicesController(IViewModelBuilder wishListBuilder, IPathBarGenerator pathBarGenerator, IUserMailer userMailer, ISettingManager settingManager)
        {
            this.wishListBuilder  = wishListBuilder;
            this.pathBarGenerator = pathBarGenerator;
            this.userMailer       = userMailer;
            this.settingManager   = settingManager;
        }
コード例 #3
0
        public async Task BuildAsync_WhenCalled_ReturnsInitializedDashboardViewModel()
        {
            List <INews>             newsCollection            = CreateNewsCollection(_random.Next(50, 75)).ToList();
            List <ISystemError>      systemErrorCollection     = CreateSystemErrorCollection(_random.Next(10, 15)).ToList();
            IDashboardSettings       dashboardSettings         = CreateDashboardSettings();
            IRedditAuthenticatedUser redditAuthenticatedUser   = CreateRedditAuthenticatedUser();
            List <IRedditSubreddit>  redditSubredditCollection = CreateRedditSubredditCollection(_random.Next(10, 25)).ToList();
            List <IRedditLink>       redditLinkCollection      = CreateRedditLinkCollection(_random.Next(50, 75)).ToList();
            IDashboard dashboard = CreateDashboard(newsCollection: newsCollection, systemErrorCollection: systemErrorCollection, dashboardSettings: dashboardSettings, redditAuthenticatedUser: redditAuthenticatedUser, redditSubredditCollection: redditSubredditCollection, redditLinkCollection: redditLinkCollection);

            DashboardSettingsViewModel dashboardSettingsViewModel = CreateDashboardSettingsViewModel();
            ObjectViewModel <IRedditAuthenticatedUser>         objectViewModelForRedditAuthenticatedUser = CreateObjectViewModel <IRedditAuthenticatedUser>(redditAuthenticatedUser, DateTime.Now.AddDays(_random.Next(1, 365) * -1).AddMinutes(_random.Next(-120, 120)));
            IViewModelBuilder <DashboardViewModel, IDashboard> sut = CreateSut(dashboardSettingsViewModel: dashboardSettingsViewModel, objectViewModelForRedditAuthenticatedUser: objectViewModelForRedditAuthenticatedUser);

            DashboardViewModel result = await sut.BuildAsync(dashboard);

            Assert.IsNotNull(result);
            Assert.IsNotNull(result.Informations);
            Assert.AreEqual(newsCollection.Count + redditLinkCollection.Count, result.Informations.Count());
            Assert.IsNotNull(result.LatestInformationsWithImage);
            Assert.AreEqual(Math.Min(result.Informations.Count(information => string.IsNullOrWhiteSpace(information.ImageUrl) == false), 7), result.LatestInformationsWithImage.Count());
            Assert.IsNotNull(result.SystemErrors);
            Assert.AreEqual(systemErrorCollection.Count, result.SystemErrors.Count());
            Assert.IsNotNull(result.Settings);
            Assert.AreEqual(dashboardSettingsViewModel, result.Settings);
            Assert.IsNotNull(result.RedditAuthenticatedUser);
            Assert.AreEqual(objectViewModelForRedditAuthenticatedUser, result.RedditAuthenticatedUser);
            Assert.IsNotNull(result.RedditSubreddits);
            Assert.AreEqual(redditSubredditCollection.Count, result.RedditSubreddits.Count());
        }
コード例 #4
0
        public async Task BuildAsync_WhenCalled_AssertReadAsyncWasCalledOnHttpHelperForEachLatestInformationWithImageInDashboard()
        {
            List <INews>       newsCollection       = CreateNewsCollection(_random.Next(50, 75)).ToList();
            List <IRedditLink> redditLinkCollection = CreateRedditLinkCollection(_random.Next(50, 75)).ToList();
            IDashboard         dashboard            = CreateDashboard(newsCollection: newsCollection, redditLinkCollection: redditLinkCollection);

            IViewModelBuilder <DashboardViewModel, IDashboard> sut = CreateSut();

            DashboardViewModel dashboardViewModel = await sut.BuildAsync(dashboard);

            int numberOfInformationWithImage = Math.Min(dashboardViewModel.Informations.Count(information => string.IsNullOrWhiteSpace(information.ImageUrl) == false), 7);

            if (numberOfInformationWithImage > 0)
            {
                _httpHelperMock.Verify(m => m.ReadAsync(It.IsAny <Uri>()), Times.Exactly(numberOfInformationWithImage));
            }
            else
            {
                _httpHelperMock.Verify(m => m.ReadAsync(It.IsAny <Uri>()), Times.Never);
            }

            foreach (ImageViewModel <InformationViewModel> latestInformationWithImage in dashboardViewModel.LatestInformationsWithImage)
            {
                _httpHelperMock.Verify(m => m.ReadAsync(It.Is <Uri>(value => string.Compare(latestInformationWithImage.ViewModel.ImageUrl, value.AbsoluteUri, false) == 0)), Times.Once);
            }
        }
コード例 #5
0
        public async Task BuildAsync_WhenCalledAndRedditLinkToInformationViewModelBuilderThrowsAggregateException_AddsExceptionToSystemViewModelsInDashboardViewModel()
        {
            IEnumerable <INews>            newsCollection            = CreateNewsCollection(0);
            IEnumerable <ISystemError>     systemErrorCollection     = CreateSystemErrorCollection(0);
            IEnumerable <IRedditSubreddit> redditSubredditCollection = CreateRedditSubredditCollection(0);
            IEnumerable <IRedditLink>      redditLinkCollection      = CreateRedditLinkCollection(1);
            IDashboard dashboard = CreateDashboard(newsCollection: newsCollection, systemErrorCollection: systemErrorCollection, redditSubredditCollection: redditSubredditCollection, redditLinkCollection: redditLinkCollection);

            string aggregateExceptionMessage = Guid.NewGuid().ToString();
            IViewModelBuilder <DashboardViewModel, IDashboard> sut = CreateSut(aggregateExceptionMessage: aggregateExceptionMessage);

            DashboardViewModel result = await sut.BuildAsync(dashboard);

            Assert.IsNotNull(result);
            Assert.IsNotNull(result.Informations);
            Assert.AreEqual(0, result.Informations.Count());
            Assert.IsNotNull(result.LatestInformationsWithImage);
            Assert.AreEqual(0, result.LatestInformationsWithImage.Count());
            Assert.IsNotNull(result.SystemErrors);
            Assert.AreEqual(1, result.SystemErrors.Count());
            Assert.IsNull(result.Settings);
            Assert.IsNull(result.RedditAuthenticatedUser);
            Assert.IsNotNull(result.RedditSubreddits);
            Assert.AreEqual(0, result.RedditSubreddits.Count());

            SystemErrorViewModel systemErrorViewModel = result.SystemErrors.First();

            Assert.IsNotNull(systemErrorViewModel);
            Assert.IsNotNull(systemErrorViewModel.SystemErrorIdentifier);
            Assert.IsTrue(systemErrorViewModel.Timestamp >= DateTime.Now.AddSeconds(-3) && systemErrorViewModel.Timestamp <= DateTime.Now);
            Assert.IsNotNull(systemErrorViewModel.Message);
            Assert.AreEqual($"HtmlHelper.ConvertNewLines:{aggregateExceptionMessage}", systemErrorViewModel.Message);
            Assert.IsNotNull(systemErrorViewModel.Details);
        }
コード例 #6
0
 //
 // GET: /Services/
 public ServicesController(IViewModelBuilder wishListBuilder, IPathBarGenerator pathBarGenerator, IUserMailer userMailer,ISettingManager settingManager)
 {
     this.wishListBuilder = wishListBuilder;
     this.pathBarGenerator = pathBarGenerator;
     this.userMailer = userMailer;
     this.settingManager = settingManager;
 }
コード例 #7
0
        public HomeController(IDashboardFactory dashboardFactory, IViewModelBuilder <DashboardViewModel, IDashboard> dashboardViewModelBuilder, IModelExporter <DashboardExportModel, IDashboard> dashboardModelExporter, IRedditAccessTokenProviderFactory redditAccessTokenProviderFactory, IContentHelper contentHelper, ICookieHelper cookieHelper)
        {
            if (dashboardFactory == null)
            {
                throw new ArgumentNullException(nameof(dashboardFactory));
            }
            if (dashboardViewModelBuilder == null)
            {
                throw new ArgumentNullException(nameof(dashboardViewModelBuilder));
            }
            if (dashboardModelExporter == null)
            {
                throw new ArgumentNullException(nameof(dashboardModelExporter));
            }
            if (redditAccessTokenProviderFactory == null)
            {
                throw new ArgumentNullException(nameof(redditAccessTokenProviderFactory));
            }
            if (contentHelper == null)
            {
                throw new ArgumentNullException(nameof(contentHelper));
            }
            if (cookieHelper == null)
            {
                throw new ArgumentNullException(nameof(cookieHelper));
            }

            _dashboardFactory                 = dashboardFactory;
            _dashboardViewModelBuilder        = dashboardViewModelBuilder;
            _dashboardModelExporter           = dashboardModelExporter;
            _redditAccessTokenProviderFactory = redditAccessTokenProviderFactory;
            _contentHelper = contentHelper;
            _cookieHelper  = cookieHelper;
        }
コード例 #8
0
        public async Task BuildAsync_WhenCalled_ReturnsInitializedObjectViewModel()
        {
            string           identifier              = Guid.NewGuid().ToString("D");
            DateTime         createdTime             = DateTime.Now.AddDays(_random.Next(1, 365) * -1).AddMinutes(_random.Next(-120, 120));
            string           displayNamePrefixed     = Guid.NewGuid().ToString("D");
            string           publicDescriptionAsText = _random.Next(1, 100) > 50 ? Guid.NewGuid().ToString() : null;
            long             subscribers             = _random.Next(2500, 5000);
            Uri              url             = _random.Next(1, 100) > 50 ? new Uri($"http://locahost/{Guid.NewGuid().ToString("D")}") : null;
            Uri              bannerImageUrl  = _random.Next(1, 100) > 50 ? new Uri($"http://locahost/{Guid.NewGuid().ToString("D")}.png") : null;
            Uri              headerImageUrl  = _random.Next(1, 100) > 50 ? new Uri($"http://locahost/{Guid.NewGuid().ToString("D")}.png") : null;
            IRedditSubreddit redditSubreddit = CreateRedditSubreddit(identifier, createdTime, displayNamePrefixed, publicDescriptionAsText, subscribers, url, bannerImageUrl, headerImageUrl);

            IViewModelBuilder <ObjectViewModel <IRedditSubreddit>, IRedditSubreddit> sut = CreateSut();

            ObjectViewModel <IRedditSubreddit> result = await sut.BuildAsync(redditSubreddit);

            Assert.IsNotNull(result);
            Assert.IsNotNull(result.ObjectIdentifier);
            Assert.AreEqual(identifier, result.ObjectIdentifier);
            Assert.IsNotNull(result.Object);
            Assert.AreEqual(redditSubreddit, result.Object);
            Assert.AreEqual(createdTime, result.Timestamp);
            Assert.IsNotNull(result.Html);
            Assert.AreEqual(GetExpectedHtml(displayNamePrefixed, publicDescriptionAsText, subscribers, url, bannerImageUrl ?? headerImageUrl), result.Html);
        }
コード例 #9
0
        public MainViewModel(IViewModelBuilder viewModelBuilder)
        {
            _viewModelBuilder       = viewModelBuilder;
            ClientCommandViewModels = new ObservableCollection <ClientCommandViewModel>();

            Messenger.Default.Register <OpenNewCommandViewModelMessage>(this, OpenNewCommandViewModelMessageReceived);
            Messenger.Default.Register <CloseCommandViewModelMessage>(this, CloseCommandViewModelMessageReceived);
        }
コード例 #10
0
        public MainViewModel(IViewModelBuilder viewModelBuilder)
        {
            _viewModelBuilder = viewModelBuilder;
            ClientCommandViewModels = new ObservableCollection<ClientCommandViewModel>();

            Messenger.Default.Register<OpenNewCommandViewModelMessage>(this, OpenNewCommandViewModelMessageReceived);
            Messenger.Default.Register<CloseCommandViewModelMessage>(this, CloseCommandViewModelMessageReceived);
        }
コード例 #11
0
 public RegisterSurfaceController(
     IAccountService accountService,
     IViewModelBuilder<TrocaBolasUser, RegisterViewModel> viewModelBuilder,
     IDomainBuilder<RegisterViewModel, TrocaBolasUser> domainBuilder)
 {
     _accountService = accountService;
     _domainBuilder = domainBuilder;
     _viewModelBuilder = viewModelBuilder;
 }
コード例 #12
0
        public async Task BuildAsync_WhenCalled_AssertIncludeNsfwContentWasCalledOnDashboardSettings()
        {
            Mock <IDashboardSettings> dashboardSettingsMock = CreateDashboardSettingsMock();

            IViewModelBuilder <DashboardSettingsViewModel, IDashboardSettings> sut = CreateSut();

            await sut.BuildAsync(dashboardSettingsMock.Object);

            dashboardSettingsMock.Verify(m => m.IncludeNsfwContent, Times.Once());
        }
コード例 #13
0
        public async Task BuildAsync_WhenCalled_AssertSubredditWasCalledOnRedditLink()
        {
            Mock <IRedditLink> redditLinkMock = CreateRedditLinkMock();

            IViewModelBuilder <InformationViewModel, IRedditLink> sut = CreateSut();

            await sut.BuildAsync(redditLinkMock.Object);

            redditLinkMock.Verify(m => m.Subreddit, Times.Once);
        }
コード例 #14
0
        public async Task BuildAsync_WhenCalled_AssertInformationWasCalledOnNews()
        {
            Mock <INews> newsMock = CreateNewsMock();

            IViewModelBuilder <InformationViewModel, INews> sut = CreateSut();

            await sut.BuildAsync(newsMock.Object);

            newsMock.Verify(m => m.Information, Times.Once);
        }
コード例 #15
0
        public async Task BuildAsync_WhenCalled_AssertUrlWasCalledOnRedditSubreddit()
        {
            Mock <IRedditSubreddit> redditSubredditMock = CreateRedditSubredditMock();

            IViewModelBuilder <ObjectViewModel <IRedditSubreddit>, IRedditSubreddit> sut = CreateSut();

            await sut.BuildAsync(redditSubredditMock.Object);

            redditSubredditMock.Verify(m => m.Url, Times.Once);
        }
コード例 #16
0
        public async Task BuildAsync_WhenCalled_AssertDetailsWasCalledOnSystemError()
        {
            Mock <ISystemError> systemErrorMock = CreateSystemErrorMock();

            IViewModelBuilder <SystemErrorViewModel, ISystemError> sut = CreateSut();

            await sut.BuildAsync(systemErrorMock.Object);

            systemErrorMock.Verify(m => m.Details, Times.Once);
        }
コード例 #17
0
        public async Task BuildAsync_WhenCalled_AssertRedditAccessTokenWasCalledOnDashboardSettings()
        {
            Mock <IDashboardSettings> dashboardSettingsMock = CreateDashboardSettingsMock();

            IViewModelBuilder <DashboardSettingsViewModel, IDashboardSettings> sut = CreateSut();

            await sut.BuildAsync(dashboardSettingsMock.Object);

            dashboardSettingsMock.Verify(m => m.RedditAccessToken, Times.Once());
        }
コード例 #18
0
        public async Task BuildAsync_WhenCalled_AssertSystemErrorsWasCalledOnDashboardOnce()
        {
            Mock <IDashboard> dashboardMock = CreateDashboardMock();

            IViewModelBuilder <DashboardViewModel, IDashboard> sut = CreateSut();

            await sut.BuildAsync(dashboardMock.Object);

            dashboardMock.Verify(m => m.SystemErrors, Times.Once);
        }
コード例 #19
0
        public async Task BuildAsync_WhenCalledWhereNewsHasAuthor_AssertNameWasCalledOnAuthor()
        {
            Mock <IAuthor> authorMock = CreateAuthorMock();
            INews          news       = CreateNews(author: authorMock.Object);

            IViewModelBuilder <InformationViewModel, INews> sut = CreateSut();

            await sut.BuildAsync(news);

            authorMock.Verify(m => m.Name, Times.Once);
        }
コード例 #20
0
        public async Task BuildAsync_WhenCalled_AssertConvertWasCalledOnHtmlHelperWithInformation()
        {
            string information = Guid.NewGuid().ToString("D");
            INews  news        = CreateNews(information: information);

            IViewModelBuilder <InformationViewModel, INews> sut = CreateSut();

            await sut.BuildAsync(news);

            _htmlHelperMock.Verify(m => m.Convert(It.Is <string>(value => value == information), It.Is <bool>(value => value == false), It.Is <bool>(value => value == true)), Times.Once);
        }
コード例 #21
0
        public async Task BuildAsync_WhenCalledWhereRedditSubredditHasBannerImageUrl_AssertHeaderImageUrlWasNotCalledOnRedditSubreddit()
        {
            Uri bannerImageUrl = new Uri($"http://locahost/{Guid.NewGuid().ToString("D")}.png");
            Mock <IRedditSubreddit> redditSubredditMock = CreateRedditSubredditMock(bannerImageUrl: bannerImageUrl);

            IViewModelBuilder <ObjectViewModel <IRedditSubreddit>, IRedditSubreddit> sut = CreateSut();

            await sut.BuildAsync(redditSubredditMock.Object);

            redditSubredditMock.Verify(m => m.HeaderImageUrl, Times.Never);
        }
コード例 #22
0
        public async Task BuildAsync_WhenCalled_AssertBuildAsyncWasCalledOnDashboardSettingsViewModelBuilderWithSettingsInDashboard()
        {
            IDashboardSettings dashboardSettings = CreateDashboardSettings();
            IDashboard         dashboard         = CreateDashboard(dashboardSettings: dashboardSettings);

            IViewModelBuilder <DashboardViewModel, IDashboard> sut = CreateSut();

            await sut.BuildAsync(dashboard);

            _dashboardSettingsViewModelBuilderMock.Verify(m => m.BuildAsync(It.Is <IDashboardSettings>(value => value == dashboardSettings)), Times.Once);
        }
コード例 #23
0
        public async Task BuildAsync_WhenCalled_AssertRedditAuthenticatedUserWasCalledOnDashboardOnce()
        {
            IRedditAuthenticatedUser redditAuthenticatedUser = CreateRedditAuthenticatedUser();
            Mock <IDashboard>        dashboardMock           = CreateDashboardMock(redditAuthenticatedUser: redditAuthenticatedUser);

            IViewModelBuilder <DashboardViewModel, IDashboard> sut = CreateSut();

            await sut.BuildAsync(dashboardMock.Object);

            dashboardMock.Verify(m => m.RedditAuthenticatedUser, Times.Once);
        }
コード例 #24
0
        public async Task BuildAsync_WhenCalled_AssertBuildAsyncWasCalledOnNewsToInformationViewModelBuilderForEachNewsInDashboard()
        {
            List <INews> newsCollection = CreateNewsCollection(_random.Next(50, 75)).ToList();
            IDashboard   dashboard      = CreateDashboard(newsCollection: newsCollection);

            IViewModelBuilder <DashboardViewModel, IDashboard> sut = CreateSut();

            await sut.BuildAsync(dashboard);

            newsCollection.ForEach(news => _newsToInformationViewModelBuilderMock.Verify(m => m.BuildAsync(It.Is <INews>(value => value == news)), Times.Once));
        }
コード例 #25
0
        public async Task BuildAsync_WhenCalledWithRedditLinkWithRedditSubreddit_AssertDisplayNamePrefixedWasCalledOnRedditSubreddit()
        {
            Mock <IRedditSubreddit> redditSubredditMock = CreateRedditSubredditMock(Guid.NewGuid().ToString("D"));
            IRedditLink             redditLink          = CreateRedditLink(redditSubreddit: redditSubredditMock.Object);

            IViewModelBuilder <InformationViewModel, IRedditLink> sut = CreateSut();

            await sut.BuildAsync(redditLink);

            redditSubredditMock.Verify(m => m.DisplayNamePrefixed, Times.Once);
        }
コード例 #26
0
        public async Task BuildAsync_WhenCalledWhereRedditSubredditDoesNotHaveBannerImageUrl_AssertHeaderImageUrlWasCalledOnRedditSubreddit()
        {
            const Uri bannerImageUrl = null;
            Mock <IRedditSubreddit> redditSubredditMock = CreateRedditSubredditMock(bannerImageUrl: bannerImageUrl);

            IViewModelBuilder <ObjectViewModel <IRedditSubreddit>, IRedditSubreddit> sut = CreateSut();

            await sut.BuildAsync(redditSubredditMock.Object);

            redditSubredditMock.Verify(m => m.HeaderImageUrl, Times.Once);
        }
コード例 #27
0
        public async Task BuildAsync_WhenCalledWithRedditLinkWhereImagesIsNull_AssertThumbnailUrlWasCalledOnRedditLink()
        {
            const IEnumerable <IRedditImage> redditImages = null;
            Mock <IRedditLink> redditLinkMock             = CreateRedditLinkMock(redditImages: redditImages);

            IViewModelBuilder <InformationViewModel, IRedditLink> sut = CreateSut();

            await sut.BuildAsync(redditLinkMock.Object);

            redditLinkMock.Verify(m => m.ThumbnailUrl, Times.Once);
        }
コード例 #28
0
        public async Task BuildAsync_WhenCalled_AssertBuildAsyncWasCalledOnSystemErrorViewModelBuilderForEachSystemErrorInDashboard()
        {
            List <ISystemError> systemErrorCollection = CreateSystemErrorCollection(_random.Next(50, 75)).ToList();
            IDashboard          dashboard             = CreateDashboard(systemErrorCollection: systemErrorCollection);

            IViewModelBuilder <DashboardViewModel, IDashboard> sut = CreateSut();

            await sut.BuildAsync(dashboard);

            systemErrorCollection.ForEach(systemError => _systemErrorViewModelBuilderMock.Verify(m => m.BuildAsync(It.Is <ISystemError>(value => value == systemError)), Times.Once));
        }
コード例 #29
0
        public async Task BuildAsync_WhenCalled_AssertSettingsWasCalledOnDashboardOnce()
        {
            IDashboardSettings dashboardSettings = CreateDashboardSettings();
            Mock <IDashboard>  dashboardMock     = CreateDashboardMock(dashboardSettings: dashboardSettings);

            IViewModelBuilder <DashboardViewModel, IDashboard> sut = CreateSut();

            await sut.BuildAsync(dashboardMock.Object);

            dashboardMock.Verify(m => m.Settings, Times.Once);
        }
コード例 #30
0
        public async Task BuildAsync_WhenCalled_AssertBuildAsyncWasCalledOnRedditLinkToInformationViewModelBuilderForEachRedditLinkInDashboard()
        {
            List <IRedditLink> redditLinkCollection = CreateRedditLinkCollection(_random.Next(50, 75)).ToList();
            IDashboard         dashboard            = CreateDashboard(redditLinkCollection: redditLinkCollection);

            IViewModelBuilder <DashboardViewModel, IDashboard> sut = CreateSut();

            await sut.BuildAsync(dashboard);

            redditLinkCollection.ForEach(redditLink => _redditLinkToInformationViewModelBuilderMock.Verify(m => m.BuildAsync(It.Is <IRedditLink>(value => value == redditLink)), Times.Once));
        }
コード例 #31
0
        public async Task BuildAsync_WhenCalled_AssertBuildAsyncWasCalledOnRedditAuthenticatedUserToObjectViewModelBuilderWithRedditAuthenticatedUserInDashboard()
        {
            IRedditAuthenticatedUser redditAuthenticatedUser = CreateRedditAuthenticatedUser();
            IDashboard dashboard = CreateDashboard(redditAuthenticatedUser: redditAuthenticatedUser);

            IViewModelBuilder <DashboardViewModel, IDashboard> sut = CreateSut();

            await sut.BuildAsync(dashboard);

            _redditAuthenticatedUserToObjectViewModelBuilderMock.Verify(m => m.BuildAsync(It.Is <IRedditAuthenticatedUser>(value => value == redditAuthenticatedUser)), Times.Once);
        }
コード例 #32
0
        public async Task BuildAsync_WhenCalledWithRedditLinkWhereImagesIsNotEmpty_AssertThumbnailUrlWasNotCalledOnRedditLink()
        {
            IEnumerable <IRedditImage> redditImages   = CreateRedditImageCollection();
            Mock <IRedditLink>         redditLinkMock = CreateRedditLinkMock(redditImages: redditImages);

            IViewModelBuilder <InformationViewModel, IRedditLink> sut = CreateSut();

            await sut.BuildAsync(redditLinkMock.Object);

            redditLinkMock.Verify(m => m.ThumbnailUrl, Times.Never);
        }
コード例 #33
0
        public async Task BuildAsync_WhenCalledWhereRedditAccessTokenIsNotNull_AssertToBase64WasCalledOnRedditAccessToken()
        {
            Mock <IRedditAccessToken> redditAccessTokenMock = CreateRedditAccessTokenMock();
            IDashboardSettings        dashboardSettings     = CreateDashboardSettings(redditAccessToken: redditAccessTokenMock.Object);

            IViewModelBuilder <DashboardSettingsViewModel, IDashboardSettings> sut = CreateSut();

            await sut.BuildAsync(dashboardSettings);

            redditAccessTokenMock.Verify(m => m.ToBase64(), Times.Once());
        }
コード例 #34
0
 public ResourcesController(IMembershipService membershipService,
                            IBlobStore blobStore, IViewRepository<FileEditModelSync> viewRepository,
                            IViewModelBuilder<FileEditModelSync> modelBuilder, IEntityConverter<DocumentSubcategory, CategoryEditModel> catConverter, 
                            IModelConverter<SharedDocument, FileEditModelSync> fileModelConverter, IViewRepository<UserProcedurePatientDocViewModel> patientDocViewRepository, 
                            IFileService fileService, IUnitOfWork unitOfWork) : base(membershipService, blobStore)
 {
     _viewRepository = viewRepository;
     _modelBuilder = modelBuilder;
     _catConverter = catConverter;
     _fileModelConverter = fileModelConverter;
     _patientDocViewRepository = patientDocViewRepository;
     _fileService = fileService;
     _unitOfWork = unitOfWork;
 }
コード例 #35
0
        public UserAdminstrationService(IUserRepository userRepository, IRoleRepository roleRepository, UbikUserManager<UbikUser> userManager, UbikRoleManager<UbikRole> roleManager, IViewModelCommand<RoleSaveModel> roleCommand, IViewModelCommand<NewUserSaveModel> newUserCommand, IDbContextScopeFactory dbContextScopeFactory, IEnumerable<IResourceAuthProvider> authProviders, ICacheProvider cache, IViewModelCommand<UserSaveModel> userCommand)
        {
            _userRepo = userRepository;
            _roleRepo = roleRepository;
            _userManager = userManager;
            _roleManager = roleManager;
            _roleCommand = roleCommand;
            _newUserCommand = newUserCommand;
            _dbContextScopeFactory = dbContextScopeFactory;
            _authProviders = authProviders;
            _cache = cache;
            _userCommand = userCommand;

            _userBuilder = new UserViewModelBuilder(RoleViewModels);
            _newUserBuilder = new NewUserViewModelBuilder(RoleViewModels);
            _roleBuilder = new RoleViewModelBuilder(RoleViewModels);
        }
コード例 #36
0
 public RegisterSurfaceController()
 {
     _accountService = new AccountService();
     _domainBuilder = new TrocaBolasUserDomainBuilder(_accountService);
     _viewModelBuilder = new RegisterViewModelBuilder(_accountService);
 }