public void IsValid_ShouldBeFalse_WhenRequiredFieldsAreNotSet() { var command = new UpdateGuestBookEntryCommand(); var validator = new UpdateGuestBookEntryCommandValidator(Context); var result = validator.Validate(command); result.IsValid.ShouldBe(false); }
public async Task <ActionResult> Update(long id, UpdateGuestBookEntryCommand command) { if (id != command.Id) { return(BadRequest()); } await Mediator.Send(command); return(NoContent()); }
public void Handle_GivenInvalidId_ThrowsException() { var command = new UpdateGuestBookEntryCommand { Id = 99, Name = "Test Name Update", Entry = "Test Entry Update" }; var handler = new UpdateGuestBookEntryCommand.UpdateGuestBookEntryCommandHandler(Context); Should.ThrowAsync <NotFoundException>(() => handler.Handle(command, CancellationToken.None)); }
public void IsValid_ShouldBeTrue_WhenRequiredFieldsAreSet() { var command = new UpdateGuestBookEntryCommand { Id = 1, Name = "Test Name Update", Entry = "Test Entry Update" }; var validator = new UpdateGuestBookEntryCommandValidator(Context); var result = validator.Validate(command); result.IsValid.ShouldBe(true); }
public async Task GivenValidUpdateGuestBookEntryCommand_ReturnsSuccessCode() { var client = await _factory.GetAuthenticatedClientAsync(); var command = new UpdateGuestBookEntryCommand { Id = 1, Name = "Test Name Update", Entry = "Test Entry Update" }; var content = IntegrationTestHelper.GetRequestContent(command); var response = await client.PutAsync($"/api/GuestBookEntry/{command.Id}", content); response.EnsureSuccessStatusCode(); }
public async Task Handle_GivenValidId_ShouldUpdatePersistedGuestBookEntry() { var command = new UpdateGuestBookEntryCommand { Id = 1, Name = "Test Name Update", Entry = "Test Entry Update" }; var handler = new UpdateGuestBookEntryCommand.UpdateGuestBookEntryCommandHandler(Context); await handler.Handle(command, CancellationToken.None); var entity = Context.GuestBookEntries.Find(command.Id); entity.ShouldNotBeNull(); entity.Name.ShouldBe(command.Name); entity.Entry.ShouldBe(command.Entry); }