Exemple #1
0
        public async void TestFindAll()
        {
            var product = await repository.FindAll();

            Assert.NotNull(product);
            Assert.Equal(4, product.Count);
        }
        public void Remove_EntityPresent_EntityRemoved()
        {
            // Arrange
            var    count    = 10;
            string filePath = null;

            try
            {
                var articles = new List <Article>();
                for (var i = 0; i < count; i++)
                {
                    articles.Add(new Article
                    {
                        ApprovalStatus = 444,
                        ApprovedBy     = "Ryan",
                        DateApproved   = DateTime.Now,
                        DateTime       = DateTime.Now.AddDays(-1),
                        Id             = Guid.NewGuid(),
                        Rating         = 5,
                        RelatesToId    = Guid.NewGuid().ToString(),
                        RelatesToType  = "Test",
                        ThreadId       = Guid.NewGuid(),
                        UserId         = Guid.NewGuid().ToString(),
                        WebsiteId      = Guid.NewGuid()
                    });
                }

                var serialisedArticles     = JsonConvert.SerializeObject(articles);
                var serialisedArticleBytes = System.Text.Encoding.Unicode.GetBytes(serialisedArticles);
                filePath = System.IO.Path.Combine(Utilities.IO.UncPath.GetApplicationDirectory(), "[Foundation].[Article].json");
                System.IO.File.WriteAllBytes(filePath, serialisedArticleBytes);
                var articleRepository   = new ArticleRepository();
                var article             = articles.First();
                var resultsBeforeRemove = articleRepository.FindAll();
                Assert.AreEqual(1, resultsBeforeRemove.Count(a => a.Id == article.Id));

                // Act
                articleRepository.Remove(article);

                // Assert
                var resultsAfterRemove = articleRepository.FindAll();
                Assert.AreEqual(0, resultsAfterRemove.Count(a => a.Id == article.Id));
            }
            finally
            {
                if (!string.IsNullOrWhiteSpace(filePath))
                {
                    Utilities.IO.File.Delete(filePath);
                }
            }
        }
        public void FindAll_DataPresent_AllDataReturned()
        {
            // Arrange
            var    count    = 10;
            string filePath = null;

            try
            {
                var articles = new List <Article>();
                for (var i = 0; i < count; i++)
                {
                    articles.Add(new Article
                    {
                        ApprovalStatus = 444,
                        ApprovedBy     = "Ryan",
                        DateApproved   = DateTime.Now,
                        DateTime       = DateTime.Now.AddDays(-1),
                        Id             = Guid.NewGuid(),
                        Rating         = 5,
                        RelatesToId    = Guid.NewGuid().ToString(),
                        RelatesToType  = "Test",
                        ThreadId       = Guid.NewGuid(),
                        UserId         = Guid.NewGuid().ToString(),
                        WebsiteId      = Guid.NewGuid()
                    });
                }

                var serialisedArticles     = JsonConvert.SerializeObject(articles);
                var serialisedArticleBytes = System.Text.Encoding.Unicode.GetBytes(serialisedArticles);
                filePath = System.IO.Path.Combine(Utilities.IO.UncPath.GetApplicationDirectory(), "[Foundation].[Article].json");
                System.IO.File.WriteAllBytes(filePath, serialisedArticleBytes);
                var articleRepository = new ArticleRepository();

                // Act
                var results = articleRepository.FindAll();

                // Assert
                var comparer = new Utilities.Collections.EqualityComparer <Article>();
                foreach (var result in results)
                {
                    var sourceObject = articles.FirstOrDefault(a => a.Id == result.Id);
                    Assert.IsTrue(comparer.Equals(sourceObject, result));
                }
            }
            finally
            {
                if (!string.IsNullOrWhiteSpace(filePath))
                {
                    Utilities.IO.File.Delete(filePath);
                }
            }
        }
        public void FindAll_DataAbsent_EmptyListReturned()
        {
            // Arrange
            var filePath = System.IO.Path.Combine(Utilities.IO.UncPath.GetApplicationDirectory(), "[Foundation].[Article].json");

            Utilities.IO.File.Delete(filePath);
            var articleRepository = new ArticleRepository();

            // Act
            var results = articleRepository.FindAll();

            // Assert
            Assert.IsFalse(results == null);
            Assert.IsTrue(results is List <Article>);
            Assert.IsFalse(results.Any(a => a != null));
        }
 public async Task <IActionResult> Index(int?id)
 {
     if (id != null)
     {
         List <Article> articles;
         try
         {
             articles = await _articleRepository.FindAllbyTag(id.Value);
         }
         catch (Exception)
         {
             _logger.LogError("Doesn't exist id. Controller:Home. Action:Index");
             return(NotFound());
         }
         ViewData["Tags"] = (await _tagRepository.FirstOrDefaultAsync(id.Value)).TagName;
         return(View(articles));
     }
     ViewData["Tags"] = "Все статьи";
     return(View(await _articleRepository.FindAll()));
 }