def test_elettorato_attivo_dimissione_anzianita_soddisfatta(self): x = Appartenenza( persona=self.p, sede=self.s, inizio=self.due_anni_e_mezo_fa, fine=self.un_anno_fa, terminazione=Appartenenza.DIMISSIONE, ) x.save() self.a.inizio = self.sei_mesi_fa self.a.fine = None self.a.precedente = x self.a.save() self.assertFalse( self._elettorato_contiene(tipo="attivo", persona=self.p), "Elettorato attivo NON contiene volontari con doppia appartenenza valida (DIMISSIONE)" ) x.inizio = self.un_anno_e_mezzo_fa x.save() self.assertFalse( self._elettorato_contiene(tipo="attivo", persona=self.p), "Elettorato attivo non contiene volontari con doppia appartenenza invalida (DIMISSIONE)" ) self.a.precedente = None self.a.save() x.delete()
def test_elettorato_passivo_trasferimento_anzianita_soddisfatta(self): x = Appartenenza( persona=self.p, sede=self.s, inizio=self.due_anni_e_mezo_fa, fine=self.un_anno_fa, terminazione=Appartenenza.TRASFERIMENTO, ) x.save() self.a.inizio = self.un_anno_fa self.a.fine = None self.a.precedente = x self.a.save() self.assertTrue( self._elettorato_contiene(tipo="passivo", persona=self.p), "Elettorato passivo contiene volontari con doppia appartenenza valida (trasf.)" ) x.inizio = self.un_anno_e_mezzo_fa x.save() self.assertFalse( self._elettorato_contiene(tipo="passivo", persona=self.p), "Elettorato attivo non contiene volontari con doppia appartenenza invalida (trasf.)" ) self.a.precedente = None self.a.save() x.delete()
def test_storia_volontario(self): presidente1 = crea_persona() presidente2 = crea_persona() persona = crea_persona() persona.save() persona, sede1, app1 = crea_persona_sede_appartenenza(presidente1) sede2 = crea_sede(presidente2) sede2.save() sede3 = crea_sede(presidente2) sede3.save() # Appena diventato volontario a = Appartenenza( persona=persona, sede=sede1, membro=Appartenenza.VOLONTARIO, inizio=poco_fa(), confermata=True ) a.save() self.assertTrue(persona.volontario_da_meno_di_un_anno) # data vecchia nel passato a.inizio = "1980-12-10" a.save() self.assertFalse(persona.volontario_da_meno_di_un_anno) # trasferiscilo ad altro comitato modulo = ModuloCreazioneEstensione() est = modulo.save(commit=False) est.richiedente = persona est.persona = persona est.destinazione = sede2 est.save() est.richiedi() aut = presidente1.autorizzazioni_in_attesa().first() modulo = est.autorizzazione_concedi_modulo()({ "protocollo_numero": 31, "protocollo_data": datetime.date.today() }) aut.concedi(presidente1, modulo=modulo) est.refresh_from_db() # il trasferimento non cambia l'anzianità self.assertFalse(persona.volontario_da_meno_di_un_anno) # impostiamo una data recente a.inizio = datetime.date.today() a.save() self.assertTrue(persona.volontario_da_meno_di_un_anno) # trasferimento fallito ad altro comitato modulo = ModuloCreazioneEstensione() est = modulo.save(commit=False) est.richiedente = persona est.persona = persona est.destinazione = sede3 est.save() est.richiedi() aut = presidente1.autorizzazioni_in_attesa().first() modulo = est.autorizzazione_concedi_modulo()({ "protocollo_numero": 32, "protocollo_data": datetime.date.today() }) aut.nega(presidente1, modulo=modulo) est.refresh_from_db() # lo stato non è cambiato self.assertTrue(persona.volontario_da_meno_di_un_anno) # data vecchia nel passato a.inizio = "1980-12-10" a.save() self.assertFalse(persona.volontario_da_meno_di_un_anno) # un espulso non è più un volontario, quindi deve fallire a.inizio = datetime.date.today() a.save() persona.espelli() self.assertFalse(persona.volontario_da_meno_di_un_anno) # reintegriamo l'utente a = Aspirante(persona=persona) a.locazione = sede1.locazione a.save() # l'aspirante non è volontario self.assertFalse(persona.volontario_da_meno_di_un_anno) # promosso a volontario persona.da_aspirante_a_volontario(sede2) # è appena tornato volontario self.assertTrue(persona.volontario_da_meno_di_un_anno) # dimettiamolo for app in persona.appartenenze_attuali(): d = Dimissione( persona=persona, sede=sede2, appartenenza=app ) d.save() d.applica() self.assertFalse(persona.volontario_da_meno_di_un_anno) # reintegriamo l'utente a = Aspirante(persona=persona) a.locazione = sede1.locazione a.save() # l'aspirante non è volontario self.assertFalse(persona.volontario_da_meno_di_un_anno) # promosso a volontario persona.da_aspirante_a_volontario(sede2) # è appena tornato volontario self.assertTrue(persona.volontario_da_meno_di_un_anno) attuale = persona.appartenenze_attuali().get(membro=Appartenenza.VOLONTARIO) # data vecchia nel passato attuale.inizio = "1980-12-10" attuale.save() self.assertFalse(persona.volontario_da_meno_di_un_anno)