Para rodar o sistema é preciso instalar as ferramentas abaixo:
- Node.js versão 10.15.1
- Npm versão 6.4.1
$ npm install
É preciso criar o arquivo .ENV na raiz do projeto configurando duas variáveis do sistema, conforme exemplo abaixo.
PORT=3001
PATHFILEJSON='./src/json/rules.json'
Onde a primeira variável informa em qual porta o servidor irá rodar e a segunda informa o caminho do arquivo do JSON de regras.
Obs: É preciso que o arquivo json esteja criado no diretório que foi informado na variável.
Vou deixar o arquivo Desafio Cubos 1.postman_collection.json da Collection do POSTMAN na raiz do projeto, para realizar a importação no mesmo e realizar o testes dos endpoints.
URL: /api/rule/findAll
METHOD: GET
URL: /api/rule/delete/:id
METHOD: DELETE
ID = id da regra
URL: /api/rule/rulesAvailable/:dateStart/:dateEnd
METHOD: GET
DATESTART = data início da busca. DATEEND = data fim da busca.
URL: /api/rule/create
METHOD: POST
No endepoint de cadastro de regras, o mesmo aceita três tipos de regras, SEMANAL, ESPECÍFICA e DIÁRIA, no formado dos JSON abaixo.
{
"id" :0,
"type": "semanal",
"dayWeek" : [ 0 , 6],
"startTime" : "14:00",
"endTime" :"15:40"
}
{
"id" :0,
"type": "especifico",
"date": "22-12-2019",
"startTime" : "15:50",
"endTime" :"17:50"
}
{
"type": "diaria",
"startTime" : "07:40",
"endTime" :"8:30"
}
Para os testes unitários foi escolhida a lib JEST.
Para rodar os testes basta executar o comando abaixo na raiz do projeto.
$ npm run test
email: mayanei_13@hotmail.com
tel: (71) 991300964