Este teste utiliza PHP 8.1, Laravel 10 e um banco de dados SQLite simples.
- Faça o clone desse repositório;
- Execute o
composer install
; - Crie e ajuste o
.env
conforme necessário - Execute as migrations e os seeders;
Crítica das Migrations e Seeders: Aponte problemas, se houver, e solucione; Implemente melhorias;
Crie a estrutura completa de uma tela que permita adicionar a importação do arquivo storage/data/2023-03-28.json
, para a tabela documents
. onde cada registro representado neste arquivo seja adicionado a uma fila para importação.
Feito isso crie uma tela com um botão simples que dispara o processamento desta fila.
Utilize os padrões que preferir para as tarefas.
Crie um test unitário que valide o tamanho máximo do campo conteúdo.
Crie um test unitário que valide a seguinte regra:
Se a categoria for "Remessa" o título do registro deve conter a palavra "semestre", caso contrário deve emitir um erro de registro inválido. Se a caterogia for "Remessa Parcial", o titulo deve conter o nome de um mês(Janeiro, Fevereiro, etc), caso contrário deve emitir um erro de registro inválido.
Boa sorte!