From 56e80b365731c413da8a0e73e94045df8259958b Mon Sep 17 00:00:00 2001 From: mauro Date: Mon, 2 Dec 2024 15:48:09 -0300 Subject: [PATCH] test: teste unitario Teste unitario consultar repositorios de estruturas --- .../ConsultarRepositoriosDeEstruturasTest.php | 125 ++++++++++++++++++ .../ConsultarRepositoriosDeEstruturasTest.php | 125 ++++++++++++++++++ .../ConsultarRepositoriosDeEstruturasTest.php | 125 ++++++++++++++++++ 3 files changed, 375 insertions(+) create mode 100644 tests_sei4/unitario/rn/ProcessoEletronicoRN/ConsultarRepositoriosDeEstruturasTest.php create mode 100644 tests_sei41/unitario/rn/ProcessoEletronicoRN/ConsultarRepositoriosDeEstruturasTest.php create mode 100644 tests_super/unitario/rn/ProcessoEletronicoRN/ConsultarRepositoriosDeEstruturasTest.php diff --git a/tests_sei4/unitario/rn/ProcessoEletronicoRN/ConsultarRepositoriosDeEstruturasTest.php b/tests_sei4/unitario/rn/ProcessoEletronicoRN/ConsultarRepositoriosDeEstruturasTest.php new file mode 100644 index 00000000..f88a4cc7 --- /dev/null +++ b/tests_sei4/unitario/rn/ProcessoEletronicoRN/ConsultarRepositoriosDeEstruturasTest.php @@ -0,0 +1,125 @@ +mockService = $this->getMockBuilder(ProcessoEletronicoRN::class) + ->onlyMethods(['get']) + ->getMock(); + } + + /** + * Testa o método `consultarRepositoriosDeEstruturas` com retorno bem-sucedido. + * + * Verifica se o método: + * - Retorna uma instância de `RepositorioDTO`. + * - Preenche os atributos da instância com os valores corretos. + */ + public function testConsultarRepositoriosDeEstruturasComSucesso() + { + // Mock do retorno esperado do método get + $resultadoMock = [ + [ + 'id' => 1, + 'nome' => 'Repositório 1', + 'ativo' => true + ] + ]; + + $this->mockService->expects($this->once()) + ->method('get') + ->with('repositorios-de-estruturas/123/estruturas-organizacionais', ['ativo' => true]) + ->willReturn($resultadoMock); + + // Chamada do método + $resultado = $this->mockService->consultarRepositoriosDeEstruturas(123); + + // Validações + $this->assertInstanceOf(RepositorioDTO::class, $resultado); + $this->assertEquals(1, $resultado->getNumId()); + $this->assertEquals( + mb_convert_encoding('Repositório 1', 'ISO-8859-1', 'UTF-8'), + $resultado->getStrNome() + ); + $this->assertTrue($resultado->getBolAtivo()); + } + + /** + * Testa o método `consultarRepositoriosDeEstruturas` quando não há resultados. + * + * Verifica se o método: + * - Retorna `null` quando não há repositórios disponíveis. + */ + public function testConsultarRepositoriosDeEstruturasSemResultados() + { + // Mock do retorno esperado do método get + $resultadoMock = []; + + $this->mockService->expects($this->once()) + ->method('get') + ->with('repositorios-de-estruturas/123/estruturas-organizacionais', ['ativo' => true]) + ->willReturn($resultadoMock); + + // Chamada do método + $resultado = $this->mockService->consultarRepositoriosDeEstruturas(123); + + // Validações + $this->assertNull($resultado); + } + + /** + * Testa o método `consultarRepositoriosDeEstruturas` quando ocorre um erro. + * + * Verifica se o método: + * - Lança a exceção esperada (`InfraException`). + * - Contém a mensagem correta de erro. + */ + public function testConsultarRepositoriosDeEstruturasComErro() + { + // Configuração do mock para lançar uma exceção + $this->mockService->expects($this->once()) + ->method('get') + ->willThrowException(new Exception('Erro simulado')); + + // Expectativa de exceção + $this->expectException(InfraException::class); + $this->expectExceptionMessage('Falha na obtenção dos Repositórios de Estruturas Organizacionais'); + + // Chamada do método (deve lançar exceção) + $this->mockService->consultarRepositoriosDeEstruturas(123); + } +} diff --git a/tests_sei41/unitario/rn/ProcessoEletronicoRN/ConsultarRepositoriosDeEstruturasTest.php b/tests_sei41/unitario/rn/ProcessoEletronicoRN/ConsultarRepositoriosDeEstruturasTest.php new file mode 100644 index 00000000..f88a4cc7 --- /dev/null +++ b/tests_sei41/unitario/rn/ProcessoEletronicoRN/ConsultarRepositoriosDeEstruturasTest.php @@ -0,0 +1,125 @@ +mockService = $this->getMockBuilder(ProcessoEletronicoRN::class) + ->onlyMethods(['get']) + ->getMock(); + } + + /** + * Testa o método `consultarRepositoriosDeEstruturas` com retorno bem-sucedido. + * + * Verifica se o método: + * - Retorna uma instância de `RepositorioDTO`. + * - Preenche os atributos da instância com os valores corretos. + */ + public function testConsultarRepositoriosDeEstruturasComSucesso() + { + // Mock do retorno esperado do método get + $resultadoMock = [ + [ + 'id' => 1, + 'nome' => 'Repositório 1', + 'ativo' => true + ] + ]; + + $this->mockService->expects($this->once()) + ->method('get') + ->with('repositorios-de-estruturas/123/estruturas-organizacionais', ['ativo' => true]) + ->willReturn($resultadoMock); + + // Chamada do método + $resultado = $this->mockService->consultarRepositoriosDeEstruturas(123); + + // Validações + $this->assertInstanceOf(RepositorioDTO::class, $resultado); + $this->assertEquals(1, $resultado->getNumId()); + $this->assertEquals( + mb_convert_encoding('Repositório 1', 'ISO-8859-1', 'UTF-8'), + $resultado->getStrNome() + ); + $this->assertTrue($resultado->getBolAtivo()); + } + + /** + * Testa o método `consultarRepositoriosDeEstruturas` quando não há resultados. + * + * Verifica se o método: + * - Retorna `null` quando não há repositórios disponíveis. + */ + public function testConsultarRepositoriosDeEstruturasSemResultados() + { + // Mock do retorno esperado do método get + $resultadoMock = []; + + $this->mockService->expects($this->once()) + ->method('get') + ->with('repositorios-de-estruturas/123/estruturas-organizacionais', ['ativo' => true]) + ->willReturn($resultadoMock); + + // Chamada do método + $resultado = $this->mockService->consultarRepositoriosDeEstruturas(123); + + // Validações + $this->assertNull($resultado); + } + + /** + * Testa o método `consultarRepositoriosDeEstruturas` quando ocorre um erro. + * + * Verifica se o método: + * - Lança a exceção esperada (`InfraException`). + * - Contém a mensagem correta de erro. + */ + public function testConsultarRepositoriosDeEstruturasComErro() + { + // Configuração do mock para lançar uma exceção + $this->mockService->expects($this->once()) + ->method('get') + ->willThrowException(new Exception('Erro simulado')); + + // Expectativa de exceção + $this->expectException(InfraException::class); + $this->expectExceptionMessage('Falha na obtenção dos Repositórios de Estruturas Organizacionais'); + + // Chamada do método (deve lançar exceção) + $this->mockService->consultarRepositoriosDeEstruturas(123); + } +} diff --git a/tests_super/unitario/rn/ProcessoEletronicoRN/ConsultarRepositoriosDeEstruturasTest.php b/tests_super/unitario/rn/ProcessoEletronicoRN/ConsultarRepositoriosDeEstruturasTest.php new file mode 100644 index 00000000..f88a4cc7 --- /dev/null +++ b/tests_super/unitario/rn/ProcessoEletronicoRN/ConsultarRepositoriosDeEstruturasTest.php @@ -0,0 +1,125 @@ +mockService = $this->getMockBuilder(ProcessoEletronicoRN::class) + ->onlyMethods(['get']) + ->getMock(); + } + + /** + * Testa o método `consultarRepositoriosDeEstruturas` com retorno bem-sucedido. + * + * Verifica se o método: + * - Retorna uma instância de `RepositorioDTO`. + * - Preenche os atributos da instância com os valores corretos. + */ + public function testConsultarRepositoriosDeEstruturasComSucesso() + { + // Mock do retorno esperado do método get + $resultadoMock = [ + [ + 'id' => 1, + 'nome' => 'Repositório 1', + 'ativo' => true + ] + ]; + + $this->mockService->expects($this->once()) + ->method('get') + ->with('repositorios-de-estruturas/123/estruturas-organizacionais', ['ativo' => true]) + ->willReturn($resultadoMock); + + // Chamada do método + $resultado = $this->mockService->consultarRepositoriosDeEstruturas(123); + + // Validações + $this->assertInstanceOf(RepositorioDTO::class, $resultado); + $this->assertEquals(1, $resultado->getNumId()); + $this->assertEquals( + mb_convert_encoding('Repositório 1', 'ISO-8859-1', 'UTF-8'), + $resultado->getStrNome() + ); + $this->assertTrue($resultado->getBolAtivo()); + } + + /** + * Testa o método `consultarRepositoriosDeEstruturas` quando não há resultados. + * + * Verifica se o método: + * - Retorna `null` quando não há repositórios disponíveis. + */ + public function testConsultarRepositoriosDeEstruturasSemResultados() + { + // Mock do retorno esperado do método get + $resultadoMock = []; + + $this->mockService->expects($this->once()) + ->method('get') + ->with('repositorios-de-estruturas/123/estruturas-organizacionais', ['ativo' => true]) + ->willReturn($resultadoMock); + + // Chamada do método + $resultado = $this->mockService->consultarRepositoriosDeEstruturas(123); + + // Validações + $this->assertNull($resultado); + } + + /** + * Testa o método `consultarRepositoriosDeEstruturas` quando ocorre um erro. + * + * Verifica se o método: + * - Lança a exceção esperada (`InfraException`). + * - Contém a mensagem correta de erro. + */ + public function testConsultarRepositoriosDeEstruturasComErro() + { + // Configuração do mock para lançar uma exceção + $this->mockService->expects($this->once()) + ->method('get') + ->willThrowException(new Exception('Erro simulado')); + + // Expectativa de exceção + $this->expectException(InfraException::class); + $this->expectExceptionMessage('Falha na obtenção dos Repositórios de Estruturas Organizacionais'); + + // Chamada do método (deve lançar exceção) + $this->mockService->consultarRepositoriosDeEstruturas(123); + } +}