<?php
use App\Infraestrutura\Adaptadores\HTTP\ImplementacaoCurlClienteHTTP;
global $jwt;
if(!is_file(__DIR__.'/../../../.env')) {
return;
}
$CNJdoProcesso = '';
beforeEach(function(){
$this->clientHTTPAuth = new ImplementacaoCurlClienteHTTP([
'baseURL' => 'http://localhost:8052'
]);
$this->clientHTTPApi = new ImplementacaoCurlClienteHTTP([
'baseURL' => 'http://localhost:8053'
]);
});
describe('(Processos):', function() use (&$jwt, &$CNJdoProcesso){
it("Deverá retornar uma lista de processos da empresa com 20 processos.", function() use (&$jwt, &$CNJdoProcesso){
$this->clientHTTPApi->configurar([
'headers' => [
'Authorization: Bearer ' . $jwt
]
]);
$resposta = $this->clientHTTPApi->get('/processos');
expect($resposta->code)->toBe(200)
->and($resposta->body)->toBeArray()
->and($resposta->body[0])->toHaveKey('codigo')
->and($resposta->body[0])->toHaveKey('numeroCNJ')
->and($resposta->body[0])->toHaveKey('dataUltimaMovimentacao')
->and($resposta->body[0])->toHaveKey('quantidadeMovimentacoes')
->and($resposta->body[0])->toHaveKey('demandante')
->and($resposta->body[0])->toHaveKey('demandado')
->and($resposta->body[0])->toHaveKey('ultimaMovimentacaoData')
->and($resposta->body[0])->toHaveKey('ultimaMovimentacaoDescricao')
->and($resposta->body)->toHaveCount(20);
$CNJdoProcesso = $resposta->body[0]['numeroCNJ'];
})->group('Integracao', 'Processos');
it('Conseguimos identificar um processo e vamos usar o CNJ para consultar depois', function() use (&$jwt, &$CNJdoProcesso){
expect($CNJdoProcesso)->not->toBeEmpty()
->and($CNJdoProcesso)->toEqual($CNJdoProcesso);
});
it('Vamos solicitar todas as movimentações do processo CNJ', function() use (&$jwt, &$CNJdoProcesso){
$this->clientHTTPApi->configurar([
'headers' => [
'Authorization: Bearer ' . $jwt
]
]);
$resposta = $this->clientHTTPApi->post('/processos/consultarMovimentacoes', [
'cnj' => $CNJdoProcesso
]);
expect($resposta->code)->toEqual(200)
->and($resposta->body['message'])->toEqual('Movimentações consultadas com sucesso');
})->group('Integracao', 'Processos');
it('Vamos consultar novamente os processos para ver as movimentacoes', function() use (&$jwt, &$CNJdoProcesso){
$this->clientHTTPApi->configurar([
'headers' => [
'Authorization: Bearer ' . $jwt
]
]);
$resposta = $this->clientHTTPApi->get('/processos');
$processoFiltrado = array_filter($resposta->body, function($processo) use ($CNJdoProcesso){
return $processo['numeroCNJ'] == $CNJdoProcesso;
});
expect($processoFiltrado)->not->toBeEmpty()
->and($processoFiltrado)->toHaveCount(1);
$processoFiltrado = $processoFiltrado[key($processoFiltrado)];
expect($resposta->code)->toBe(200)
->and($processoFiltrado)->toHaveKey('codigo')
->and($processoFiltrado)->toHaveKey('numeroCNJ')
->and($processoFiltrado)->toHaveKey('dataUltimaMovimentacao')
->and($processoFiltrado)->toHaveKey('quantidadeMovimentacoes')
->and($processoFiltrado)->toHaveKey('demandante')
->and($processoFiltrado)->toHaveKey('demandado')
->and($processoFiltrado)->toHaveKey('ultimaMovimentacaoData')
->and($processoFiltrado)->toHaveKey('ultimaMovimentacaoDescricao');
$CNJdoProcesso = $resposta->body[0]['numeroCNJ'];
})->group('Integracao', 'Processos');
it('Todas as informações necessárias da movimentação devem ser: id, empresaCodigo, processoCodigo, etc.', function() use (&$jwt, &$CNJdoProcesso){
$this->clientHTTPApi->configurar([
'headers' => [
'Authorization: Bearer ' . $jwt
]
]);
$resposta = $this->clientHTTPApi->get('/processos');
$processoFiltrado = array_filter($resposta->body, function($processo) use ($CNJdoProcesso){
return $processo['numeroCNJ'] == $CNJdoProcesso;
});
$processoFiltrado = $processoFiltrado[key($processoFiltrado)];
$movimentacoes = $processoFiltrado['movimentacoes'];
foreach($movimentacoes as $movimentacao){
expect($movimentacao)->toHaveKey('id')
->and($movimentacao)->toHaveKey('empresaCodigo')
->and($movimentacao)->toHaveKey('processoCodigo')
->and($movimentacao)->toHaveKey('processoCNJ')
->and($movimentacao)->toHaveKey('data')
->and($movimentacao)->toHaveKey('tipo')
->and($movimentacao)->toHaveKey('tipoPublicacao')
->and($movimentacao)->toHaveKey('classificacaoPreditaNome')
->and($movimentacao)->toHaveKey('classificacaoPreditaDescricao')
->and($movimentacao)->toHaveKey('classificacaoPreditaHierarquia')
->and($movimentacao)->toHaveKey('conteudo')
->and($movimentacao)->toHaveKey('textoCategoria')
->and($movimentacao)->toHaveKey('fonteProcessoFonteId')
->and($movimentacao)->toHaveKey('fonteFonteId')
->and($movimentacao)->toHaveKey('fonteNome')
->and($movimentacao)->toHaveKey('fonteTipo')
->and($movimentacao)->toHaveKey('fonteSigla')
->and($movimentacao)->toHaveKey('fonteGrau')
->and($movimentacao)->toHaveKey('fonteGrauFormatado');
}
expect($movimentacoes)->toHaveCount(30);
})->group('Integracao', 'Processos')
->skip('Falta implementar um get detalhes do processo ai vem as movimentações');
it('Todas as informações dos envolvidos são: codigo, nomeCompleto, documento, oab, tipo, quantidadeDeProcessos.', function() use (&$jwt, &$CNJdoProcesso) {
$this->clientHTTPApi->configurar([
'headers' => [
'Authorization: Bearer ' . $jwt
]
]);
$resposta = $this->clientHTTPApi->get('/processos');
$processoFiltrado = array_filter($resposta->body, function ($processo) use ($CNJdoProcesso) {
return $processo['numeroCNJ'] == $CNJdoProcesso;
});
$processoFiltrado = $processoFiltrado[key($processoFiltrado)];
$envolvidos = $processoFiltrado['envolvidos'];
foreach($envolvidos as $envolvido) {
expect($envolvido)->toHaveKey('codigo')
->and($envolvido)->toHaveKey('oab')
->and($envolvido)->toHaveKey('tipo')
->and($envolvido)->toHaveKey('nomeCompleto')
->and($envolvido)->toHaveKey('documento')
->and($envolvido)->toHaveKey('quantidadeDeProcessos');
}
expect($envolvidos)->toHaveCount(6);
})->group('Integracao', 'Processos')
->skip('Falta implementar um get detalhes do processo ai vem os envolvidos');
})->group('Integracao', 'Processos');
|