private async Task AddToFavouriteAsync(string articleId, string userId) { var clientArticleLike = new ClientArticleLike() { ClientId = userId, ArticleId = articleId, }; await this.clientArticleLikesRepository.AddAsync(clientArticleLike); }
public async Task CheckGettingClientsFavouriteArtilcesAndCountAsync() { ApplicationDbContext db = GetDb(); var repository = new EfDeletableEntityRepository <Article>(db); var clientArticleLikesRepository = new EfRepository <ClientArticleLike>(db); var service = new ArticlesService( repository, this.commentsRepository.Object, clientArticleLikesRepository, this.cloudinaryService.Object); var firstArticleId = await this.GetArticleAsync(service); var secondArticleId = await this.GetArticleAsync(service); var articleLike = new ClientArticleLike() { ClientId = this.client.Id, ArticleId = firstArticleId, }; var articleLikeSecond = new ClientArticleLike() { ClientId = this.client.Id, ArticleId = secondArticleId, }; await clientArticleLikesRepository.AddAsync(articleLike); await clientArticleLikesRepository.AddAsync(articleLikeSecond); await clientArticleLikesRepository.SaveChangesAsync(); var articles = await service.GetUsersFavouriteArticlesAsync <TestClientArticleLikesModel>(this.client.Id); var count = await service.GetLikesCountAsync(firstArticleId); Assert.Equal(2, articles.Count()); Assert.Equal(1, count); }
public async Task CheckDeletingArticleAsync() { ApplicationDbContext db = GetDb(); var repository = new EfDeletableEntityRepository <Article>(db); var clientArticleLikesRepository = new EfRepository <ClientArticleLike>(db); var commentsRepository = new EfDeletableEntityRepository <Comment>(db); var service = new ArticlesService( repository, commentsRepository, clientArticleLikesRepository, this.cloudinaryService.Object); string articleId = await this.GetArticleAsync(service); var article = await repository.All().FirstOrDefaultAsync(a => a.Id == articleId); article.Comments.Add(this.comment); var articleLike = new ClientArticleLike() { ClientId = this.client.Id, ArticleId = articleId, }; await clientArticleLikesRepository.AddAsync(articleLike); await clientArticleLikesRepository.SaveChangesAsync(); repository.Update(article); await repository.SaveChangesAsync(); await service.DeleteAsync(articleId); Assert.True(article.IsDeleted); }