public async Task BuildAsync_WhenDashboardIsNull_ThrowsArgumentNullException()
        {
            IDashboardSettings dashboardSettings = CreateDashboardSettings();

            IDashboardNewsBuilder sut = CreateSut();

            await sut.BuildAsync(dashboardSettings, null);
        }
示例#2
0
        public void ShouldBuild_WhenCalled_AssertNumberOfNewsWasCalledOnDashboardSettings()
        {
            Mock <IDashboardSettings> dashboardSettingsMock = CreateDashboardSettingsMock();

            IDashboardNewsBuilder sut = CreateSut();

            bool result = sut.ShouldBuild(dashboardSettingsMock.Object);

            dashboardSettingsMock.Verify(m => m.NumberOfNews, Times.Once);
        }
示例#3
0
        public void ShouldBuild_WhenNumberOfNewsInDashboardSettingsIsEqualToZero_ReturnsFalse()
        {
            const int          numberOfNews      = 0;
            IDashboardSettings dashboardSettings = CreateDashboardSettings(numberOfNews);

            IDashboardNewsBuilder sut = CreateSut();

            bool result = sut.ShouldBuild(dashboardSettings);

            Assert.IsFalse(result);
        }
示例#4
0
        public void ShouldBuild_WhenNumberOfNewsInDashboardSettingsIsEqualToZero_AssertOnlyNsfwContentWasNotCalledOnDashboardSettings()
        {
            const int numberOfNews = 0;
            Mock <IDashboardSettings> dashboardSettingsMock = CreateDashboardSettingsMock(numberOfNews);

            IDashboardNewsBuilder sut = CreateSut();

            bool result = sut.ShouldBuild(dashboardSettingsMock.Object);

            dashboardSettingsMock.Verify(m => m.OnlyNsfwContent, Times.Never);
        }
示例#5
0
        public void ShouldBuild_WhenNumberOfNewsInDashboardSettingsIsLowerThanZero_ReturnsFalse()
        {
            int numberOfNews = _random.Next(1, 10) * -1;
            IDashboardSettings dashboardSettings = CreateDashboardSettings(numberOfNews);

            IDashboardNewsBuilder sut = CreateSut();

            bool result = sut.ShouldBuild(dashboardSettings);

            Assert.IsFalse(result);
        }
示例#6
0
        public void ShouldBuild_WhenNumberOfNewsInDashboardSettingsIsLowerThanZero_AssertOnlyNsfwContentWasNotCalledOnDashboardSettings()
        {
            int numberOfNews = _random.Next(1, 10) * -1;
            Mock <IDashboardSettings> dashboardSettingsMock = CreateDashboardSettingsMock(numberOfNews);

            IDashboardNewsBuilder sut = CreateSut();

            bool result = sut.ShouldBuild(dashboardSettingsMock.Object);

            dashboardSettingsMock.Verify(m => m.OnlyNsfwContent, Times.Never);
        }
示例#7
0
        public void ShouldBuild_WhenNumberOfNewsInDashboardSettingsIsGreaterThanZeroAndOnlyNsfwContentInDashboardSettingsIsFalse_ReturnsTrue()
        {
            int                numberOfNews      = _random.Next(1, 10);
            const bool         onlyNsfwContent   = false;
            IDashboardSettings dashboardSettings = CreateDashboardSettings(numberOfNews, onlyNsfwContent);

            IDashboardNewsBuilder sut = CreateSut();

            bool result = sut.ShouldBuild(dashboardSettings);

            Assert.IsTrue(result);
        }
        public async Task BuildAsync_WhenCalledAndExceptionOccurs_AssertHandleAsyncWasCalledOnExceptionHandler()
        {
            IDashboardSettings dashboardSettings = CreateDashboardSettings();
            IDashboard         dashboard         = CreateDashboard();

            Exception             exception = new Exception();
            IDashboardNewsBuilder sut       = CreateSut(provokedException: exception);

            await sut.BuildAsync(dashboardSettings, dashboard);

            _exceptionHandlerMock.Verify(m => m.HandleAsync(It.Is <Exception>(ex => ex == exception)), Times.Once);
        }
        public async Task BuildAsync_WhenCalled_AssertReplaceWasCalledOnDashboardWithNews()
        {
            IEnumerable <INews> news = BuildNews(_random.Next(25, 75));

            IDashboardSettings dashboardSettings = CreateDashboardSettings();
            Mock <IDashboard>  dashboardMock     = CreateDashboardMock();

            IDashboardNewsBuilder sut = CreateSut(news);

            await sut.BuildAsync(dashboardSettings, dashboardMock.Object);

            dashboardMock.Verify(m => m.Replace(It.Is <IEnumerable <INews> >(value => value == news)), Times.Once);
        }
        public async Task BuildAsync_WhenCalled_AssertGetNewsAsyncWasCalledOnNewsLogic()
        {
            int numberOfNews = _random.Next(25, 75);

            IDashboardSettings dashboardSettings = CreateDashboardSettings(numberOfNews);
            IDashboard         dashboard         = CreateDashboard();

            IDashboardNewsBuilder sut = CreateSut();

            await sut.BuildAsync(dashboardSettings, dashboard);

            _newsLogicMock.Verify(m => m.GetNewsAsync(It.Is <int>(value => value == numberOfNews)), Times.Once);
        }
示例#11
0
        public void ShouldBuild_WhenDashboardSettingsIsNull_ThrowsArgumentNullException()
        {
            IDashboardNewsBuilder sut = CreateSut();

            sut.ShouldBuild(null);
        }