| 
<?php
 use App\Infraestrutura\Adaptadores\HTTP\ImplementacaoCurlClienteHTTP;
 
 global $jwt;
 
 if(!is_file(__DIR__.'/../../../.env')) {
 return;
 }
 
 beforeEach(function(){
 
 $this->clientHTTPAuth = new ImplementacaoCurlClienteHTTP([
 'baseURL' => 'http://localhost:8052'
 ]);
 
 $this->clientHTTPApi = new ImplementacaoCurlClienteHTTP([
 'baseURL' => 'http://localhost:8053'
 ]);
 });
 
 describe('(Plano de Contas):', function() use (&$jwt) {
 
 it('Deverá retornar uma lista com todos os 51 planos de contas', function() use (&$jwt) {
 
 $this->clientHTTPApi->configurar([
 'headers' => [
 'Authorization: Bearer ' . $jwt
 ]
 ]);
 
 $resposta = $this->clientHTTPApi->get('/planosdecontas');
 
 expect($resposta->code)->toBe(200)
 ->and($resposta->body)->toBeArray()
 ->and($resposta->body)->toHaveCount(51)
 ->and($resposta->body[0])->toBeArray()
 ->and($resposta->body[0])->toHaveKey('codigo')
 ->and($resposta->body[0])->toHaveKey('nome')
 ->and($resposta->body[0])->toHaveKey('tipo')
 ->and($resposta->body[0])->toHaveKey('categoria')
 ->and($resposta->body[0])->toHaveKey('descricao')
 ->and($resposta->body[0])->toHaveKey('codigoPlanoDeContasPai')
 ->and($resposta->body[0])->toHaveKey('nivel');
 
 })
 ->group('Integracao', 'Plano de Contas');
 
 it('Deverá retornar os planos de contas agrupados', function() use (&$jwt) {
 
 $this->clientHTTPApi->configurar([
 'headers' => [
 'Authorization: Bearer ' . $jwt
 ]
 ]);
 
 $resposta = $this->clientHTTPApi->get('/planosdecontas/agrupados');
 
 expect($resposta->code)->toBe(200)
 ->and($resposta->body)->toBeArray()
 ->and($resposta->body)->toHaveCount(11)
 ->and($resposta->body['Receitas'])->toBeArray()
 ->and($resposta->body['Receitas'])->toHaveCount(4)
 ->and($resposta->body['Despesas'])->toBeArray()
 ->and($resposta->body['Despesas'])->toHaveCount(5)
 ->and($resposta->body['Despesas Operacionais'])->toBeArray()
 ->and($resposta->body['Despesas Operacionais'])->toHaveCount(8);
 
 })
 ->group('Integracao', 'Plano de Contas');
 })
 ->group('Integracao', 'Plano de Contas');
 |