public void ShouldValidateRequiredFields() { var command = new CreateTermCommand(); FluentActions.Invoking(() => SendAsync(command)).Should().Throw <ValidationException>(); }
public async Task ShouldReturnAllTerms() { var command = new CreateTermCommand { TermText = "Test Term", Definition = "Test Definition" }; await SendAsync(command); command = new CreateTermCommand { TermText = "Test Term2", Definition = "Test Definition2" }; await SendAsync(command); var query = new GetTermsQuery(); var result = await SendAsync(query); result.Should().NotBeNull(); result.Terms.Should().HaveCount(2); }
public async Task ShouldCreateTermWithValidValues() { var command = new CreateTermCommand { TermText = "Test Term", Definition = "Test Definition" }; var termCreated = await SendAsync(command); var term = await FindAsync <Domain.Entities.Term>(termCreated.Id); term.Should().NotBeNull(); term.TermText.Should().Be(command.TermText); term.Definition.Should().Be(command.Definition); }
public async Task ShouldDeleteTerm() { var command = new CreateTermCommand { TermText = "Test Term", Definition = "Test Definition" }; var termCreated = await SendAsync(command); await SendAsync(new DeleteTermCommand { Id = termCreated.Id }); var term = await FindAsync <Domain.Entities.Term>(termCreated.Id); term.Should().BeNull(); }
public async Task ShouldReturnTermAssociatedWithId() { var command = new CreateTermCommand { TermText = "Test Term", Definition = "Test Definition" }; var termCreated = await SendAsync(command); var query = new GetTermDetailQuery { Id = termCreated.Id }; var result = await SendAsync(query); result.TermText.Should().Be(termCreated.TermText); result.Definition.Should().Be(termCreated.Definition); }
public async Task ShouldUpdateTerm() { var command = new CreateTermCommand { TermText = "Test Term", Definition = "Test Definition" }; var termCreated = await SendAsync(command); var updateCommand = new UpdateTermCommand { Id = termCreated.Id, TermText = "Test Term Updated", Definition = "Test Definition updated" }; await SendAsync(updateCommand); var updatedTerm = await FindAsync <Domain.Entities.Term>(termCreated.Id); updatedTerm.TermText.Should().Be(updateCommand.TermText); updatedTerm.LastModified.Should().NotBeNull(); }
public async Task <ActionResult <CreatedTermVM> > Create(CreateTermCommand command) { return(await Mediator.Send(command)); }