- Contexto de Trigger em Massa
- Modelo de desenvolvimento Trigger - Handler - Util
- Tipo de registro para Customer e Conta, Pessoa Física e Pessoa Jurídica
- Manter padrão BR em CPF, CNPJ e Telefone
- Nome (Texto, obrigatório, único)
- Conta relacionada (Pesquisa)
- Status (Lista de opções, obrigatório)
- Novo
- Em análise
- Enviado para integração *
- Integrado
- CPF (Inteiro, obrigatório quando Pessoa Física) - View: Apenas Layout PF
- CNPJ (Inteiro, obrigatório quando Pessoa Jurídica) - View: Apenas Layout PJ
- Telefone (Telefone)
- E-mail (Email)
- Não deve ser possível criar um registro de Customer com CPF/CNPJ já cadastrado em alguma Conta (Ao atualizar esta regra deve ser reproduzida)
- Para Customers recém criados, campo status deve ser obrigatoriamente Novo
- Campo status apenas pode ser passado para Enviado para integração se Telefone/E-mail estiver preenchido
- Quando status for Enviado para integração:
- Deve ser iniciado um Processo de aprovação
- Caso o Processo seja recusado:
⇾ Status deve voltar para Em análise - Caso o Processo seja aprovado:
⇾ Deve ser criado uma Conta utilizando os dados necessários de Customer
⇾ Também, deve ser criado um Contato utilizando os dados de Customer
⇾ Campo Conta relacionada deve ser preenchido com essa Conta
⇾ Status deve ser alterado para Integrado
⇾ Não deve mais ser possível alterar Customer
-
O valor do CPF/CNPJ deve ser preenchido de acordo com a Conta relacionada
-
Não deve ser possível modificar CPF/CNPJ inserido
-
Para Customers recém criados, campo status deve ser obrigatoriamente Novo
-
Campo status apenas pode ser passado para Enviado para integração se Telefone/E-mail estiver preenchido
-
Quando status for Enviado para integração:
-
Deve ser iniciado um Processo de aprovação
-
Caso o Processo seja recusado:
⇾ Status deve voltar para Em análise -
Caso o Processo seja aprovado:
⇾ Deve ser criado um Contato utilizando os dados de Customer
⇾ Status deve ser alterado para Integrado
⇾ Não deve mais ser possível alterar Customer -
Caso os dados da Conta referente ao campo Conta relacionada sejam modificados, as alterações devem ser refletidas em Customer
- Deletar Customer, Conta e Contato gerados pelo customer.
- Deletar Customer e Contato gerado pelo customer.
- Deletar Contato e Customer que gerou esse contato.
- Deletar Conta, Contatos e Customers referentes àquela Conta.
- TestDataFactory;
- Testes em massa;