public async Task Then_The_Cached_Item_Is_Returned_And_Service_Called_To_Create( CreateCourseDemandCommand command, [Frozen] Mock <IDemandService> service, CreateCourseDemandCommandHandler handler) { await handler.Handle(command, CancellationToken.None); service.Verify(x => x.CreateCourseDemand(command.Id), Times.Once); }
public async Task Then_The_Command_Is_Handled_And_Service_Called_If_Valid( bool result, CreateCourseDemandCommand command, [Frozen] Mock <IValidator <CreateCourseDemandCommand> > validator, [Frozen] Mock <ICourseDemandService> service, CreateCourseDemandCommandHandler handler) { validator.Setup(x => x.ValidateAsync(command)).ReturnsAsync(new ValidationResult()); service.Setup(x => x.CreateDemand(command.CourseDemand)).ReturnsAsync(result); var actual = await handler.Handle(command, CancellationToken.None); validator.Verify(x => x.ValidateAsync(It.IsAny <CreateCourseDemandCommand>()), Times.Once); actual.Id.Should().Be(command.CourseDemand.Id); actual.IsCreated.Should().Be(result); }
public void Then_If_The_Command_Is_Not_Valid_A_ValidationException_Is_Thrown( string propertyName, CreateCourseDemandCommand command, [Frozen] Mock <IValidator <CreateCourseDemandCommand> > validator, [Frozen] Mock <ICourseDemandService> service, CreateCourseDemandCommandHandler handler) { //Arrange validator.Setup(x => x.ValidateAsync(command)).ReturnsAsync(new ValidationResult { ValidationDictionary = { { propertyName, "" } } }); //Act var act = new Func <Task>(async() => await handler.Handle(command, CancellationToken.None)); //Assert service.Verify(x => x.CreateDemand(It.IsAny <Domain.Models.CourseDemand>()), Times.Never); act.Should().Throw <ValidationException>() .WithMessage($"*{propertyName}*"); }