Ejemplo n.º 1
0
    def teste_carnaval_2013(self):
        terca_carnaval_2013 = date(2013, 2, 12)

        feriado = Feriado(nome=u"Terça de carnaval",
                          data_anual_movel="pascoa - d(47)")

        self.assertEqual(feriado.data_em(2013), terca_carnaval_2013)
Ejemplo n.º 2
0
    def create(self, validated_data):
        estado = None
        municipio = None
        try:
            municipio = Municipio.objects.get(codigo_ibge=self.context['view'].
                                              kwargs['municipio__codigo_ibge'])
        except Municipio.DoesNotExist:
            try:
                estado = Estado.objects.get(codigo_ibge=self.context['view'].
                                            kwargs['municipio__codigo_ibge'])
            except Estado.DoesNotExist:
                raise serializers.ValidationError(
                    {'erro': 'O código informado é inválido.'})

        try:
            data = datetime(year=datetime.now().year,
                            month=int(self.context['view'].kwargs['mes']),
                            day=int(self.context['view'].kwargs['dia']))
        except ValueError:
            raise serializers.ValidationError(
                {'erro': 'a data informada não é válida.'})

        feriado = Feriado(nome=validated_data['name'],
                          municipio=municipio,
                          estado=estado,
                          data=data)
        feriado.save()

        return feriado
Ejemplo n.º 3
0
    def teste_carnaval_2013(self):
        terca_carnaval_2013 = date(2013, 2, 12)

        feriado = Feriado(nome=u"Terça de carnaval",
            data_anual_movel="pascoa - d(47)")

        self.assertEqual(feriado.data_em(2013), terca_carnaval_2013)
Ejemplo n.º 4
0
    def create(self, validated_data):
        estado = None
        municipio = None
        try:
            municipio = Municipio.objects.get(codigo_ibge=self.context['view'].
                                              kwargs['municipio__codigo_ibge'])
        except Municipio.DoesNotExist:
            try:
                estado = Estado.objects.get(codigo_ibge=self.context['view'].
                                            kwargs['municipio__codigo_ibge'])
            except Estado.DoesNotExist:
                raise serializers.ValidationError(
                    {'erro': 'O código informado é inválido.'})

        if str(self.context['view'].kwargs['feriado']).lower() == 'pascoa':
            ano = datetime.now().year
            pascoa_mes, pascoa_dia = Epoch.easter(ano)
            data = datetime(ano, pascoa_mes, pascoa_dia)
        elif str(self.context['view'].kwargs['feriado']).lower(
        ) == 'corpus-christi':
            ano = datetime.now().year
            pascoa_mes, pascoa_dia = Epoch.easter(ano)
            pascoa = datetime(ano, pascoa_mes, pascoa_dia)
            data = pascoa + timedelta(days=60)
        elif str(self.context['view'].kwargs['feriado']).lower() == 'carnaval':
            ano = datetime.now().year
            pascoa_mes, pascoa_dia = Epoch.easter(ano)
            pascoa = datetime(ano, pascoa_mes, pascoa_dia)
            data = pascoa - timedelta(days=47)
        else:
            raise serializers.ValidationError({'erro': 'O feriado inválido.'})

        feriado = Feriado(nome=self.context['view'].kwargs['feriado'].replace(
            '-', ' ').title(),
                          municipio=municipio,
                          estado=estado,
                          data=data)
        feriado.save()

        return feriado
Ejemplo n.º 5
0
 def teste_D_M(self):
     f = Feriado(nome=u"Dia dos trabalhadores", data_anual_fixa="1/5")
     f.save()
     self.assertEqual(f.data_em(2013), date(2013, 5, 1))
Ejemplo n.º 6
0
 def teste_pascoa_1990_a_2030(self):
     f = Feriado(nome=u"Páscoa", data_anual_movel="pascoa")
     for ano in range(1990, 2030):
         self.assertEqual(f.data_em(ano), easter.easter(ano))
Ejemplo n.º 7
0
 def teste_com_mesmo_ano(self):
     f = Feriado(nome=u"Dia dos trabalhadores de 2013",
                 data_unica=date(2013, 5, 1))
     f.save()
     self.assertEqual(f.data_em(2013), date(2013, 5, 1))
Ejemplo n.º 8
0
 def teste_com_ano_diferente(self):
     f = Feriado(nome=u"Dia dos trabalhadores de 2013",
                 data_unica=date(2013, 5, 1))
     f.save()
     self.assertEqual(f.data_em(2012), None)
