diff --git a/tests_sei4/unitario/rn/ProcessoEletronicoRN/SolicitarMetadadosTest.php b/tests_sei4/unitario/rn/ProcessoEletronicoRN/SolicitarMetadadosTest.php new file mode 100644 index 00000000..47f1e257 --- /dev/null +++ b/tests_sei4/unitario/rn/ProcessoEletronicoRN/SolicitarMetadadosTest.php @@ -0,0 +1,117 @@ +mockService = $this->getMockBuilder(ProcessoEletronicoRN::class) + ->onlyMethods(['get', 'converterArrayParaObjeto']) + ->getMock(); + } + + /** + * Testa o método solicitarMetadados para um caso de sucesso. + * + * Este teste verifica se o método retorna um objeto stdClass corretamente + * configurado quando os dados retornados pelo método get são válidos. + * + * @return void + */ + public function testSolicitarMetadadosRetornaObjetoCorreto() + { + $parNumIdentificacaoTramite = 123; + + // Simular a resposta do método get + $mockResponse = [ + 'propriedadesAdicionais' => ['algum_valor'], + 'processo' => [ + 'documentos' => [ + [ + 'componentesDigitais' => [ + [ + 'assinaturasDigitais' => [ + ['alguma_assinatura'] + ] + ] + ] + ] + ] + ] + ]; + + $mockConvertedObject = (object) [ + 'nre' => '123456', + 'processo' => (object) [ + 'documentos' => [(object) ['algum_valor']], + 'interessados' => [(object) ['algum_interessado']] + ] + ]; + + // Configura o mock para o método get + $this->mockService->expects($this->once()) + ->method('get') + ->willReturn($mockResponse); + + // Configura o mock para o método converterArrayParaObjeto + $this->mockService->expects($this->once()) + ->method('converterArrayParaObjeto') + ->willReturn($mockConvertedObject); + + // Chama o método a ser testado + $resultado = $this->mockService->solicitarMetadados($parNumIdentificacaoTramite); + + // Verifica o retorno + $this->assertInstanceOf(stdClass::class, $resultado); + $this->assertEquals($parNumIdentificacaoTramite, $resultado->IDT); + $this->assertEquals('123456', $resultado->metadados->NRE); + } + + /** + * Testa o método solicitarMetadados para um caso de falha. + * + * Este teste verifica se uma exceção InfraException é lançada corretamente + * quando o método get falha ao buscar os dados necessários. + * + * @return void + */ + public function testSolicitarMetadadosLancaExcecao() + { + $parNumIdentificacaoTramite = 123; + + // Configura o mock para o método get para lançar uma exceção + $this->mockService->expects($this->once()) + ->method('get') + ->willThrowException(new Exception('Erro no web service')); + + $this->expectException(InfraException::class); + $this->expectExceptionMessage('Falha na solicitação de metadados do processo'); + + // Chama o método e espera uma exceção + $this->mockService->solicitarMetadados($parNumIdentificacaoTramite); + } +} diff --git a/tests_sei41/unitario/rn/ProcessoEletronicoRN/SolicitarMetadadosTest.php b/tests_sei41/unitario/rn/ProcessoEletronicoRN/SolicitarMetadadosTest.php new file mode 100644 index 00000000..47f1e257 --- /dev/null +++ b/tests_sei41/unitario/rn/ProcessoEletronicoRN/SolicitarMetadadosTest.php @@ -0,0 +1,117 @@ +mockService = $this->getMockBuilder(ProcessoEletronicoRN::class) + ->onlyMethods(['get', 'converterArrayParaObjeto']) + ->getMock(); + } + + /** + * Testa o método solicitarMetadados para um caso de sucesso. + * + * Este teste verifica se o método retorna um objeto stdClass corretamente + * configurado quando os dados retornados pelo método get são válidos. + * + * @return void + */ + public function testSolicitarMetadadosRetornaObjetoCorreto() + { + $parNumIdentificacaoTramite = 123; + + // Simular a resposta do método get + $mockResponse = [ + 'propriedadesAdicionais' => ['algum_valor'], + 'processo' => [ + 'documentos' => [ + [ + 'componentesDigitais' => [ + [ + 'assinaturasDigitais' => [ + ['alguma_assinatura'] + ] + ] + ] + ] + ] + ] + ]; + + $mockConvertedObject = (object) [ + 'nre' => '123456', + 'processo' => (object) [ + 'documentos' => [(object) ['algum_valor']], + 'interessados' => [(object) ['algum_interessado']] + ] + ]; + + // Configura o mock para o método get + $this->mockService->expects($this->once()) + ->method('get') + ->willReturn($mockResponse); + + // Configura o mock para o método converterArrayParaObjeto + $this->mockService->expects($this->once()) + ->method('converterArrayParaObjeto') + ->willReturn($mockConvertedObject); + + // Chama o método a ser testado + $resultado = $this->mockService->solicitarMetadados($parNumIdentificacaoTramite); + + // Verifica o retorno + $this->assertInstanceOf(stdClass::class, $resultado); + $this->assertEquals($parNumIdentificacaoTramite, $resultado->IDT); + $this->assertEquals('123456', $resultado->metadados->NRE); + } + + /** + * Testa o método solicitarMetadados para um caso de falha. + * + * Este teste verifica se uma exceção InfraException é lançada corretamente + * quando o método get falha ao buscar os dados necessários. + * + * @return void + */ + public function testSolicitarMetadadosLancaExcecao() + { + $parNumIdentificacaoTramite = 123; + + // Configura o mock para o método get para lançar uma exceção + $this->mockService->expects($this->once()) + ->method('get') + ->willThrowException(new Exception('Erro no web service')); + + $this->expectException(InfraException::class); + $this->expectExceptionMessage('Falha na solicitação de metadados do processo'); + + // Chama o método e espera uma exceção + $this->mockService->solicitarMetadados($parNumIdentificacaoTramite); + } +} diff --git a/tests_super/unitario/rn/ProcessoEletronicoRN/SolicitarMetadadosTest.php b/tests_super/unitario/rn/ProcessoEletronicoRN/SolicitarMetadadosTest.php new file mode 100644 index 00000000..47f1e257 --- /dev/null +++ b/tests_super/unitario/rn/ProcessoEletronicoRN/SolicitarMetadadosTest.php @@ -0,0 +1,117 @@ +mockService = $this->getMockBuilder(ProcessoEletronicoRN::class) + ->onlyMethods(['get', 'converterArrayParaObjeto']) + ->getMock(); + } + + /** + * Testa o método solicitarMetadados para um caso de sucesso. + * + * Este teste verifica se o método retorna um objeto stdClass corretamente + * configurado quando os dados retornados pelo método get são válidos. + * + * @return void + */ + public function testSolicitarMetadadosRetornaObjetoCorreto() + { + $parNumIdentificacaoTramite = 123; + + // Simular a resposta do método get + $mockResponse = [ + 'propriedadesAdicionais' => ['algum_valor'], + 'processo' => [ + 'documentos' => [ + [ + 'componentesDigitais' => [ + [ + 'assinaturasDigitais' => [ + ['alguma_assinatura'] + ] + ] + ] + ] + ] + ] + ]; + + $mockConvertedObject = (object) [ + 'nre' => '123456', + 'processo' => (object) [ + 'documentos' => [(object) ['algum_valor']], + 'interessados' => [(object) ['algum_interessado']] + ] + ]; + + // Configura o mock para o método get + $this->mockService->expects($this->once()) + ->method('get') + ->willReturn($mockResponse); + + // Configura o mock para o método converterArrayParaObjeto + $this->mockService->expects($this->once()) + ->method('converterArrayParaObjeto') + ->willReturn($mockConvertedObject); + + // Chama o método a ser testado + $resultado = $this->mockService->solicitarMetadados($parNumIdentificacaoTramite); + + // Verifica o retorno + $this->assertInstanceOf(stdClass::class, $resultado); + $this->assertEquals($parNumIdentificacaoTramite, $resultado->IDT); + $this->assertEquals('123456', $resultado->metadados->NRE); + } + + /** + * Testa o método solicitarMetadados para um caso de falha. + * + * Este teste verifica se uma exceção InfraException é lançada corretamente + * quando o método get falha ao buscar os dados necessários. + * + * @return void + */ + public function testSolicitarMetadadosLancaExcecao() + { + $parNumIdentificacaoTramite = 123; + + // Configura o mock para o método get para lançar uma exceção + $this->mockService->expects($this->once()) + ->method('get') + ->willThrowException(new Exception('Erro no web service')); + + $this->expectException(InfraException::class); + $this->expectExceptionMessage('Falha na solicitação de metadados do processo'); + + // Chama o método e espera uma exceção + $this->mockService->solicitarMetadados($parNumIdentificacaoTramite); + } +}