Skip to content

Fix tests - #1485

Closed
robertatakenaka wants to merge 9 commits into
scieloorg:mainfrom
robertatakenaka:fix_tests_
Closed

robertatakenaka wants to merge 9 commits into
scieloorg:mainfrom
robertatakenaka:fix_tests_

Conversation

@robertatakenaka

Copy link
Copy Markdown
Member

O que esse PR faz?

Fale sobre o propósito do pull request, como por exemplo: quais problemas ele soluciona ou quais features ele adiciona.

Onde a revisão poderia começar?

Indique o caminho do arquivo e o arquivo onde o revisor deve iniciar a leitura do código.

Como este poderia ser testado manualmente?

Estabeleça os passos necessários para que a funcionalidade seja testada manualmente pelo revisor.

Algum cenário de contexto que queira dar?

Indique um contexto onde as modificações se fazem necessárias ou passe informações que contextualizam o revisor a fim de facilitar o entendimento da funcionalidade.

Screenshots

Quando aplicável e se fizer possível, adicione screenshots que remetem à situação gráfica do problema que o pull request resolve.

Quais são os tickets relevantes?

Indique uma issue à qual o pull request faz relacionamento.

Referências

Indique as referências utilizadas para a elaboração do pull request.


Segurança da informação (NSI.04)

Seção obrigatória. Marque as opções aplicáveis e justifique quando necessário. Referência: NSI.04 - Norma de Desenvolvimento Seguro.

Este PR manipula dados sensíveis ou pessoais (LGPD)?

  • Sim — descreva os controles de proteção aplicados (criptografia, mascaramento, anonimização, etc.):
  • Não

Este PR altera autenticação, autorização, controle de acesso ou gerenciamento de sessão?

  • Sim — descreva o que mudou e por quê:
  • Não

Este PR introduz, atualiza ou remove dependências de terceiros?

  • Sim — as novas dependências foram verificadas no SBOM/Trivy sem vulnerabilidades críticas/altas em aberto?
    • Verificado e aprovado
    • Pendente / vulnerabilidade aceita com justificativa:
  • Não

Este PR foi validado pelo pipeline de segurança (SonarQube / Trivy)?

  • Sim — link do job:
  • Não aplicável a este PR (justifique):

Este PR concatena, monta ou executa comandos SQL, HTML ou JavaScript a partir de entrada externa?

  • Sim — confirme que há sanitização/parametrização (prepared statements, escaping, etc.):
  • Não

Este PR expõe novos endpoints, telas ou serviços?

  • Sim — HTTPS obrigatório está garantido e o acesso segue o princípio de menor privilégio?
  • Não

Algum segredo, senha, chave ou token está sendo adicionado ao código-fonte?

  • Não, nenhum segredo foi commitado
  • Sim (bloquear merge e corrigir antes de prosseguir)

Os eventos inesperados registrados em _register_journal_data passam a usar AMJournal.pid como identificador do periódico, em vez do atributo scielo_issn, que não existe mais no modelo.

Remove também o comentário obsoleto sobre a mudança de scielo_issn para pid.
load_license_of_use_in_journal passa a usar AMJournal.pid como identificador do periódico, em vez do atributo scielo_issn, que não existe mais no modelo.
Ajusta os testes ao estado atual dos modelos e torna o teste de migração compatível com o Django 5.2.

Detalhes de implementação:
- Fixtures de AMJournal usam pid no lugar de scielo_issn
- Collection é criada com main_name no lugar de name
- Teste de RawOrganizationMixin: raw_text recebe o valor de original_data, e o parâmetro raw_text deixa de ser passado
- MigrationTestCase passa a ser TransactionTestCase marcado com MIGRATION_TEST_MARKER, pois o Migrator recria o banco no estado de migrate_from
- Usa Migrator diretamente porque MigratorTestCase (django-test-migrations 1.3.0) é incompatível com o Django 5.2 (_pre_setup passou a ser classmethod)
- Os testes de ida e volta da migração 0025_journalurl são unificados em um só. A reversão verifica que o modelo JournalURL deixa de existir e que sua tabela é removida
- migrator.reset() é registrado com addCleanup para restaurar as migrações mesmo em caso de falha
O teste de _format_code_sections passa a esperar select_related("journal_toc", "journal_toc__language"), que é a chamada feita pelo código atual.
…ros de corpo editorial

As importações via CSV de NewResearcher e de EditorialBoardMember passam a ler o nome da instituição na coluna organization_name, em vez de affiliation. Assim ficam alinhadas ao CSV de importação de organizações.
Os cabeçalhos dos CSVs de teste de pesquisadores e de membros de corpo editorial usam organization_name no lugar de affiliation.
A importação de arquivo de corpo editorial deixa de usar o modelo legado Researcher. Passa a criar o pesquisador com NewResearcher, vinculando afiliação, ORCID, Lattes e email pelas estruturas próprias de cada dado.

Detalhes de implementação:
- A coluna "Instituição" gera ou atualiza uma Organization com a localização da linha
- A coluna "ORCID iD" gera um ResearcherOrcid, que é associado ao pesquisador
- Lattes e email são adicionados com add_lattes_id e add_email
- O ano da coluna "Data" é convertido para date(ano, 1, 1) e usado como ano inicial e final
- declared_name, aff_div1 e aff_div2 deixam de ser repassados
… admin

Os testes passam a usar NewResearcher e ResearcherOrcid. Os testes de formulário agora validam o formulário com dados (bound), como o admin do Wagtail o recebe.

Detalhes de implementação:
- Novo helper get_editorialboard_form: obtém a classe de formulário gerada pelos panels (get_edit_handler) e inclui o management form do InlinePanel role_editorial_board
- Novo helper autocomplete_value: gera o valor no formato esperado pelo AutocompletePanel
- No setUp, ResearcherIds são substituídos por ResearcherOrcid e por add_lattes_id e add_email
- A importação de arquivo verifica NewResearcher, afiliação, ORCID e anos como date
- Os testes de formulário chamam is_valid() antes de save_all()
- A mensagem de erro de nomes obrigatórios é verificada em inglês (translation.override), já que LANGUAGE_CODE é pt-br
- O caso de ORCID com dígito verificador inválido é removido do teste de clean_orcid. Essa função valida só o formato; o dígito é validado por ResearcherOrcid.validate_orcid
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant