API desenvolvida para verificar se uma senha atende à um conjunto de regras específicas.
.net 5.0
framework .net 5.0
language c# 8.0
opção 1 abrir cmd, ir no diretório da aplicação e rodar os comandos abaixo:
cd PasswordValidator.Api
dotnet run
opção 2 abrir a aplicação no visual studio ou vscode e rodar a aplicação
testando
abrir o navegador e acessar
https://localhost:5001/swagger/index.html
ou
http://localhost:5000/swagger/index.html
abrir cmd, ir no diretório da aplicação e rodar os comandos abaixo:
cd PasswordValidator.Tests
dotnet test
Optei por abstrair o comportamento das validações em uma classe abstrata (ValidatePassword) com métodos e propriedades para tal. As classes (Specifications) que herdam da classe abstrata ficam responsáveis por cada regra específica do conjunto de validações. Assim temos classes responsáveis por cada verificação e podemos compor elas de acordo com a necessidade.
Os testes unitários foram feitos para cada regra e o teste integrado para a o endpoint da API.
O mesmo problema poderia ser feito atraves de partial class. Fico à disposição para implantar.