Não sei se é a melhor implementação, mas estou incluindo um indicador em tarefas urgentes:
No mais:
Removi um <main> sobrando no app/templates/todo.html.
Uma correção no tamanho das colunas em app/static/css/grid.css para evitar quebrar a página enquanto as tarefas não forem carregadas.
Corrigi o page object em features/page_objects/pages.py que estava criando tarefas como urgente, mesmo quando utilizado False no gherkin. if urgent sempre retornava verdadeiro, ex: if "False": é verdadeiro.
O black acabou mexendo nas aspas do features/steps/todo.py (mals), mas implementei somente dois steps pra validar os casos da tarefa ser urgente ou não.
(.venv) C:\Users\Renan\Desktop\dev\todo_list_flask_brython>behave features\
Funcionalidade: Criação de conta # features/account_create.feature:2
Contexto: # features/account_create.feature:3
Cenário: A aplicação deve redirecionar para a página de TODO ao registrar um usuário com sucesso # features/account_create.feature:6
Dado que esteja na página de "register" # features/steps/todo.py:8
Quando registrar minha conta # features/steps/create_user.py:5
| nome | email | senha |
| Beto Cone | beto@cone.com | 123 |
Então deverá ser redirecionado para a pagina de "todo" # features/steps/create_user.py:14
Cenário: A aplicação deve redirecionar para a página de register ao tentar cadastrar um usuário com e-mail já cadastrado # features/account_create.feature:12
Dado que esteja na página de "register" # features/steps/todo.py:8
Quando registrar minha conta # features/steps/create_user.py:5
| nome | email | senha |
| Beto Cone | beto@cone.com | 123 |
Dado faça logout # features/steps/login.py:43
E que esteja na página de "register" # features/steps/todo.py:8
Quando registrar minha conta # features/steps/create_user.py:5
| nome | email | senha |
| Beto Cone | beto@cone.com | 123 |
Então a mensagem de erro deverá ser exibida # features/steps/login.py:36
"""
Algo deu errado!
"""
Funcionalidade: Criação de tarefas # features/criacao_de_tarefas.feature:2
Contexto: Entrar na área logada # features/criacao_de_tarefas.feature:3
Cenário: Criar tarefa # features/criacao_de_tarefas.feature:7
Dado que esteja logado # features/steps/login.py:6
E que esteja na página de "todo" # features/steps/todo.py:8
Quando criar tarefa # features/steps/todo.py:14
| nome | descrição |
| Dormir | Pq é bom |
Então a tarefa deve estar na pilha "A fazer" # features/steps/todo.py:25
| nome | descrição |
| Dormir | Pq é bom |
Cenário: Carregamento automático das TODOS # features/criacao_de_tarefas.feature:15
Dado que esteja logado # features/steps/login.py:6
E que esteja na página de "todo" # features/steps/todo.py:8
Quando criar as tarefas # features/steps/todo.py:14
| nome | descrição | urgente |
| Liga para Beto | Telefone +15 51515151 | False |
| ir no mercado | Promoção no mercado x | True |
E atualizar a página # features/steps/todo.py:49
Então as tarefas devem estar na pilha "A fazer" # features/steps/todo.py:25
| nome | descrição |
| Liga para Beto | Telefone +15 51515151 |
| ir no mercado | Promoção no mercado x |
E a tarefa deve estar no topo da pilha "A fazer" # features/steps/todo.py:54
| nome | descrição |
| ir no mercado | Promoção no mercado x |
Cenário: Prioridades de tarefas # features/criacao_de_tarefas.feature:29
Dado que esteja logado # features/steps/login.py:6
E que esteja na página de "todo" # features/steps/todo.py:8
Quando criar as tarefas # features/steps/todo.py:14
| nome | descrição | urgente |
| Fazer bolo | não esquecer o fermento | False |
| ir no mercado | Promoção no mercado x | True |
Então a tarefa deve estar no topo da pilha "A fazer" # features/steps/todo.py:54
| nome | descrição |
| ir no mercado | Promoção no mercado x |
Cenário: Tarefa urgente deve exibir indicador de urgência # features/criacao_de_tarefas.feature:39
Dado que esteja logado # features/steps/login.py:6
E que esteja na página de "todo" # features/steps/todo.py:8
Quando criar tarefa # features/steps/todo.py:14
| nome | descrição | urgente |
| Fazer bolo | não esquecer o fermento | True |
Então a tarefa no topo da pilha "A fazer" deverá ter indicativo de urgência # features/steps/todo.py:91
Cenário: Tarefa sem urgência não deve exibir indicador de urgência # features/criacao_de_tarefas.feature:45
Dado que esteja logado # features/steps/login.py:6
E que esteja na página de "todo" # features/steps/todo.py:8
Quando criar tarefa # features/steps/todo.py:14
| nome | descrição | urgente |
| Fazer bolo | não esquecer o fermento | False |
Então a tarefa no topo da pilha "A fazer" não deverá ter indicativo de urgência # features/steps/todo.py:99
Funcionalidade: Login # features/login.feature:2
Contexto: Oágina de login # features/login.feature:3
Cenário: Login com credenciais inválidas # features/login.feature:6
Dado que esteja na página de "login" # features/steps/todo.py:8
Quando logar com credenciais inválidas # features/steps/login.py:26
Então a mensagem de erro deverá ser exibida # features/steps/login.py:36
"""
Email ou senha inválidos!
"""
@criar_usuario
Cenário: Login com credenciais válidas # features/login.feature:14
Dado que esteja na página de "login" # features/steps/todo.py:8
Quando logar com credenciais válidas # features/steps/login.py:26
Então deverá ser redirecionado para a pagina de "todo" # features/steps/create_user.py:14
Funcionalidade: Movimentação de tarefas # features/movimentacao_de_tarefas.feature:2
Contexto: Entrar na área logada e registrar tarefas # features/movimentacao_de_tarefas.feature:3
Cenário: Mover tarefa para Fazendo # features/movimentacao_de_tarefas.feature:12
Dado que esteja logado # features/steps/login.py:6
E que esteja na página de "todo" # features/steps/todo.py:8
E que as tarefas estejam criadas # features/steps/todo.py:14
| nome | descrição |
| Dormir | Pq é bom |
| Acordar | Pois é necessário |
| Comer | Se não eu morro |
Quando fazer a tarefa "Dormir" # features/steps/todo.py:71
Então a tarefa deve estar na pilha "Fazendo" # features/steps/todo.py:25
| nome | descrição |
| Dormir | Pq é bom |
E as tarefas devem estar na pilha "A fazer" # features/steps/todo.py:25
| nome | descrição |
| Acordar | Pois é necessário |
| Comer | Se não eu morro |
Cenário: Mover tarefa para Pronto # features/movimentacao_de_tarefas.feature:22
Dado que esteja logado # features/steps/login.py:6
E que esteja na página de "todo" # features/steps/todo.py:8
E que as tarefas estejam criadas # features/steps/todo.py:14
| nome | descrição |
| Dormir | Pq é bom |
| Acordar | Pois é necessário |
| Comer | Se não eu morro |
Quando fazer a tarefa "Dormir" # features/steps/todo.py:71
Então a tarefa deve estar na pilha "Fazendo" # features/steps/todo.py:25
| nome | descrição |
| Dormir | Pq é bom |
Quando concluir a tarefa "Dormir" # features/steps/todo.py:76
Então a tarefa deve estar na pilha "Pronto" # features/steps/todo.py:25
| nome | descrição |
| Dormir | Pq é bom |
Cenário: Voltar cartão para A fazer # features/movimentacao_de_tarefas.feature:32
Dado que esteja logado # features/steps/login.py:6
E que esteja na página de "todo" # features/steps/todo.py:8
E que as tarefas estejam criadas # features/steps/todo.py:14
| nome | descrição |
| Dormir | Pq é bom |
| Acordar | Pois é necessário |
| Comer | Se não eu morro |
Quando fazer a tarefa "Dormir" # features/steps/todo.py:71
Então a tarefa deve estar na pilha "Fazendo" # features/steps/todo.py:25
| nome | descrição |
| Dormir | Pq é bom |
Quando voltar a tarefa "Dormir" # features/steps/todo.py:81
Então a tarefa deve estar na pilha "A fazer" # features/steps/todo.py:25
| nome | descrição |
| Dormir | Pq é bom |
Cenário: Cancelar cartão # features/movimentacao_de_tarefas.feature:42
Dado que esteja logado # features/steps/login.py:6
E que esteja na página de "todo" # features/steps/todo.py:8
E que as tarefas estejam criadas # features/steps/todo.py:14
| nome | descrição |
| Dormir | Pq é bom |
| Acordar | Pois é necessário |
| Comer | Se não eu morro |
Quando cancelar a tarefa "Dormir" # features/steps/todo.py:86
Então a tarefa não deve estar na pilha "A fazer" # features/steps/todo.py:38
| nome | descrição |
| Dormir | Pq é bom |
Cenário: Cartões devem ser carregados nas colunas corretas # features/movimentacao_de_tarefas.feature:48
Dado que esteja logado # features/steps/login.py:6
E que esteja na página de "todo" # features/steps/todo.py:8
E que as tarefas estejam criadas # features/steps/todo.py:14
| nome | descrição |
| Dormir | Pq é bom |
| Acordar | Pois é necessário |
| Comer | Se não eu morro |
Quando fazer a tarefa "Dormir" # features/steps/todo.py:71
E concluir a tarefa "Dormir" # features/steps/todo.py:76
E fazer a tarefa "Acordar" # features/steps/todo.py:71
E atualizar a página # features/steps/todo.py:49
Então a tarefa deve estar na pilha "Fazendo" # features/steps/todo.py:25
| nome | descrição |
| Acordar | Pois é necessário |
E a tarefa deve estar na pilha "Pronto" # features/steps/todo.py:25
| nome | descrição |
| Dormir | Pq é bom |
4 features passed, 0 failed, 0 skipped
14 scenarios passed, 0 failed, 0 skipped
71 steps passed, 0 failed, 0 skipped, 0 undefined
Took 0m36.016s
closes #31
Não sei se é a melhor implementação, mas estou incluindo um indicador em tarefas urgentes:
No mais:
<main>
sobrando no app/templates/todo.html.False
no gherkin.if urgent
sempre retornava verdadeiro, ex:if "False":
é verdadeiro.