public async Task ValidateAsync_WhenCalculationNameAlreadyExistsButItsTheSameCalc_EnsuresValidIsTrue() { //Arrange CalculationEditModel model = CreateModel(); Calculation calculationWithSameName = new Calculation { Id = model.CalculationId }; ICalculationsRepository calculationsRepository = CreateCalculationRepository(); calculationsRepository .GetCalculationsBySpecificationIdAndCalculationName(Arg.Is(model.SpecificationId), Arg.Is(model.Name)) .Returns(calculationWithSameName); CalculationEditModelValidator validator = CreateValidator(calculationRepository: calculationsRepository); //Act ValidationResult result = await validator.ValidateAsync(model); //Assert result .IsValid .Should() .BeTrue(); }
public async Task ValidateAsync_WhenSourceCodeDoesNotCompile_ValidIsFalse() { //Arrange CalculationEditModel model = CreateModel(); PreviewResponse previewResponse = new PreviewResponse { CompilerOutput = new Build { CompilerMessages = new List <CompilerMessage> { new CompilerMessage { Message = "Failed" } } } }; IPreviewService previewService = CreatePreviewService(previewResponse); CalculationEditModelValidator validator = CreateValidator(previewService: previewService); //Act ValidationResult result = await validator.ValidateAsync(model); //Assert result .IsValid .Should() .BeFalse(); }
public async Task ValidateAsync_WhenValueTypeIsMissing_ValidIsFalse() { //Arrange CalculationEditModel model = CreateModel(); model.ValueType = null; CalculationEditModelValidator validator = CreateValidator(); //Act ValidationResult result = await validator.ValidateAsync(model); //Assert result .IsValid .Should() .BeFalse(); }
public async Task ValidateAsync_WhenCalculationIdEmpty_ValidIsFalse() { //Arrange CalculationEditModel model = CreateModel(); model.CalculationId = string.Empty; CalculationEditModelValidator validator = CreateValidator(); //Act ValidationResult result = await validator.ValidateAsync(model); //Assert result .IsValid .Should() .BeFalse(); }
public async Task ValidateAsync_WhenValidModel_ValidIsTrue() { //Arrange CalculationEditModel model = CreateModel(); ICalculationsRepository calculationsRepository = CreateCalculationRepository(); calculationsRepository .GetCalculationsBySpecificationIdAndCalculationName(Arg.Is(model.SpecificationId), Arg.Is(model.Name)) .Returns((Calculation)null); CalculationEditModelValidator validator = CreateValidator(calculationsRepository); //Act ValidationResult result = await validator.ValidateAsync(model); //Assert result .IsValid .Should() .BeTrue(); }