From f7e21e699c833fca09914216d3be2f4456317b85 Mon Sep 17 00:00:00 2001 From: Paul Richard Pereira Martins dos Anjos Date: Tue, 3 Dec 2024 10:56:05 -0300 Subject: [PATCH] feat: criado teste unitario que valida o metodo listarPendencias --- .../ListarPendenciasTest.php | 67 +++++++++++++++++++ .../ListarPendenciasTest.php | 67 +++++++++++++++++++ .../ListarPendenciasTest.php | 67 +++++++++++++++++++ 3 files changed, 201 insertions(+) create mode 100644 tests_sei4/unitario/rn/ProcessoEletronicoRN/ListarPendenciasTest.php create mode 100644 tests_sei41/unitario/rn/ProcessoEletronicoRN/ListarPendenciasTest.php create mode 100644 tests_super/unitario/rn/ProcessoEletronicoRN/ListarPendenciasTest.php diff --git a/tests_sei4/unitario/rn/ProcessoEletronicoRN/ListarPendenciasTest.php b/tests_sei4/unitario/rn/ProcessoEletronicoRN/ListarPendenciasTest.php new file mode 100644 index 00000000..8e11e41a --- /dev/null +++ b/tests_sei4/unitario/rn/ProcessoEletronicoRN/ListarPendenciasTest.php @@ -0,0 +1,67 @@ +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); + } +} diff --git a/tests_sei41/unitario/rn/ProcessoEletronicoRN/ListarPendenciasTest.php b/tests_sei41/unitario/rn/ProcessoEletronicoRN/ListarPendenciasTest.php new file mode 100644 index 00000000..8e11e41a --- /dev/null +++ b/tests_sei41/unitario/rn/ProcessoEletronicoRN/ListarPendenciasTest.php @@ -0,0 +1,67 @@ +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); + } +} diff --git a/tests_super/unitario/rn/ProcessoEletronicoRN/ListarPendenciasTest.php b/tests_super/unitario/rn/ProcessoEletronicoRN/ListarPendenciasTest.php new file mode 100644 index 00000000..8e11e41a --- /dev/null +++ b/tests_super/unitario/rn/ProcessoEletronicoRN/ListarPendenciasTest.php @@ -0,0 +1,67 @@ +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); + } +}