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_Invalid_If_Not_Valid_Email( CreateCourseDemandCommand command, CreateCourseDemandCommandValidator validator) { command.CourseDemand.ContactEmailAddress = "test"; var actual = await validator.ValidateAsync(command); actual.IsValid().Should().BeFalse(); }
public async Task Then_Command_Is_Valid_If_All_Properties_Supplied( CreateCourseDemandCommand command, CreateCourseDemandCommandValidator validator) { command.CourseDemand.ContactEmailAddress = "*****@*****.**"; var actual = await validator.ValidateAsync(command); actual.IsValid().Should().BeTrue(); }
public async Task Then_Invalid_If_No_Organisation_Name( CreateCourseDemandCommand command, CreateCourseDemandCommandValidator validator) { command.CourseDemand.OrganisationName = ""; command.CourseDemand.ContactEmailAddress = "*****@*****.**"; var actual = await validator.ValidateAsync(command); actual.IsValid().Should().BeFalse(); }
public async Task Then_Invalid_If_No_Location( CreateCourseDemandCommand command, CreateCourseDemandCommandValidator validator) { command.CourseDemand.Location = new Location(); command.CourseDemand.ContactEmailAddress = "*****@*****.**"; var actual = await validator.ValidateAsync(command); actual.IsValid().Should().BeFalse(); }
public async Task Then_Invalid_If_No_Course_Title( CreateCourseDemandCommand command, CreateCourseDemandCommandValidator validator) { command.CourseDemand.Course = new Course { Id = 1, Level = 1, Route = "test route" }; command.CourseDemand.ContactEmailAddress = "*****@*****.**"; var actual = await validator.ValidateAsync(command); actual.IsValid().Should().BeFalse(); }
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}*"); }