Skip to content

Funcionalidade: Importação de Dados do SIGAA (US-98, US-100, US-108) #3

@MSousa-1

Description

@MSousa-1

Como Administrador
Quero importar arquivos JSON do SIGAA
Para popular o banco de dados

Cenários de Teste US-98: Importação Básica

  1. Importação de arquivo JSON perfeito

    • Dado que seleciono o arquivo "turmas_2024.json" válido
    • Quando clico em "Importar Dados"
    • Então devo ver uma barra de progresso
    • E ao final devo ver a mensagem "Sucesso: 15 turmas e 450 alunos importados"
  2. Falha com extensão de arquivo incorreta

    • Dado que seleciono o arquivo "relatorio.pdf"
    • Quando tento fazer o upload
    • Então o sistema deve rejeitar o arquivo imediatamente
    • E exibir "Apenas arquivos .json são permitidos"
  3. Falha com estrutura JSON incorreta

    • Dado que seleciono um JSON onde falta o campo obrigatório "id_turma"
    • Quando o sistema processa o arquivo
    • Então a importação deve ser abortada
    • E devo ver o erro "Estrutura inválida: campo 'id_turma' ausente na linha 10"
  4. Arquivo excedendo limite de tamanho

    • Dado que tento importar um JSON de 50MB (acima do limite configurado)
    • Então o sistema deve exibir "O arquivo excede o tamanho máximo permitido (10MB)"
  5. Feedback visual de progresso

    • Quando inicio uma importação demorada
    • Então o botão de importar deve ficar em estado de "Carregando"
    • E não devo conseguir clicar nele novamente até o fim do processo

Cenários de Teste US-100: Cadastro de Usuários

  1. Criação de novos usuários

    • Dado que o JSON contém o aluno "Novo Aluno" inexistente no banco
    • Quando a importação finaliza
    • Então o sistema deve criar um registro na tabela Users para "Novo Aluno"
    • E o status deve ser "Aguardando Senha"
  2. Ignorar usuários com dados incompletos

    • Dado que o JSON contém um aluno sem matrícula
    • Quando a importação ocorre
    • Então esse aluno específico não deve ser salvo
    • E o sistema deve continuar importando os demais

Cenários de Teste US-108: Atualização

  1. Atualizar vínculo de turma

    • Dado que o aluno "João" estava na Turma A
    • E o novo JSON coloca o aluno "João" na Turma B
    • Quando importo o arquivo
    • Então o aluno "João" deve estar vinculado agora à Turma B
    • E o vínculo com a Turma A deve ser removido ou inativado
  2. Não duplicar usuário existente

    • Dado que "Maria" já existe no banco com matrícula "123"
    • Quando importo um JSON contendo "Maria" com matrícula "123"
    • Então o sistema deve atualizar os dados de "Maria" se necessário
    • Mas a contagem de usuários no banco não deve aumentar
  3. Conflito de ID duplicado no arquivo

    • Dado que o próprio arquivo JSON contém duas entradas diferentes com a mesma matrícula "999"
    • Quando o sistema valida o arquivo
    • Então deve abortar a operação
    • E informar "Duplicidade de matrícula '999' encontrada no arquivo"
  4. Integridade histórica

    • Dado que o aluno "Pedro" não consta no novo JSON importado
    • Então o registro de "Pedro" no banco deve permanecer intacto (não deletar)
    • Apenas seus vínculos com turmas ativas do semestre atual devem ser revisados

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions