public void ShouldNotCallHandleIfTagNotExist() { dbSetTag.Setup(x => x.FindAsync(id)).Returns(null); context.Setup(x => x.Tags).Returns(dbSetTag.Object); EditTagCommandHandler editTagCommandHandler = new EditTagCommandHandler(context.Object, stringLocalizer.Object, mapper.Object); EditTagCommand editTagCommand = new EditTagCommand(tagDto); Func <Task> act = async() => await editTagCommandHandler.Handle(editTagCommand, new CancellationToken()); act.Should().ThrowAsync <NotFoundException>(); }
public void UpdateTagCommand() { var command = new EditTagCommand(tagService); command.Model = new TagEditModel() { Id = 1 }; command.Execute(); Assert.IsTrue(true); }
public void ShouldNotCallHandleIfNotSavedChanges() { dbSetTag.Setup(x => x.FindAsync(id)).Returns(new ValueTask <Tag>(Task.FromResult(tag))); context.Setup(x => x.Tags).Returns(dbSetTag.Object); context.Setup(x => x.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(0)); EditTagCommandHandler editTagCommandHandler = new EditTagCommandHandler(context.Object, stringLocalizer.Object, mapper.Object); EditTagCommand editTagCommand = new EditTagCommand(tagDto); Func <Task> act = async() => await editTagCommandHandler.Handle(editTagCommand, new CancellationToken()); act.Should().ThrowAsync <RestException>(); }
public void ShouldRequireValidTagId() { var tagToEdit = new Faker <TagCreateOrEditDto>("en") .RuleFor(a => a.Id, f => f.Random.Guid()) .RuleFor(a => a.Title, f => f.Lorem.Sentence()) .Generate(); var command = new EditTagCommand(tagToEdit); Func <Task> act = async() => await SendAsync(command); act.Should().Throw <NotFoundException>(); }
public async Task ShouldCallHandle() { dbSetTag.Setup(x => x.FindAsync(id)).Returns(new ValueTask <Tag>(Task.FromResult(tag))); context.Setup(x => x.Tags).Returns(dbSetTag.Object); context.Setup(x => x.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(1)); EditTagCommandHandler editTagCommandHandler = new EditTagCommandHandler(context.Object, stringLocalizer.Object, mapper.Object); EditTagCommand editTagCommand = new EditTagCommand(tagDto); var result = await editTagCommandHandler.Handle(editTagCommand, new CancellationToken()); mapper.Verify(x => x.Map(editTagCommand, tag), Times.Once); result.Should().Be(Unit.Value); }
public async Task ShouldNotEditTagIfTitleIsEmpty() { var loggedUser = await RunAsUserAsync("scott101@localhost", "Pa$$w0rd!"); var tagId = await CreateTag(); var tagToCreate = new Faker <TagCreateOrEditDto>("en") .RuleFor(a => a.Id, f => tagId) .Generate(); tagToCreate.Title = null; var command = new EditTagCommand(tagToCreate); Func <Task> act = async() => await SendAsync(command); act.Should().Throw <Common.Exceptions.ValidationException>(); }
public async Task ShouldUpdateTag() { var loggedUser = await RunAsUserAsync("scott101@localhost", "Pa$$w0rd!"); var tagId = await CreateTag(); var tagToModify = new Faker <TagCreateOrEditDto>("en") .RuleFor(a => a.Id, f => tagId) .RuleFor(a => a.Title, f => f.Lorem.Sentence()) .Generate(); var command = new EditTagCommand(tagToModify); await SendAsync(command); var modifiedTag = await FindByGuidAsync <Tag>(tagId); modifiedTag.Id.Should().Be(tagToModify.Id); modifiedTag.Title.Should().Be(tagToModify.Title); modifiedTag.LastModifiedBy.Should().Be(loggedUser); modifiedTag.LastModified.Should().BeCloseTo(DateTime.UtcNow, new TimeSpan(0, 0, 1)); }
public async Task <IActionResult> Edit([FromHybrid] EditTagCommand command) { return(await Execute(command)); }