US3005 - ArthurSchiavom/gestao-informacao-chao-de-fabrica--projeto-academico GitHub Wiki

US3005

1. Requisitos

Como Gestor de Chão de Fábrica, eu pretendo consultar as notificações de erros de processamento por tratar.

2. Análise

SSD

SSD

3. Design

3.1. Realização da Funcionalidade

SD

SD

3.2. Diagrama de Classes

CD

CD

3.3. Padrões Aplicados

DTO - Para enviar os dados das classes ao UI sem quebrar

3.4. Testes

Teste 1: Garantir que notificacao de erro tem identificador de linha de Producao

@Test(expected = IllegalArgumentException.class)
public void garantirQueNotificacaoDeErroTemLinhaProducao() {
    new NotificacaoErro(null, TipoErroNotificacao.DADOS_INVALIDOS, 2L, lProdRepo, msgRepo);
}

Teste 2: Garantir que notificacao de erro tem tipoErro

@Test(expected = IllegalArgumentException.class)
public void garantirQueNotificacaoDeErroTemTipoErro() {
    new NotificacaoErro(idDummy, null, 2L, lProdRepo, msgRepo);
}

Teste 3: Garantir que notificacao de erro tem ID de Mensagem

@Test(expected = IllegalArgumentException.class)
public void garantirQueNotificacaoDeErroTemIdMensagem() {
    new NotificacaoErro(idDummy, TipoErroNotificacao.DADOS_INVALIDOS, null, lProdRepo, msgRepo);
}

Teste 4: Garantir que notificacao de erro tem acesso ao repositório de linhas de produção

@Test(expected = IllegalArgumentException.class)
public void garantirQueNotificacaoDeErroTemRepoLProd() {
    new NotificacaoErro(idDummy, TipoErroNotificacao.DADOS_INVALIDOS, 2L, null, msgRepo);
}

Teste 5: Garantir que notificação de erro tem acesso ao repositório de mensagens

@Test(expected = IllegalArgumentException.class)
public void garantirQueNotificacaoDeErroTemRepoMensagens() {
    new NotificacaoErro(idDummy, TipoErroNotificacao.DADOS_INVALIDOS, 2L, lProdRepo, null);
}

Teste 6: Garantir que o identificador da linha de produção introduzido corresponde a uma linha de produção

@Test(expected = IllegalArgumentException.class)
public void garantirQueIDLinhaProdExiste() {
    Mockito.when(lProdRepo.containsOfIdentity(idDummy)).thenReturn(false);
    new NotificacaoErro(idDummy, TipoErroNotificacao.DADOS_INVALIDOS, 2L, lProdRepo, msgRepo);
}

Teste 7: Garantir que o id da mensagem introduzido corresponde a uma mensagem

@Test(expected = IllegalArgumentException.class)
public void garantirQueIDMensagemExiste() {
    Mockito.when(lProdRepo.containsOfIdentity(idDummy)).thenReturn(true);
    Mockito.when(msgRepo.containsOfIdentity(2L)).thenReturn(false);
    new NotificacaoErro(idDummy, TipoErroNotificacao.DADOS_INVALIDOS, 2L, lProdRepo, msgRepo);
}

4. Integração/Demonstração

n/a

5. Observações

n/a

⚠️ **GitHub.com Fallback** ⚠️