Example #1
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        sessao = SessaoPlenaria.objects.get(id=kwargs['initial']['id_sessao'])
        parlamentares_ativos = Parlamentar.objects.filter(
            ativo=True).order_by('nome_parlamentar')
        for p in parlamentares_ativos:
            if verifica_afastamento_parlamentar(p, sessao.data_inicio,
                                                sessao.data_fim):
                parlamentares_ativos = parlamentares_ativos.exclude(id=p.id)

        self.fields['parlamentar'].queryset = parlamentares_ativos
def test_parlamentar_esta_afastado():
    parlamentar = mommy.make(Parlamentar)
    mandato = mommy.make(Mandato,
                         parlamentar=parlamentar,
                         data_inicio_mandato='2017-01-01',
                         data_fim_mandato='2021-12-31')
    afastamento = AfastamentoParlamentar.objects.create(
        mandato=mandato,
        parlamentar=parlamentar,
        data_inicio='2017-12-05',
        data_fim='2017-12-12')
    assert verifica_afastamento_parlamentar(parlamentar, '2017-12-06')
    assert not verifica_afastamento_parlamentar(parlamentar, '2017-12-13')
    assert not verifica_afastamento_parlamentar(parlamentar, '2017-12-04')

    assert verifica_afastamento_parlamentar(parlamentar, '2017-12-06',
                                            '2017-12-11')
    assert verifica_afastamento_parlamentar(parlamentar, '2017-12-06',
                                            '2017-12-06')
    assert not verifica_afastamento_parlamentar(parlamentar, '2017-12-03',
                                                '2017-12-04')
    assert not verifica_afastamento_parlamentar(parlamentar, '2017-12-13',
                                                '2017-12-15')
    assert not verifica_afastamento_parlamentar(parlamentar, '2017-12-15',
                                                '2017-12-15')

    afastamento = AfastamentoParlamentar.objects.create(
        mandato=mandato, parlamentar=parlamentar, data_inicio='2017-12-05')

    assert AfastamentoParlamentar.objects.all().count() == 2

    assert verifica_afastamento_parlamentar(parlamentar, '2017-12-06')
    assert not verifica_afastamento_parlamentar(parlamentar, '2017-12-13')
    assert not verifica_afastamento_parlamentar(parlamentar, '2017-12-04')

    assert verifica_afastamento_parlamentar(parlamentar, '2017-12-06',
                                            '2017-12-11')
    assert verifica_afastamento_parlamentar(parlamentar, '2017-12-06',
                                            '2017-12-06')
    assert not verifica_afastamento_parlamentar(parlamentar, '2017-12-03',
                                                '2017-12-04')
    assert verifica_afastamento_parlamentar(parlamentar, '2017-12-13',
                                            '2017-12-15')