Ejemplo n.º 9
0
 def teste_sem_data(self):
     f = Feriado(nome=u"Dia dos trabalhadores")
     self.assertRaises(ValidationError, lambda: f.full_clean())
Ejemplo n.º 10
0
 def teste_sem_nome2(self):
     f = Feriado(data_anual_movel="pascoa + d(3)")
     self.assertRaises(ValidationError, lambda: f.full_clean())
Ejemplo n.º 11
0
 def teste_nao_retorna_uma_data(self):
     feriado = Feriado(nome=u"Teste", data_anual_movel="18")
     self.assertRaises(ValidationError, tenta_clean(feriado))
Ejemplo n.º 12
0
 def teste_duas_datas(self):
     f = Feriado(nome=u"Dia dos trabalhadores", data_anual_fixa="01/05", data_unica=date(2013, 5, 1))
     self.assertRaises(ValidationError, lambda: f.full_clean())
Ejemplo n.º 13
0
 def teste_sem_nome(self):
     f = Feriado(data_anual_fixa="01/05")
     self.assertRaises(ValidationError, lambda: f.full_clean())
Ejemplo n.º 14
0
 def teste_falta_parenteses(self):
     feriado = Feriado(nome=u"Teste", data_anual_movel="pascoa - d(47")
     self.assertRaises(ValidationError, tenta_clean(feriado))
Ejemplo n.º 15
0
 def teste_pascoa_1990_a_2030(self):
     f = Feriado(nome=u"Páscoa", data_anual_movel="pascoa")
     for ano in range(1990, 2030):
         self.assertEqual(f.data_em(ano), easter.easter(ano))
Ejemplo n.º 16
0
 def teste_D_M(self):
     f = Feriado(nome=u"Dia dos trabalhadores", data_anual_fixa="1/5")
     f.save()
     self.assertEqual(f.data_em(2013), date(2013, 5, 1))
Ejemplo n.º 17
0
 def teste_com_ano_diferente(self):
     f = Feriado(nome=u"Dia dos trabalhadores de 2013", data_unica=date(2013, 5, 1))
     f.save()
     self.assertEqual(f.data_em(2012), None)
Ejemplo n.º 18
0
 def teste_com_mesmo_ano(self):
     f = Feriado(nome=u"Dia dos trabalhadores de 2013", data_unica=date(2013, 5, 1))
     f.save()
     self.assertEqual(f.data_em(2013), date(2013, 5, 1))
Ejemplo n.º 19
0
 def teste_sem_nome2(self):
     f = Feriado(data_anual_movel="pascoa + d(3)")
     self.assertRaises(ValidationError, lambda: f.full_clean())
Ejemplo n.º 20
0
 def teste_pascoa_escrito_errado(self):
     feriado = Feriado(nome=u"Teste",
                       data_anual_movel="pascao - d(47)")  # 'pascao'
     self.assertRaises(ValidationError, tenta_clean(feriado))
Ejemplo n.º 21
0
 def teste_sem_nada(self):
     f = Feriado()
     self.assertRaises(ValidationError, lambda: f.full_clean())
Ejemplo n.º 22
0
 def teste_usa_inteiros_como_dias(self):
     feriado = Feriado(nome=u"Teste", data_anual_movel="pascoa - 47")
     self.assertRaises(ValidationError, tenta_clean(feriado))
Ejemplo n.º 23
0
 def teste_sem_data(self):
     f = Feriado(nome=u"Dia dos trabalhadores")
     self.assertRaises(ValidationError, lambda: f.full_clean())
Ejemplo n.º 24
0
 def teste_vazio(self):
     feriado = Feriado(nome=u"Teste", data_anual_movel="")
     self.assertRaises(ValidationError, tenta_clean(feriado))
Ejemplo n.º 25
0
 def teste_duas_datas(self):
     f = Feriado(nome=u"Dia dos trabalhadores",
                 data_anual_fixa="01/05",
                 data_unica=date(2013, 5, 1))
     self.assertRaises(ValidationError, lambda: f.full_clean())
Ejemplo n.º 26
0
 def teste_sem_nome(self):
     f = Feriado(data_anual_fixa="01/05")
     self.assertRaises(ValidationError, lambda: f.full_clean())
Ejemplo n.º 27
0
 def teste_sem_nada(self):
     f = Feriado()
     self.assertRaises(ValidationError, lambda: f.full_clean())