Cenário 4: credit-portability_api_invalid-contract-terms_test-module_v1 - CPC

ESTE É UM CONTEÚDO EM DESENVOLVIMENTO E NÃO DEVE SER CONSIDERADO COMO VERSÃO FINAL!
Clique aqui para maiores informações

Cenário 4: credit-portability_api_invalid-contract-terms_test-module_v1 - CPC

Tipo do teste

Teste de exceção

Descrição

Validação de mensagens e comportamentos do sistema em situações de inconsistências no contrato de verificação de respostas.

Objetivo

Garante que o pedido de portabilidade seja rejeitado quando há inconsistências no contrato

Requisito de massa

Um contrato do tipo CREDITO_PESSOAL_CLEAN com o campo status como 'DISPONIVEL' e o campo isEligible como 'TRUE'

Script

Os passos abaixo são todas as requisições que serão feitas para a jornada do teste acima. Além das requisições temos as respostas esperada para cada requisição a ser realizada para respeitar o teste especifico.

Este cenário se encontra no arquivo disponibilizado em uma página de WIKI no Gitlab disponibilizado pela Raidiam.
Foi feita a tradução para português e criado um diagrama de sequência para auxilio no entendimento do cenário de teste.

Steps

Requisições

Respostas esperadas

Etapa da Jornada

Steps

Requisições

Respostas esperadas

Etapa da Jornada

1

Chamada de endpoint POST /consents com o grupo de permissão 'Credit Operations'

Status 201 - Garantindo de status como AWAITING_AUTHORISATION

Etapa de consentimento

2

Redirecionamento para usuário autorizar o consentimento

 

3

Chamada de endpoint GET /consents/{consentId}

Status 200 - Garantindo de status como AUTHORISED

4

Chamada de endpoint GET Loans Contracts

Status 200 - Recuperando todos os contractIds com productSubType = “CREDITO_PESSOAL_CLEAN” e companyCnpj

Etapa de busca e validação de contrato

5

Chamada de endpoint GET /credit-operations/{contractId}/portability-eligibility para cada contractId até encontrar ao menos um com status como "DISPONIVEL" e isEligible como "TRUE"

 

6

Chamada de endpoint GET Loans Contracts/{contractId}

Status 200 - Recuperando instalmentPeriodicity

7

Chamada de endpoint GET Loans Contracts/{contractId}/scheduled-installments

Status 200 - Recuperando dueInstalments

8

Chamada de endpoint GET Loans Contracts/{contractId}/payments

Status 200 - Recuperando contractOutstandingBalance

9

Chamada do endpoint POST /portabilities enviando os seguintes valores:
data.institution.creditor.companyCnpj = original companyCnpj
instalmentPeriodicity = original instalmentPeriodicity
proposedContract.totalNumberOfInstalments = original dueInstalments
contractAmount = original contractOutstandingBalance

Status 422 - Validação de resposta e código de erro esperado como 'CAMPO_INCONSISTENTE'

Etapa de criação de solicitação de portabilidade

10

Chamada do endpoint POST /portabilities enviando os seguintes valores:
data.institution.creditor.companyCnpj = original companyCnpj
instalmentPeriodicity ≠ different from original instalmentPeriodicity
proposedContract.totalNumberOfInstalments = original dueInstalments
contractAmount = original contractOutstandingBalance

Status 422 - Validação de resposta e código de erro esperado como 'PERIODICIDADE_INVALIDA'

11

Chamada do endpoint POST /portabilities enviando os seguintes valores:
data.institution.creditor.companyCnpj = original companyCnpj
instalmentPeriodicity = original instalmentPeriodicity
proposedContract.totalNumberOfInstalments > grater then original dueInstalments
contractAmount = original contractOutstandingBalance

Status 422 - Validação de resposta e código de erro esperado como 'PRAZO_ACIMA_LIMITE'

12

Chamada do endpoint POST /portabilities enviando os seguintes valores:
data.institution.creditor.companyCnpj = original companyCnpj
instalmentPeriodicity = original instalmentPeriodicity
proposedContract.totalNumberOfInstalments = original dueInstalments
contractAmount > grater then original contractOutstandingBalance

Status 422 - Validação de resposta e código de erro esperado como 'NAO_INFORMADO'

13

Fim do teste

 

 

 

 

Diagrama de sequência

ct4DS.svg

ESTE É UM CONTEÚDO EM DESENVOLVIMENTO E NÃO DEVE SER CONSIDERADO COMO VERSÃO FINAL!
Clique aqui para maiores informações