public async Task DeleteAsyncShouldThrowNullException() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "AddAsync").Options; var dbContext = new ApplicationDbContext(options); var repository = new EfDeletableEntityRepository <Comment>(dbContext); var service = new CommentsService(repository); await Assert.ThrowsAsync <ArgumentNullException>(() => service.DeleteAsync(-5)); }
public async Task DeleteAsync_ShouldWorkCorrectlyAsync() { var context = WilderExperienceContextInMemoryFactory.InitializeContext(); await this.SeedData(context); var repository = new EfDeletableEntityRepository <Comment>(context); var service = new CommentsService(repository); var commentId = context.Comments.FirstOrDefault().Id; await service.DeleteAsync(commentId); var deletedExperinece = repository.AllWithDeleted().Where(x => x.Id == commentId).FirstOrDefault(); Assert.True(deletedExperinece.IsDeleted == true, "Delete method does not work correctly"); }
public async Task CheckDeletingCommentAsync() { ApplicationDbContext db = GetDb(); var repository = new EfDeletableEntityRepository <Comment>(db); var service = new CommentsService(repository); await this.PrepareCommentAsync(service); var comment = await repository .All() .FirstOrDefaultAsync(c => c.Content == "test content"); await service.DeleteAsync(comment.Id); Assert.True(comment.IsDeleted); }
public async Task DeleteAsyncShouldWork() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "DeleteAsync").Options; var dbContext = new ApplicationDbContext(options); var repository = new EfDeletableEntityRepository <Comment>(dbContext); var service = new CommentsService(repository); await service.AddAsync("content", new ApplicationUser(), new Post()); Assert.True(repository.All().Any(x => x.Content == "content")); Assert.Single(service.GetAll()); await service.DeleteAsync(1); Assert.Empty(service.GetAll()); }
public async Task DeleteAsync_WithValidCommentId_ShouldDeleteCommentFromDatabase() { // Arrange var context = InMemoryDbContext.Initiliaze(); var commentsRepository = new EfDeletableEntityRepository <Comment>(context); var postsRepository = new EfRepository <Post>(context); var service = new CommentsService(commentsRepository, postsRepository); await this.SeedUsersAndPost(context); await this.SeedComments(context); // Act int expectedCount = context.Comments.Count() - 1; await service.DeleteAsync(26); // Id is seeded with SeedComment method. int actualCount = context.Comments.Count(); // Assert Assert.Equal(expectedCount, actualCount); }
public async Task DeleteAsyncShouldReturnTrue() { var comments = new List <Comment>(); var mockCommentRepo = new Mock <IDeletableEntityRepository <Comment> >(); mockCommentRepo.Setup(x => x.All()).Returns(comments.AsQueryable()); mockCommentRepo.Setup(x => x.AddAsync(It.IsAny <Comment>())).Callback((Comment comm) => comments.Add(comm)); var service = new CommentsService(mockCommentRepo.Object, null, null); var commentToDelete = new Comment { Id = "1", UserId = "1", }; comments.Add(commentToDelete); await service.DeleteAsync("1", "1"); Assert.Equal(true, commentToDelete.IsDeleted); }
public async Task DeleteShouldReturnFalse() { var comments = new List <Comment>(); var mockCommentRepo = new Mock <IDeletableEntityRepository <Comment> >(); mockCommentRepo.Setup(x => x.All()).Returns(comments.AsQueryable()); mockCommentRepo.Setup(x => x.AddAsync(It.IsAny <Comment>())).Callback((Comment comm) => comments.Add(comm)); var service = new CommentsService(mockCommentRepo.Object, null, null); var commentToDelete = new Comment { Id = "1", UserId = "1", }; comments.Add(commentToDelete); Task result = service.DeleteAsync("2", "1"); Assert.True(!result.IsCompletedSuccessfully); }
public async Task DeleteAsyncWorkCorrectly() { var comment = new Comment() { Text = "test", UserId = "a", AnnouncementId = "1", }; var obj = await this.dbContext.Comments.AddAsync(comment); var commentId = obj.Entity.Id; await this.dbContext.SaveChangesAsync(); var service = new CommentsService(this.commentRepository); var result = service.GetCommentByUserId <CommentInputModel>("a"); Assert.Equal(1, result?.Count()); await service.DeleteAsync(commentId); result = service.GetCommentByUserId <CommentInputModel>("a"); Assert.Equal(0, result?.Count()); }