Example #1
0
        public async Task When_not_found_user_then_not_added_news_in_database()
        {
            Mock <ICategoryService> categotyService = new Mock <ICategoryService>();
            Mock <INewsService>     newsService     = new Mock <INewsService>();
            Mock <IFeederService>   feederService   = new Mock <IFeederService>();
            Mock <IUserService>     userService     = new Mock <IUserService>();
            Mock <RemoteLoaderFeed> remoteLoader    = new Mock <RemoteLoaderFeed>();

            RSSFeeder feeder = new RSSFeeder(
                remoteLoader.Object,
                categotyService.Object,
                newsService.Object,
                feederService.Object,
                userService.Object
                );

            List <FeedDto> feeds = new List <FeedDto>
            {
                new FeedDto {
                    Id = 1, Link = "first_test", LastNewsDate = DateTime.Now
                }
            };

            feederService.Setup(a => a.GetAll()).Returns(feeds).Verifiable();
            remoteLoader.Setup(a => a.LinkIsValid(feeds[0].Link)).Returns(true).Verifiable();
            remoteLoader.Setup(a => a.GetRemoteFeed(feeds[0].Link)).Returns(new List <IFeedItem>()).Verifiable();
            categotyService.Setup(a => a.GetAll()).Returns(new List <CategoryDto>());
            userService.Setup(a => a.GetAllUsersIds()).Returns(new List <string>());

            await feeder.Run();

            remoteLoader.Verify();
            feederService.Verify();
            newsService.Verify(vl => vl.AddRange(It.IsAny <List <NewsDto> >()), Times.Never);
        }
Example #2
0
        public async Task When_news_not_found_Then_not_go_on()
        {
            Mock <ICategoryService> categotyService = new Mock <ICategoryService>();
            Mock <INewsService>     newsService     = new Mock <INewsService>();
            Mock <IFeederService>   feederService   = new Mock <IFeederService>();
            Mock <IUserService>     userService     = new Mock <IUserService>();
            Mock <RemoteLoaderFeed> remoteLoader    = new Mock <RemoteLoaderFeed>();

            RSSFeeder feeder = new RSSFeeder(
                remoteLoader.Object,
                categotyService.Object,
                newsService.Object,
                feederService.Object,
                userService.Object
                );

            List <IFeedItem> news = new List <IFeedItem>
            {
                new RSSFeedItem
                {
                    Title       = "test_news",
                    Description = "test_description",
                    Categories  = new List <RSSFeedCategory> {
                        new RSSFeedCategory {
                            Value = "test_category"
                        }
                    }
                }
            };

            List <FeedDto> feeds = new List <FeedDto>
            {
                new FeedDto {
                    Id = 1, Link = "first_test", LastNewsDate = DateTime.Now
                },
                new FeedDto {
                    Id = 1, Link = "second_test", LastNewsDate = DateTime.Now
                }
            };

            feederService.Setup(a => a.GetAll()).Returns(feeds).Verifiable();

            remoteLoader.Setup(a => a.LinkIsValid(feeds[0].Link)).Returns(true).Verifiable();
            remoteLoader.Setup(a => a.LinkIsValid(feeds[1].Link)).Returns(false).Verifiable();

            remoteLoader.Setup(a => a.GetRemoteFeed(feeds[0].Link)).Returns(news);

            await feeder.Run();

            remoteLoader.Verify(vl => vl.GetRemoteFeed(feeds[0].Link), Times.Once);
            remoteLoader.Verify(vl => vl.GetRemoteFeed(feeds[1].Link), Times.Never);
        }
Example #3
0
        public async Task When_getnullfeeds_Then_no_check_link()
        {
            Mock <ICategoryService> categotyService = new Mock <ICategoryService>();
            Mock <INewsService>     newsService     = new Mock <INewsService>();
            Mock <IFeederService>   feederService   = new Mock <IFeederService>();
            Mock <IUserService>     userService     = new Mock <IUserService>();
            Mock <RemoteLoaderFeed> remoteLoader    = new Mock <RemoteLoaderFeed>();

            RSSFeeder feeder = new RSSFeeder(
                remoteLoader.Object,
                categotyService.Object,
                newsService.Object,
                feederService.Object,
                userService.Object
                );

            feederService.Setup(a => a.GetAll()).Returns(new List <FeedDto>()).Verifiable();

            await feeder.Run();

            remoteLoader.Verify(vl => vl.LinkIsValid(It.IsAny <string>()), Times.Never);
        }
Example #4
0
        public async Task When_not_found_category_Then_no_create_empty_category()
        {
            Mock <ICategoryService> categotyService = new Mock <ICategoryService>();
            Mock <INewsService>     newsService     = new Mock <INewsService>();
            Mock <IFeederService>   feederService   = new Mock <IFeederService>();
            Mock <IUserService>     userService     = new Mock <IUserService>();
            Mock <RemoteLoaderFeed> remoteLoader    = new Mock <RemoteLoaderFeed>();

            RSSFeeder feeder = new RSSFeeder(
                remoteLoader.Object,
                categotyService.Object,
                newsService.Object,
                feederService.Object,
                userService.Object
                );

            List <IFeedItem> news = new List <IFeedItem>();

            List <FeedDto> feeds = new List <FeedDto>
            {
                new FeedDto {
                    Id = 1, Link = "first_test", LastNewsDate = DateTime.Now
                }
            };

            feederService.Setup(a => a.GetAll()).Returns(feeds).Verifiable();
            remoteLoader.Setup(a => a.LinkIsValid(feeds[0].Link)).Returns(true).Verifiable();
            remoteLoader.Setup(a => a.GetRemoteFeed(feeds[0].Link)).Returns(news);
            categotyService.Setup(a => a.GetAll()).Returns(new List <CategoryDto>());

            await feeder.Run();

            feederService.Verify();
            categotyService.Verify();
            categotyService.Verify(vl => vl.Create(It.IsAny <CategoryDto>()), Times.Never);
        }