Skip to content

Commit

Permalink
feat: criado teste unitario que valida o metodo listarPendencias
Browse files Browse the repository at this point in the history
  • Loading branch information
Paul Richard Pereira Martins dos Anjos committed Dec 3, 2024
1 parent 81fda88 commit f7e21e6
Show file tree
Hide file tree
Showing 3 changed files with 201 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<?php

use PHPUnit\Framework\TestCase;

/**
* Classe de teste para o método listarPendencias da classe ProcessoEletronicoRN.
*
* Esta classe utiliza PHPUnit para verificar o comportamento do método listarPendencias
* em diferentes cenários, garantindo que ele funcione conforme o esperado.
*/
class ListarPendenciasTest extends TestCase
{
/**
* Mock da classe ProcessoEletronicoRN.
*
* @var ProcessoEletronicoRN|\PHPUnit\Framework\MockObject\MockObject
*/
private $mockService;

/**
* Configuração inicial do teste.
*
* Este método cria um mock da classe ProcessoEletronicoRN e redefine
* o método 'get' para simular comportamentos durante os testes.
*
* @return void
*/
protected function setUp(): void
{
$this->mockService = $this->getMockBuilder(ProcessoEletronicoRN::class)
->onlyMethods(['get'])
->getMock();
}

public function testListarPendenciasSucesso()
{
$mockResponse = [
[
'status' => 2,
'IDT' => 999
]
];

// Configura o mock para retornar a resposta
$this->mockService->expects($this->once())
->method('get')
->willReturn($mockResponse);

$resultado = $this->mockService->listarPendencias(true);

$this->assertIsArray($resultado, 'O retorno deve ser um array.');
$this->assertCount(count($mockResponse), $resultado, 'A quantidade de objetos no retorno está incorreta.');
$this->assertInstanceOf(PendenciaDTO::class, $resultado[0], 'O primeiro objeto na lista deve ser uma instância da classe RepositorioDTO.');
}

public function testListarPendenciasLancaExcecao()
{
$this->mockService->expects($this->once())
->method('get')
->willThrowException(new Exception('Erro na requisição'));

$this->expectException(InfraException::class);
$this->expectExceptionMessage('Falha na listagem de pendências de trâmite de processos');

$this->mockService->listarPendencias(true);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<?php

use PHPUnit\Framework\TestCase;

/**
* Classe de teste para o método listarPendencias da classe ProcessoEletronicoRN.
*
* Esta classe utiliza PHPUnit para verificar o comportamento do método listarPendencias
* em diferentes cenários, garantindo que ele funcione conforme o esperado.
*/
class ListarPendenciasTest extends TestCase
{
/**
* Mock da classe ProcessoEletronicoRN.
*
* @var ProcessoEletronicoRN|\PHPUnit\Framework\MockObject\MockObject
*/
private $mockService;

/**
* Configuração inicial do teste.
*
* Este método cria um mock da classe ProcessoEletronicoRN e redefine
* o método 'get' para simular comportamentos durante os testes.
*
* @return void
*/
protected function setUp(): void
{
$this->mockService = $this->getMockBuilder(ProcessoEletronicoRN::class)
->onlyMethods(['get'])
->getMock();
}

public function testListarPendenciasSucesso()
{
$mockResponse = [
[
'status' => 2,
'IDT' => 999
]
];

// Configura o mock para retornar a resposta
$this->mockService->expects($this->once())
->method('get')
->willReturn($mockResponse);

$resultado = $this->mockService->listarPendencias(true);

$this->assertIsArray($resultado, 'O retorno deve ser um array.');
$this->assertCount(count($mockResponse), $resultado, 'A quantidade de objetos no retorno está incorreta.');
$this->assertInstanceOf(PendenciaDTO::class, $resultado[0], 'O primeiro objeto na lista deve ser uma instância da classe RepositorioDTO.');
}

public function testListarPendenciasLancaExcecao()
{
$this->mockService->expects($this->once())
->method('get')
->willThrowException(new Exception('Erro na requisição'));

$this->expectException(InfraException::class);
$this->expectExceptionMessage('Falha na listagem de pendências de trâmite de processos');

$this->mockService->listarPendencias(true);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<?php

use PHPUnit\Framework\TestCase;

/**
* Classe de teste para o método listarPendencias da classe ProcessoEletronicoRN.
*
* Esta classe utiliza PHPUnit para verificar o comportamento do método listarPendencias
* em diferentes cenários, garantindo que ele funcione conforme o esperado.
*/
class ListarPendenciasTest extends TestCase
{
/**
* Mock da classe ProcessoEletronicoRN.
*
* @var ProcessoEletronicoRN|\PHPUnit\Framework\MockObject\MockObject
*/
private $mockService;

/**
* Configuração inicial do teste.
*
* Este método cria um mock da classe ProcessoEletronicoRN e redefine
* o método 'get' para simular comportamentos durante os testes.
*
* @return void
*/
protected function setUp(): void
{
$this->mockService = $this->getMockBuilder(ProcessoEletronicoRN::class)
->onlyMethods(['get'])
->getMock();
}

public function testListarPendenciasSucesso()
{
$mockResponse = [
[
'status' => 2,
'IDT' => 999
]
];

// Configura o mock para retornar a resposta
$this->mockService->expects($this->once())
->method('get')
->willReturn($mockResponse);

$resultado = $this->mockService->listarPendencias(true);

$this->assertIsArray($resultado, 'O retorno deve ser um array.');
$this->assertCount(count($mockResponse), $resultado, 'A quantidade de objetos no retorno está incorreta.');
$this->assertInstanceOf(PendenciaDTO::class, $resultado[0], 'O primeiro objeto na lista deve ser uma instância da classe RepositorioDTO.');
}

public function testListarPendenciasLancaExcecao()
{
$this->mockService->expects($this->once())
->method('get')
->willThrowException(new Exception('Erro na requisição'));

$this->expectException(InfraException::class);
$this->expectExceptionMessage('Falha na listagem de pendências de trâmite de processos');

$this->mockService->listarPendencias(true);
}
}

0 comments on commit f7e21e6

Please sign in to comment.