Пример #1
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;
        }
        public async Task BuildAsync_WhenCalled_AssertGetSystemErrorsAsyncWasCalledOnSystemErrorLogic()
        {
            IDashboardSettings dashboardSettings = CreateDashboardSettings();

            IDashboardFactory sut = CreateSut(dashboardContentBuilder3ShouldBuild: false);

            await sut.BuildAsync(dashboardSettings);

            _systemErrorLogic.Verify(m => m.GetSystemErrorsAsync(), Times.Once);
        }
        public async Task BuildAsync_WhenCalledAndExceptionOccurs_AssertGetSystemErrorsAsyncWasCalledOnSystemErrorLogic()
        {
            IDashboardSettings dashboardSettings = CreateDashboardSettings();

            Exception         exception = new Exception();
            IDashboardFactory sut       = CreateSut(provokeException: exception);

            await sut.BuildAsync(dashboardSettings);

            _systemErrorLogic.Verify(m => m.GetSystemErrorsAsync(), Times.Once);
        }
        public async Task BuildAsync_WhenCalledAndExceptionOccurs_AssertHandleAsyncWasCalledOnExceptionHandler()
        {
            IDashboardSettings dashboardSettings = CreateDashboardSettings();

            Exception         exception = new Exception();
            IDashboardFactory sut       = CreateSut(provokeException: exception);

            await sut.BuildAsync(dashboardSettings);

            _exceptionHandlerMock.Verify(m => m.HandleAsync(It.Is <Exception>(ex => ex == exception)), Times.Once);
        }
        public async Task BuildAsync_WhenCalled_AssertShouldBuildWasCalledOnEachDashboardContentBuilder()
        {
            IDashboardSettings dashboardSettings = CreateDashboardSettings();

            IDashboardFactory sut = CreateSut();

            await sut.BuildAsync(dashboardSettings);

            _dashboardContentBuilder1Mock.Verify(m => m.ShouldBuild(It.Is <IDashboardSettings>(value => value == dashboardSettings)), Times.Once);
            _dashboardContentBuilder2Mock.Verify(m => m.ShouldBuild(It.Is <IDashboardSettings>(value => value == dashboardSettings)), Times.Once);
            _dashboardContentBuilder3Mock.Verify(m => m.ShouldBuild(It.Is <IDashboardSettings>(value => value == dashboardSettings)), Times.Once);
        }
        public async Task BuildAsync_WhenCalledAndFirstDashboardBuilderShouldNotBuild_AssertBuildAsyncWasNotCalledOnFirstDashboardContentBuilder()
        {
            IDashboardSettings dashboardSettings = CreateDashboardSettings();

            IDashboardFactory sut = CreateSut(dashboardContentBuilder1ShouldBuild: false);

            await sut.BuildAsync(dashboardSettings);

            _dashboardContentBuilder1Mock.Verify(m => m.BuildAsync(
                                                     It.IsAny <IDashboardSettings>(),
                                                     It.IsAny <IDashboard>()),
                                                 Times.Never);
        }
        public async Task BuildAsync_WhenCalled_ReturnsDashboard()
        {
            IDashboardSettings dashboardSettings = CreateDashboardSettings();

            List <ISystemError> systemErrors = BuildSystemErrors(_random.Next(1, 10));
            IDashboardFactory   sut          = CreateSut(systemErrors: systemErrors);

            IDashboard dashboard = await sut.BuildAsync(dashboardSettings);

            Assert.IsNotNull(dashboard);
            Assert.IsNotNull(dashboard.SystemErrors);
            Assert.AreEqual(systemErrors.Count, dashboard.SystemErrors.Count());
            Assert.IsNotNull(dashboard.Settings);
            Assert.AreEqual(dashboardSettings, dashboard.Settings);

            systemErrors.ForEach(systemError => Assert.IsTrue(dashboard.SystemErrors.Contains(systemError)));
        }
Пример #8
0
 public DashboardService(IDashboardFactory factory)
 {
     this._factory = factory;
 }
        public async Task BuildAsync_WhenDashboardSettingsIsNull_ThrowsArgumentNullException()
        {
            IDashboardFactory sut = CreateSut();

            await sut.BuildAsync(null);
        }
 public DashboardController(IDashboardFactory dashboardFactory, ILoggerFactory logger) : base(logger)
 {
     _dashboardFactory = dashboardFactory;
 }