diff --git a/tests_sei4/unitario/rn/ProcessoEletronicoRN/ConsultarMotivosUrgenciaTest.php b/tests_sei4/unitario/rn/ProcessoEletronicoRN/ConsultarMotivosUrgenciaTest.php new file mode 100644 index 00000000..852f8fc8 --- /dev/null +++ b/tests_sei4/unitario/rn/ProcessoEletronicoRN/ConsultarMotivosUrgenciaTest.php @@ -0,0 +1,126 @@ +mockService = $this->getMockBuilder(ProcessoEletronicoRN::class) + ->onlyMethods(['consultarEstruturas', 'get']) + ->getMock(); + } + + /** + * Testa o método `consultarMotivosUrgencia` com retorno bem-sucedido. + * + * Verifica se o método: + * - Retorna um array. + * - Contém os motivos de urgência esperados. + */ + public function testConsultarMotivosUrgenciaComSucesso() + { + // Mock do retorno esperado do método get + $resultadoMock = [ + 'motivosUrgencia' => [ + ['descricao' => 'Motivo 1'], + ['descricao' => 'Motivo 2'], + ] + ]; + + $this->mockService->expects($this->once()) + ->method('get') + ->with('motivosUrgencia', []) + ->willReturn($resultadoMock); + + // Chamada do método + $resultado = $this->mockService->consultarMotivosUrgencia(); + + // Validações + $this->assertIsArray($resultado); + $this->assertCount(2, $resultado); + $this->assertEquals('Motivo 1', $resultado[0]); + $this->assertEquals('Motivo 2', $resultado[1]); + } + + /** + * Testa o método `consultarMotivosUrgencia` quando não há resultados. + * + * Verifica se o método: + * - Retorna um array vazio. + */ + public function testConsultarMotivosUrgenciaSemResultados() + { + // Mock do retorno esperado do método get + $resultadoMock = [ + 'motivosUrgencia' => [] + ]; + + $this->mockService->expects($this->once()) + ->method('get') + ->with('motivosUrgencia', []) + ->willReturn($resultadoMock); + + // Chamada do método + $resultado = $this->mockService->consultarMotivosUrgencia(); + + // Validações + $this->assertIsArray($resultado); + $this->assertEmpty($resultado); + } + + /** + * Testa o método `consultarMotivosUrgencia` 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 testConsultarMotivosUrgenciaComErro() + { + // 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 de unidades externas'); + + // Chamada do método (deve lançar exceção) + $this->mockService->consultarMotivosUrgencia(); + } +} diff --git a/tests_sei41/unitario/rn/ProcessoEletronicoRN/ConsultarMotivosUrgenciaTest.php b/tests_sei41/unitario/rn/ProcessoEletronicoRN/ConsultarMotivosUrgenciaTest.php new file mode 100644 index 00000000..852f8fc8 --- /dev/null +++ b/tests_sei41/unitario/rn/ProcessoEletronicoRN/ConsultarMotivosUrgenciaTest.php @@ -0,0 +1,126 @@ +mockService = $this->getMockBuilder(ProcessoEletronicoRN::class) + ->onlyMethods(['consultarEstruturas', 'get']) + ->getMock(); + } + + /** + * Testa o método `consultarMotivosUrgencia` com retorno bem-sucedido. + * + * Verifica se o método: + * - Retorna um array. + * - Contém os motivos de urgência esperados. + */ + public function testConsultarMotivosUrgenciaComSucesso() + { + // Mock do retorno esperado do método get + $resultadoMock = [ + 'motivosUrgencia' => [ + ['descricao' => 'Motivo 1'], + ['descricao' => 'Motivo 2'], + ] + ]; + + $this->mockService->expects($this->once()) + ->method('get') + ->with('motivosUrgencia', []) + ->willReturn($resultadoMock); + + // Chamada do método + $resultado = $this->mockService->consultarMotivosUrgencia(); + + // Validações + $this->assertIsArray($resultado); + $this->assertCount(2, $resultado); + $this->assertEquals('Motivo 1', $resultado[0]); + $this->assertEquals('Motivo 2', $resultado[1]); + } + + /** + * Testa o método `consultarMotivosUrgencia` quando não há resultados. + * + * Verifica se o método: + * - Retorna um array vazio. + */ + public function testConsultarMotivosUrgenciaSemResultados() + { + // Mock do retorno esperado do método get + $resultadoMock = [ + 'motivosUrgencia' => [] + ]; + + $this->mockService->expects($this->once()) + ->method('get') + ->with('motivosUrgencia', []) + ->willReturn($resultadoMock); + + // Chamada do método + $resultado = $this->mockService->consultarMotivosUrgencia(); + + // Validações + $this->assertIsArray($resultado); + $this->assertEmpty($resultado); + } + + /** + * Testa o método `consultarMotivosUrgencia` 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 testConsultarMotivosUrgenciaComErro() + { + // 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 de unidades externas'); + + // Chamada do método (deve lançar exceção) + $this->mockService->consultarMotivosUrgencia(); + } +} diff --git a/tests_super/unitario/rn/ProcessoEletronicoRN/ConsultarMotivosUrgenciaTest.php b/tests_super/unitario/rn/ProcessoEletronicoRN/ConsultarMotivosUrgenciaTest.php new file mode 100644 index 00000000..852f8fc8 --- /dev/null +++ b/tests_super/unitario/rn/ProcessoEletronicoRN/ConsultarMotivosUrgenciaTest.php @@ -0,0 +1,126 @@ +mockService = $this->getMockBuilder(ProcessoEletronicoRN::class) + ->onlyMethods(['consultarEstruturas', 'get']) + ->getMock(); + } + + /** + * Testa o método `consultarMotivosUrgencia` com retorno bem-sucedido. + * + * Verifica se o método: + * - Retorna um array. + * - Contém os motivos de urgência esperados. + */ + public function testConsultarMotivosUrgenciaComSucesso() + { + // Mock do retorno esperado do método get + $resultadoMock = [ + 'motivosUrgencia' => [ + ['descricao' => 'Motivo 1'], + ['descricao' => 'Motivo 2'], + ] + ]; + + $this->mockService->expects($this->once()) + ->method('get') + ->with('motivosUrgencia', []) + ->willReturn($resultadoMock); + + // Chamada do método + $resultado = $this->mockService->consultarMotivosUrgencia(); + + // Validações + $this->assertIsArray($resultado); + $this->assertCount(2, $resultado); + $this->assertEquals('Motivo 1', $resultado[0]); + $this->assertEquals('Motivo 2', $resultado[1]); + } + + /** + * Testa o método `consultarMotivosUrgencia` quando não há resultados. + * + * Verifica se o método: + * - Retorna um array vazio. + */ + public function testConsultarMotivosUrgenciaSemResultados() + { + // Mock do retorno esperado do método get + $resultadoMock = [ + 'motivosUrgencia' => [] + ]; + + $this->mockService->expects($this->once()) + ->method('get') + ->with('motivosUrgencia', []) + ->willReturn($resultadoMock); + + // Chamada do método + $resultado = $this->mockService->consultarMotivosUrgencia(); + + // Validações + $this->assertIsArray($resultado); + $this->assertEmpty($resultado); + } + + /** + * Testa o método `consultarMotivosUrgencia` 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 testConsultarMotivosUrgenciaComErro() + { + // 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 de unidades externas'); + + // Chamada do método (deve lançar exceção) + $this->mockService->consultarMotivosUrgencia(); + } +}