splor-mg / checks-planejamento

https://splor-mg.github.io/checks-planejamento
0 stars 0 forks source link

Verificar se cada programa possui apenas uma área temática. É obrigatório a existência de uma área por programa #5

Closed fjuniorr closed 10 months ago

fjuniorr commented 10 months ago

Inicialmente pensei em incluir as restrição required no table schema:

  - name: Código da Área Temática
    target: area_tematica_cod
    type: string
    constraints:
      required: true
  - name: Área Temática
    target: area_tematica_desc
    type: string
    constraints:
      required: true

mas isso não leva em consideração que se is_deleted_programa == TRUE então pode não existir de fato área temática.

Depois pensei em usar:

validate::check_that(programas_planejamento, 
                     if(is_deleted_programa == FALSE) !is.na(area_tematica_cod))

mas isso não vai pegar o caso em que um programa tiver mais de uma área temática.

Ps. Na geração dos volumes do PPAG 2024 tivemos problema de desformatação do layout porque a base localizadores estava sem área tematica. O commit com a correção foi https://github.com/splor-mg/ppag-planejamento-dados-2024/commit/79de4c5530d610b27e19786e283a85317b159a31.

fjuniorr commented 10 months ago

Implementado em https://github.com/splor-mg/checks-loa-ppag/commit/d66289cd35a241721b9a9c4efe56e2fd61987979.

Ainda não estou gostando da estrutura de armazenamento dos dados para os testes unitários.