Jogo-da-Biblia / main

Django App para gerenciar cadastro, filtragem e categorização de perguntas, gerenciamento de usuários e embaralhamento de cartas com backend python e frontend React
https://jogodabiblia.com
1 stars 2 forks source link

Regras de referência #39

Closed filiperochalopes closed 1 year ago

filiperochalopes commented 1 year ago

image

Precisa contemplar todos os requisitos/regex de busca da issue https://github.com/Jogo-da-Biblia/main/issues/28#issue-1458389971

Ckk3 commented 1 year ago

Na verdade, Filipe, o texto biblico está no formato errado mesmo. Para separar versículos do mesmo livro, você deve usar a virgula comum , ao invés do ponto e vírgula ;, essa informação está na issue de regex. Sendo assim, a querie ficaria assim: Gn 1:26; Ex 10:5; 11:5-7 -> Gn 1:26; Ex 10:5, 11:5-7

Eu testei o código e estava acontecendo um outro erro com os capitulos, irei corrigir image

Ckk3 commented 1 year ago

Corrigido!

filiperochalopes commented 1 year ago

Vira cumulativo.

image

Gn 1:26 nessa resposta aparece três vezes.

Olhe também esse exemplo:

{
  textoBiblico(referencia:"Gn 1:26,28; Ex 10:5, 11:5-7; Gl 2:20"){
    texto
    capitulo
    versiculo
    livro {
      nome
      sigla
    }
    versao {
      nome
      sigla
    }
  }
}
{
  "data": {
    "textoBiblico": [
      {
        "texto": "E disse Deus: Façamos o homem à nossa imagem, conforme a nossa semelhança; domine ele sobre os peixes do mar, sobre as aves do céu, sobre os animais domésticos, e sobre toda a terra, e sobre todo réptil que se arrasta sobre a terra.",
        "capitulo": 1,
        "versiculo": 26,
        "livro": {
          "nome": "Genesis",
          "sigla": "Gn"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "e eles cobrirão a face da terra, de sorte que não se poderá ver a terra e comerão o resto do que escapou, o que vos ficou da saraiva; também comerão toda árvore que vos cresce no campo;",
        "capitulo": 10,
        "versiculo": 5,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "E disse Deus: Façamos o homem à nossa imagem, conforme a nossa semelhança; domine ele sobre os peixes do mar, sobre as aves do céu, sobre os animais domésticos, e sobre toda a terra, e sobre todo réptil que se arrasta sobre a terra.",
        "capitulo": 1,
        "versiculo": 26,
        "livro": {
          "nome": "Genesis",
          "sigla": "Gn"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "e todos os primogênitos na terra do Egito morrerão, desde o primogênito de Faraó, que se assenta sobre o seu trono, até o primogênito da serva que está detrás da mó, e todos os primogênitos dos animais.",
        "capitulo": 11,
        "versiculo": 5,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Pelo que haverá grande clamor em toda a terra do Egito, como nunca houve nem haverá jamais.",
        "capitulo": 11,
        "versiculo": 6,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Mas contra os filhos de Israel nem mesmo um cão moverá a sua língua, nem contra homem nem contra animal; para que saibais que o Senhor faz distinção entre os egípcios e os filhos de Israel.",
        "capitulo": 11,
        "versiculo": 7,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "e eles cobrirão a face da terra, de sorte que não se poderá ver a terra e comerão o resto do que escapou, o que vos ficou da saraiva; também comerão toda árvore que vos cresce no campo;",
        "capitulo": 10,
        "versiculo": 5,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "E disse Deus: Façamos o homem à nossa imagem, conforme a nossa semelhança; domine ele sobre os peixes do mar, sobre as aves do céu, sobre os animais domésticos, e sobre toda a terra, e sobre todo réptil que se arrasta sobre a terra.",
        "capitulo": 1,
        "versiculo": 26,
        "livro": {
          "nome": "Genesis",
          "sigla": "Gn"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "e todos os primogênitos na terra do Egito morrerão, desde o primogênito de Faraó, que se assenta sobre o seu trono, até o primogênito da serva que está detrás da mó, e todos os primogênitos dos animais.",
        "capitulo": 11,
        "versiculo": 5,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Pelo que haverá grande clamor em toda a terra do Egito, como nunca houve nem haverá jamais.",
        "capitulo": 11,
        "versiculo": 6,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Mas contra os filhos de Israel nem mesmo um cão moverá a sua língua, nem contra homem nem contra animal; para que saibais que o Senhor faz distinção entre os egípcios e os filhos de Israel.",
        "capitulo": 11,
        "versiculo": 7,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "e eles cobrirão a face da terra, de sorte que não se poderá ver a terra e comerão o resto do que escapou, o que vos ficou da saraiva; também comerão toda árvore que vos cresce no campo;",
        "capitulo": 10,
        "versiculo": 5,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Já estou crucificado com Cristo; e vivo, não mais eu, mas Cristo vive em mim; e a vida que agora vivo na carne, vivo-a na fé no filho de Deus, o qual me amou, e se entregou a si mesmo por mim.",
        "capitulo": 2,
        "versiculo": 20,
        "livro": {
          "nome": "Galatas",
          "sigla": "Gl"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "E disse Deus: Façamos o homem à nossa imagem, conforme a nossa semelhança; domine ele sobre os peixes do mar, sobre as aves do céu, sobre os animais domésticos, e sobre toda a terra, e sobre todo réptil que se arrasta sobre a terra.",
        "capitulo": 1,
        "versiculo": 26,
        "livro": {
          "nome": "Genesis",
          "sigla": "Gn"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Então Deus os abençoou e lhes disse: Frutificai e multiplicai-vos; enchei a terra e sujeitai-a; dominai sobre os peixes do mar, sobre as aves do céu e sobre todos os animais que se arrastam sobre a terra.",
        "capitulo": 1,
        "versiculo": 28,
        "livro": {
          "nome": "Genesis",
          "sigla": "Gn"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "e todos os primogênitos na terra do Egito morrerão, desde o primogênito de Faraó, que se assenta sobre o seu trono, até o primogênito da serva que está detrás da mó, e todos os primogênitos dos animais.",
        "capitulo": 11,
        "versiculo": 5,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Pelo que haverá grande clamor em toda a terra do Egito, como nunca houve nem haverá jamais.",
        "capitulo": 11,
        "versiculo": 6,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Mas contra os filhos de Israel nem mesmo um cão moverá a sua língua, nem contra homem nem contra animal; para que saibais que o Senhor faz distinção entre os egípcios e os filhos de Israel.",
        "capitulo": 11,
        "versiculo": 7,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "e eles cobrirão a face da terra, de sorte que não se poderá ver a terra e comerão o resto do que escapou, o que vos ficou da saraiva; também comerão toda árvore que vos cresce no campo;",
        "capitulo": 10,
        "versiculo": 5,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Já estou crucificado com Cristo; e vivo, não mais eu, mas Cristo vive em mim; e a vida que agora vivo na carne, vivo-a na fé no filho de Deus, o qual me amou, e se entregou a si mesmo por mim.",
        "capitulo": 2,
        "versiculo": 20,
        "livro": {
          "nome": "Galatas",
          "sigla": "Gl"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "E disse Deus: Façamos o homem à nossa imagem, conforme a nossa semelhança; domine ele sobre os peixes do mar, sobre as aves do céu, sobre os animais domésticos, e sobre toda a terra, e sobre todo réptil que se arrasta sobre a terra.",
        "capitulo": 1,
        "versiculo": 26,
        "livro": {
          "nome": "Genesis",
          "sigla": "Gn"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Então Deus os abençoou e lhes disse: Frutificai e multiplicai-vos; enchei a terra e sujeitai-a; dominai sobre os peixes do mar, sobre as aves do céu e sobre todos os animais que se arrastam sobre a terra.",
        "capitulo": 1,
        "versiculo": 28,
        "livro": {
          "nome": "Genesis",
          "sigla": "Gn"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "e todos os primogênitos na terra do Egito morrerão, desde o primogênito de Faraó, que se assenta sobre o seu trono, até o primogênito da serva que está detrás da mó, e todos os primogênitos dos animais.",
        "capitulo": 11,
        "versiculo": 5,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Pelo que haverá grande clamor em toda a terra do Egito, como nunca houve nem haverá jamais.",
        "capitulo": 11,
        "versiculo": 6,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Mas contra os filhos de Israel nem mesmo um cão moverá a sua língua, nem contra homem nem contra animal; para que saibais que o Senhor faz distinção entre os egípcios e os filhos de Israel.",
        "capitulo": 11,
        "versiculo": 7,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "e eles cobrirão a face da terra, de sorte que não se poderá ver a terra e comerão o resto do que escapou, o que vos ficou da saraiva; também comerão toda árvore que vos cresce no campo;",
        "capitulo": 10,
        "versiculo": 5,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Já estou crucificado com Cristo; e vivo, não mais eu, mas Cristo vive em mim; e a vida que agora vivo na carne, vivo-a na fé no filho de Deus, o qual me amou, e se entregou a si mesmo por mim.",
        "capitulo": 2,
        "versiculo": 20,
        "livro": {
          "nome": "Galatas",
          "sigla": "Gl"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "E disse Deus: Façamos o homem à nossa imagem, conforme a nossa semelhança; domine ele sobre os peixes do mar, sobre as aves do céu, sobre os animais domésticos, e sobre toda a terra, e sobre todo réptil que se arrasta sobre a terra.",
        "capitulo": 1,
        "versiculo": 26,
        "livro": {
          "nome": "Genesis",
          "sigla": "Gn"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Então Deus os abençoou e lhes disse: Frutificai e multiplicai-vos; enchei a terra e sujeitai-a; dominai sobre os peixes do mar, sobre as aves do céu e sobre todos os animais que se arrastam sobre a terra.",
        "capitulo": 1,
        "versiculo": 28,
        "livro": {
          "nome": "Genesis",
          "sigla": "Gn"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "e todos os primogênitos na terra do Egito morrerão, desde o primogênito de Faraó, que se assenta sobre o seu trono, até o primogênito da serva que está detrás da mó, e todos os primogênitos dos animais.",
        "capitulo": 11,
        "versiculo": 5,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Pelo que haverá grande clamor em toda a terra do Egito, como nunca houve nem haverá jamais.",
        "capitulo": 11,
        "versiculo": 6,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Mas contra os filhos de Israel nem mesmo um cão moverá a sua língua, nem contra homem nem contra animal; para que saibais que o Senhor faz distinção entre os egípcios e os filhos de Israel.",
        "capitulo": 11,
        "versiculo": 7,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "e eles cobrirão a face da terra, de sorte que não se poderá ver a terra e comerão o resto do que escapou, o que vos ficou da saraiva; também comerão toda árvore que vos cresce no campo;",
        "capitulo": 10,
        "versiculo": 5,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Já estou crucificado com Cristo; e vivo, não mais eu, mas Cristo vive em mim; e a vida que agora vivo na carne, vivo-a na fé no filho de Deus, o qual me amou, e se entregou a si mesmo por mim.",
        "capitulo": 2,
        "versiculo": 20,
        "livro": {
          "nome": "Galatas",
          "sigla": "Gl"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "E disse Deus: Façamos o homem à nossa imagem, conforme a nossa semelhança; domine ele sobre os peixes do mar, sobre as aves do céu, sobre os animais domésticos, e sobre toda a terra, e sobre todo réptil que se arrasta sobre a terra.",
        "capitulo": 1,
        "versiculo": 26,
        "livro": {
          "nome": "Genesis",
          "sigla": "Gn"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Então Deus os abençoou e lhes disse: Frutificai e multiplicai-vos; enchei a terra e sujeitai-a; dominai sobre os peixes do mar, sobre as aves do céu e sobre todos os animais que se arrastam sobre a terra.",
        "capitulo": 1,
        "versiculo": 28,
        "livro": {
          "nome": "Genesis",
          "sigla": "Gn"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "e todos os primogênitos na terra do Egito morrerão, desde o primogênito de Faraó, que se assenta sobre o seu trono, até o primogênito da serva que está detrás da mó, e todos os primogênitos dos animais.",
        "capitulo": 11,
        "versiculo": 5,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Pelo que haverá grande clamor em toda a terra do Egito, como nunca houve nem haverá jamais.",
        "capitulo": 11,
        "versiculo": 6,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Mas contra os filhos de Israel nem mesmo um cão moverá a sua língua, nem contra homem nem contra animal; para que saibais que o Senhor faz distinção entre os egípcios e os filhos de Israel.",
        "capitulo": 11,
        "versiculo": 7,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "e eles cobrirão a face da terra, de sorte que não se poderá ver a terra e comerão o resto do que escapou, o que vos ficou da saraiva; também comerão toda árvore que vos cresce no campo;",
        "capitulo": 10,
        "versiculo": 5,
        "livro": {
          "nome": "Exodo",
          "sigla": "Ex"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      },
      {
        "texto": "Já estou crucificado com Cristo; e vivo, não mais eu, mas Cristo vive em mim; e a vida que agora vivo na carne, vivo-a na fé no filho de Deus, o qual me amou, e se entregou a si mesmo por mim.",
        "capitulo": 2,
        "versiculo": 20,
        "livro": {
          "nome": "Galatas",
          "sigla": "Gl"
        },
        "versao": {
          "nome": "Almeida Revista e Atualizada",
          "sigla": "ARA"
        }
      }
    ]
  }
}

No teste test_deve_buscar_texto_biblicodeve conter um algorítmo que garanta que o número de itens que estão no retorno esteja proporcional ao número de itens solicitados. Acho que essa é a forma mais simples de escrever um algoritmo para testar a unicidade de cada solicitação no retorno. Outra forma seria armazenar cada texto e verificar se existe dois do mesmo.

Para ficar mais fidedigno eu reescrevi alguns versículos no banco de dados de teste e adicionei uns casos de uso no parametrize do teste

image image

Ckk3 commented 1 year ago

Perfeito, irei aplicar as correções

Ckk3 commented 1 year ago

Corrigido. Tanto o bug quanto o teste

filiperochalopes commented 1 year ago

Pronto, esse aparentemente funciona agora.