diff --git a/features/atualizar-base-csv.feature b/features/atualizar-base-csv.feature new file mode 100644 index 0000000000..455d1aecf1 --- /dev/null +++ b/features/atualizar-base-csv.feature @@ -0,0 +1,17 @@ +Feature: Atualizar base de dados com os dados do SIGAA + Como Administrador + Quero atualizar a base de dados já existente com os dados atuais do SIGAA + A fim de corrigir a base de dados do sistema + + Scenario: Atualiza a base de dados com sucesso + Given que o administrador está logado + When clica em importar dados + And adiciona o arquivo CSV válido + Then aparece uma mensagem informando que os dados foram atualizados com sucesso + And sou redirecionado para a página de cadastro de alunos + + Scenario: Falha ao atualizar a base de dados + When clica em importar dados + And adiciona um arquivo CSV inválido + Then o sistema impede a atualização dos dados + And exibe uma mensagem de erro informando que o arquivo não pode ser importado diff --git a/features/cadastrar-usuarios-csv.feature b/features/cadastrar-usuarios-csv.feature new file mode 100644 index 0000000000..ef5cd4b657 --- /dev/null +++ b/features/cadastrar-usuarios-csv.feature @@ -0,0 +1,17 @@ +Feature: Cadastro de usuários por um administrador + Como Administrador + Quero cadastrar participantes de turmas do SIGAA ao importar dados de usuários novos para o sistema + A fim de que eles acessem o sistema CAMAAR + + Scenario: Cadastro de alunos efetuado com sucesso + Given que um administrador acessa o sistema + When os dados dos usuários são importados por meio de um arquivo csv + Then sou redirecionado a uma nova página para cadastrar os alunos + And ao clicar no botão de cadastro, os alunos são cadastrados + And uma mensagem de cadastro de alunos efetuado com sucesso é exibida + + Scenario: Tentar cadastrar alunos com dados inválidos + Given que estou logado como administrador + When faço upload de um arquivo com dados errados + Then o sistema exibe uma mensagem de erro + And ao clicar no botão não acontece nada diff --git a/features/criar-template.feature b/features/criar-template.feature new file mode 100644 index 0000000000..073582497f --- /dev/null +++ b/features/criar-template.feature @@ -0,0 +1,16 @@ +Feature: Criar um template de formulário contendo as questões do formulário +Eu como Administrador +Quero criar um template de formulário contendo as questões do formulário +A fim de gerar formulários de avaliações para avaliar o desempenho das turmas + +Scenario: Criar template de formulário com sucesso +Given O administrador está logado na página de formulários +When O administrador preenche/estiliza o nome do template e as questões +Then O sistema salva o novo template de formulário +And Exibe uma mensagem de confirmação que o template foi criado + +Scenario: Falha ao criar o template por campos obrigatórios vazios +Given O administrador está logado na página de formulários +When O administrador tenta criar um template sem preencher todos os campos obrigatórios +Then O sistema impede a criação do template do formulário +And O sistema exibe uma mensagem informando que é necessário preencher todos os campos obrigatórios \ No newline at end of file diff --git a/features/definir-senha.feature b/features/definir-senha.feature new file mode 100644 index 0000000000..2137cbf16c --- /dev/null +++ b/features/definir-senha.feature @@ -0,0 +1,20 @@ +Feature: Definir uma senha para o usuário a partir do e-mail + Como Usuário + Quero definir uma senha para o meu usuário a partir do e-mail do sistema de solicitação de cadastro + A fim de acessar o sistema + + Scenario: Definição de senha com sucesso + Given que eu recebi um e-mail do sistema de solicitação de cadastro + When eu clico no link de definir minha senha no email recebido + And eu sou redirecionado para página de redefinição de senha + And eu coloco a nova senha + And eu clico em salvar + Then eu recebo a mensagem de senha cadastrada com sucesso + + Scenario: Falha na definição de senha + Given que eu recebi um e-mail do sistema de solicitação de cadastro + When eu clico no link de definir minha senha no email recebido + And eu sou redirecionado para página de redefinição de senha + And eu coloco a nova senha + And eu clico em salvar + Then eu recebo a mensagem de senha inválida diff --git a/features/editar-template.feature b/features/editar-template.feature new file mode 100644 index 0000000000..59661f0ce3 --- /dev/null +++ b/features/editar-template.feature @@ -0,0 +1,16 @@ +Feature: Edição e delegação de templates + Como Administrador + Quero editar e/ou deletar um template que eu criei sem afetar os formulários já criados + A fim de organizar os templates existentes + + Scenario: Editar ou deletar um template com sucesso + Given que o administrador está na página do template + When ele edita ou deleta os campos do template + Then o sistema deve editar ou deletar o template + And exibir uma mensagem de confirmação + + Scenario: Falha ao editar um template com dados inválidos + Given que o administrador está na página do template + When ele tenta editar o template inserindo dados inválidos + Then o sistema não aceita os dados inválidos + And exibe uma mensagem de erro diff --git a/features/formularios-avaliacao.feature b/features/formularios-avaliacao.feature new file mode 100644 index 0000000000..53cd4c6f06 --- /dev/null +++ b/features/formularios-avaliacao.feature @@ -0,0 +1,17 @@ +Feature: Criar um formulário baseado em um template +Eu como Administrador +Quero criar um formulário baseado em um template para as turmas que eu escolher +A fim de avaliar o desempenho das turmas no semestre atual + +Scenario: criação de formulário com sucesso +Given que eu sou administrador +When eu clico no botão criar formulário +And seleciono o template +And seleciono as turmas que receberão o formulário +Then devo receber uma mensagem de formulário criado com sucesso + +Scenario: tentativa de criar formulário sem preencher as turmas +Given que eu sou administrador +When eu clico no botão criar formulário +And seleciono o template +And devo receber uma mensagem de erro, falando que não preenchi as turmas diff --git a/features/gerar-relatorio-adm.feature b/features/gerar-relatorio-adm.feature new file mode 100644 index 0000000000..d41f657cac --- /dev/null +++ b/features/gerar-relatorio-adm.feature @@ -0,0 +1,16 @@ +Feature: Gerar relatório como administrador +Como Administrador +Quero baixar um arquivo csv contendo os resultados de um formulário +A fim de avaliar o desempenho das turmas + +Scenario: Gerar relatório de formulários com respostas +Given que existe um formulário com respostas +When o administrador seleciona o formulário para gerar o relatório +Then o sistema gera o arquivo csv +And o download é iniciado automaticamente + +Scenario: Tentar gerar relatório com formulário vazio +Given que existe um formulário sem respostas +When o administrador tenta gerar o relatório em csv +Then O sistema gera um arquivo, porém o conteúdo aparece vazio ou corrompido +And O sistema gera uma mensagem informando que o arquivo está vazio/corrompido diff --git a/features/importar-json-sigaa.feature b/features/importar-json-sigaa.feature new file mode 100644 index 0000000000..b998699300 --- /dev/null +++ b/features/importar-json-sigaa.feature @@ -0,0 +1,16 @@ +Feature: Importar dados do SIGAA + Como Administrador + Quero importar dados de turmas, matérias e participantes do SIGAA + Para alimentar a base de dados do sistema + + Scenario: Importar dados do SIGAA com sucesso + Given que o administrador está logado no sistema + When o administrador solicita a importação dos dados do SIGAA + Then o sistema lê os arquivos JSON + And importa somente os dados que não existem na base + + Scenario: Erro ao tentar importar dados duplicados + Given que o administrador está logado no sistema + When o administrador solicita a importação dos dados do SIGAA + Then o sistema detecta registros duplicados + And exibe uma mensagem de erro informando que a importação não pode ser concluída devido aos dados duplicados diff --git a/features/login-usuario.feature b/features/login-usuario.feature new file mode 100644 index 0000000000..d3f04371da --- /dev/null +++ b/features/login-usuario.feature @@ -0,0 +1,19 @@ +Feature: Logar com os dados cadastrados +Eu como Usuário do sistema +Quero acessar o sistema utilizando um e-mail ou matrícula e uma senha já cadastrada +A fim de responder formulários ou gerenciar o sistema +Obs: Quando o Usuário logado for um admin deve-se mostrar a opção de gerenciamento no menu lateral. + +Scenario: Acesso correspondente ao meu tipo de cadastro +Given que eu possuo uma acesso cadastrado como admin/aluno +When adiciono meu e-mail/matrícula e senha +Then clico no botão de entrar +And sou redirecionado ao menu +And o menu lateral mostra opção de gerenciamento, caso for um administrador + +Scenario: Acesso não correspondente ao meu tipo de cadastro +Given que eu possuo uma acesso cadastrado como admin/aluno +When adiciono meu e-mail/matrícula e senha +Then clico no botão de entrar +And sou redirecionado ao menu +And o menu lateral não mostra opção de gerenciamento, se for um administrador diff --git a/features/responder-formulario.feature b/features/responder-formulario.feature new file mode 100644 index 0000000000..9a609f7ef5 --- /dev/null +++ b/features/responder-formulario.feature @@ -0,0 +1,16 @@ +Feature: Responder formulário +Eu como Participante de uma turma +Quero responder o questionário sobre a turma em que estou matriculado +A fim de submeter minha avaliação da turma + +Scenario: respostas enviadas +Given que o participante abriu o formulário pendente +When ele preenche todas as respostas obrigatórias +Then e o sistema salva as respostas +And exibe mensagem de confirmação + +Scenario: resposta incompleta +Given que o participante abriu o formulário +When ele tenta enviar sem preencher os campos obrigatórios +Then o sistema não salva a resposta +And exibe uma mensagem de erro diff --git a/features/visualizar-formularios-pendentes.feature b/features/visualizar-formularios-pendentes.feature new file mode 100644 index 0000000000..e24536dd7d --- /dev/null +++ b/features/visualizar-formularios-pendentes.feature @@ -0,0 +1,20 @@ +Feature: Visualização de formulários pendentes + Como Participante de uma turma + Quero visualizar os formulários não respondidos das turmas em que estou matriculado + Para poder escolher qual formulário desejo responder + + Scenario: Visualizar os formulários pendentes com sucesso + Given que o participante está logado no sistema + And está matriculado em uma ou mais turmas + And existem formulários pendentes para essas turmas + When o participante acessa a página de formulários disponíveis + Then o sistema exibe a lista de formulários não respondidos + And o participante pode selecionar qual formulário deseja responder + + Scenario: Nenhum formulário disponível para responder + Given que o participante está logado no sistema + And está matriculado em uma ou mais turmas + And não existem formulários pendentes para responder + When o participante acessa a página de formulários disponíveis + Then o sistema informa que não há formulários pendentes para responder + And nenhuma opção de formulário é exibida na lista diff --git a/features/visualizar-resultados-formulario.feature b/features/visualizar-resultados-formulario.feature new file mode 100644 index 0000000000..adc503aa8d --- /dev/null +++ b/features/visualizar-resultados-formulario.feature @@ -0,0 +1,17 @@ +Feature: Visualização de resultados dos formulários +Eu como Administrador +Quero visualizar os formulários criados +Para poder gerar um relatório a partir das respostas + +Scenario: Exibir formulários disponíveis +Given existem formulários criados +When o sistema carrega os formulários +Then exibe os resultados dos formulários +And permite ver os resultados + +Scenario: O formulário carrega mas os resultados estão inacessíveis + +Given existem formulários criados +When o sistema carrega os formulários +Then os formulários são exibidos, porém sem a opção de visualizar os resultados +And o administrador não consegue gerar relatórios a partir dos dados diff --git a/features/visualizar-templates.feature b/features/visualizar-templates.feature new file mode 100644 index 0000000000..2c3114c6f7 --- /dev/null +++ b/features/visualizar-templates.feature @@ -0,0 +1,19 @@ +Feature: Visualizar templates criados + Como Administrador + Quero visualizar os templates criados + Para gerenciar, editar e deletar templates conforme necessidade + + Scenario: Visualizar templates com sucesso + Given que estou logado como administrador + And existem templates cadastrados + When acesso a página de templates + Then vejo a lista de templates já criados + And tenho acesso às opções de edição e exclusão de cada template + + Scenario: Erro ao carregar templates + Given que estou logado como administrador + And ocorre uma falha ao buscar os templates no sistema + When acesso a página de templates + Then o sistema exibe uma mensagem de erro informando que não foi possível carregar os templates + And nenhum template é exibido na tela +