public DeleteArticleCommandHandlerTests() { _articleManagementService = Mock.Of <IArticleManagementService>(); _deleteArticleCommandHandler = new DeleteArticleCommandHandler(_articleManagementService); _deleteArticleCommand = new DeleteArticleCommand(SomeSlug); }
public DeleteArticleCommandTest() { this.mockArticleService = new Mock <IArticleService>(); this.deleteArticleCommandHandler = new DeleteArticleCommandHandler(this.mockArticleService.Object); this.deleteArticleCommand = new DeleteArticleCommand(TestSlug); }
public void ShouldNotCallHandleIfArticleNotExist() { dbSetArticle.Setup(x => x.FindAsync(id)).Returns(null); context.Setup(x => x.Articles).Returns(dbSetArticle.Object); DeleteArticleCommandHandler deleteArticleCommandHandler = new DeleteArticleCommandHandler(context.Object, stringLocalizer.Object); DeleteArticleCommand deleteArticleCommand = new DeleteArticleCommand(id); Func <Task> act = async() => await deleteArticleCommandHandler.Handle(deleteArticleCommand, new CancellationToken()); act.Should().Throw <NotFoundException>(); }
public async Task GivenTheRequestIsValid_WhenTheUserIsTheAuthorOfArticle_DeletesArticleFromDbContext() { // Arrange var deleteArticleCommand = new DeleteArticleCommand("Why Beer is God's Gift to the World".ToSlug()); // Act var request = new DeleteArticleCommandHandler(_logger, Context, CurrentUserContext); var result = await request.Handle(deleteArticleCommand, CancellationToken.None); // Assert, verify removal from the database result.ShouldNotBeNull(); Context.Articles.FirstOrDefault(a => a.Slug == "Why Beer is God's Gift to the World".ToSlug())?.ShouldBeNull(); }
public void ShouldNotCallHandleIfNotSavedChanges() { dbSetArticle.Setup(x => x.FindAsync(id)).Returns(new ValueTask <Article>(Task.FromResult(new Article { Id = id }))); context.Setup(x => x.Articles).Returns(dbSetArticle.Object); context.Setup(x => x.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(0)); DeleteArticleCommandHandler deleteArticleCommandHandler = new DeleteArticleCommandHandler(context.Object, stringLocalizer.Object); DeleteArticleCommand deleteArticleCommand = new DeleteArticleCommand(id); Func <Task> act = async() => await deleteArticleCommandHandler.Handle(deleteArticleCommand, new CancellationToken()); act.Should().Throw <RestException>(); }
public async Task ShouldCallHandle() { dbSetArticle.Setup(x => x.FindAsync(id)).Returns(new ValueTask <Article>(Task.FromResult(new Article { Id = id }))); context.Setup(x => x.Articles).Returns(dbSetArticle.Object); context.Setup(x => x.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(1)); DeleteArticleCommandHandler deleteArticleCommandHandler = new DeleteArticleCommandHandler(context.Object, stringLocalizer.Object); DeleteArticleCommand deleteArticleCommand = new DeleteArticleCommand(id); var result = await deleteArticleCommandHandler.Handle(deleteArticleCommand, new CancellationToken()); result.Should().Be(Unit.Value); }
public async Task GivenTheRequestIsValid_WhenTheArticleDoesNotExist_ThrowsApiExceptionForNotFound() { // Arrange var deleteArticleCommand = new DeleteArticleCommand("How to train your dragon".ToSlug()); // Act var request = new DeleteArticleCommandHandler(_logger, Context, CurrentUserContext); // Assert await Should.ThrowAsync <ConduitApiException>(async() => { await request.Handle(deleteArticleCommand, CancellationToken.None); }); Context.Articles.FirstOrDefault(a => a.Slug == "How to train your dragon".ToSlug()).ShouldNotBeNull(); }
public async Task DeleteArticleCommandTestAsync(string identityUserId, int articleId, DeleteArticleResponse result) { DeleteArticleCommand request = new DeleteArticleCommand { Id = articleId, IdentityUserId = identityUserId, }; DeleteArticleCommandHandler handler = new DeleteArticleCommandHandler(_deleteFixture.Context); var expectedResult = await handler.Handle(request, new CancellationToken()); Assert.Equal(expectedResult.IsSuccessful, result.IsSuccessful); if (expectedResult.IsSuccessful) { Article deletedArticle = _deleteFixture.Context.Articles.Find(expectedResult.Id); Assert.Null(deletedArticle); Assert.Equal(expectedResult.ViewRole, result.ViewRole); Assert.Equal(expectedResult.EditRole, result.EditRole); } Assert.Equal(expectedResult.Message, result.Message); }
void GivenSystemUnderTest() { _sut = new DeleteArticleCommandHandler(_articleRepository); }