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)
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
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
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))
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))
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))
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)
def teste_sem_data(self): f = Feriado(nome=u"Dia dos trabalhadores") self.assertRaises(ValidationError, lambda: f.full_clean())
def teste_sem_nome2(self): f = Feriado(data_anual_movel="pascoa + d(3)") self.assertRaises(ValidationError, lambda: f.full_clean())
def teste_nao_retorna_uma_data(self): feriado = Feriado(nome=u"Teste", data_anual_movel="18") self.assertRaises(ValidationError, tenta_clean(feriado))
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())
def teste_sem_nome(self): f = Feriado(data_anual_fixa="01/05") self.assertRaises(ValidationError, lambda: f.full_clean())
def teste_falta_parenteses(self): feriado = Feriado(nome=u"Teste", data_anual_movel="pascoa - d(47") self.assertRaises(ValidationError, tenta_clean(feriado))
def teste_pascoa_escrito_errado(self): feriado = Feriado(nome=u"Teste", data_anual_movel="pascao - d(47)") # 'pascao' self.assertRaises(ValidationError, tenta_clean(feriado))
def teste_sem_nada(self): f = Feriado() self.assertRaises(ValidationError, lambda: f.full_clean())
def teste_usa_inteiros_como_dias(self): feriado = Feriado(nome=u"Teste", data_anual_movel="pascoa - 47") self.assertRaises(ValidationError, tenta_clean(feriado))
def teste_vazio(self): feriado = Feriado(nome=u"Teste", data_anual_movel="") self.assertRaises(ValidationError, tenta_clean(feriado))