public void Validate_Serial_Validates(CreateEndpoint command, CreateEndpointValidator subject) { // Arrange // Act var result = subject.TestValidate(command); // Assert result.ShouldNotHaveAnyValidationErrors(); }
public void Validate_EmptySerial_Throws(CreateEndpointValidator subject) { // Arrange // Act var result = subject.TestValidate(new CreateEndpoint { SerialNumber = string.Empty }); // Assert result.ShouldHaveValidationErrorFor(r => r.SerialNumber); }
private async Task CreateEndpoint(CancellationToken cancellationToken) { CreateEndpoint command = new CreateEndpoint(); Console.Write("Insira o número serial do Endpoint: "); command.SerialNumber = Console.ReadLine(); Console.Write("Insira o id do modelo do medidor do Endpoint: "); command.MeterModel = (MeterModels)int.Parse(Console.ReadLine()); Console.Write("Insira o número do medidor do Endpoint: "); command.MeterNumber = int.Parse(Console.ReadLine()); Console.Write("Insira a versão do firmware do medidor do Endpoint: "); command.MeterFirmwareVersion = Console.ReadLine(); Console.Write("Insira o estado do switch do Endpoint: "); command.SwitchState = (SwitchStates)int.Parse(Console.ReadLine()); CreateEndpointValidator validator = new CreateEndpointValidator(); var validation = validator.Validate(command); if (!validation.IsValid) { Console.WriteLine(validation.Errors.FirstOrDefault()); } else { try { await _mediator.Send(command, cancellationToken); } catch (InvalidOperationException) { Console.WriteLine($"Já existe um Endpoint com o número serial {command.SerialNumber}."); } catch (Exception) { Console.WriteLine("Um erro inesperado ocorreu"); } } Console.WriteLine("-------------------------------------"); }