예제 #1
0
    public function testgetManquementObligationPresenceEnglobante()
    {
        saveSetting('abs2_saisie_multi_type_sans_manquement','n');
        $florence_eleve = EleveQuery::create()->findOneByLogin('Florence Michu');

        $saisie = $florence_eleve->getAbsenceEleveSaisiesDuJour(VENDREDI_s40j5)->getFirst();
        $this->assertTrue($saisie->getManquementObligationPresenceEnglobante());

        $saisie = $florence_eleve->getAbsenceEleveSaisiesDuJour(SAMEDI_s40j6)->getFirst();
        $this->assertTrue($saisie->getManquementObligationPresenceEnglobante());

        $saisie = $florence_eleve->getAbsenceEleveSaisiesDuJour(DIMANCHE_s40j7)->getFirst();
        $this->assertFalse($saisie->getManquementObligationPresenceEnglobante());

        $saisie = $florence_eleve->getAbsenceEleveSaisiesDuJour(LUNDI_s41j1)->getFirst();
        $this->assertTrue($saisie->getManquementObligationPresenceEnglobante());
        saveSetting('abs2_saisie_multi_type_sans_manquement','y');
        $saisie->clearAllReferences();
        $saisie = $florence_eleve->getAbsenceEleveSaisiesDuJour(LUNDI_s41j1)->getFirst();
        $this->assertFalse($saisie->getManquementObligationPresenceEnglobante());
        saveSetting('abs2_saisie_multi_type_sans_manquement','n');

        $saisie = $florence_eleve->getAbsenceEleveSaisiesDuJour(MARDI_s41j2)->getFirst();
        $this->assertTrue($saisie->getManquementObligationPresenceEnglobante());

        $saisie = $florence_eleve->getAbsenceEleveSaisiesDuJour(MERCREDI_s41j3)->getFirst();
        $this->assertTrue($saisie->getManquementObligationPresenceEnglobante());

        $saisie = $florence_eleve->getAbsenceEleveSaisiesDuJour(JEUDI_s41j4)->getFirst();
        $this->assertFalse($saisie->getManquementObligationPresenceEnglobante());

        $saisie = AbsenceEleveSaisieQuery::create()->filterByFinAbs(MERCREDI_a1_s22j3.' 08:10:00')->findOne();
        $this->assertFalse($saisie->getManquementObligationPresenceEnglobante());
        
        $saisie = AbsenceEleveSaisieQuery::create()->filterByDebutAbs(VENDREDI_a1_s22j5.' 08:00:00')->find();
        $this->assertTrue($saisie->getFirst()->getManquementObligationPresenceEnglobante());
        $this->assertTrue($saisie->getNext()->getManquementObligationPresenceEnglobante());
        
        $saisies = $florence_eleve->getAbsenceEleveSaisiesDuJour(MARDI_a1_s23j2);
        $this->assertTrue($saisies->getCurrent()->getManquementObligationPresenceEnglobante());
        $this->assertTrue($saisies->getNext()->getManquementObligationPresenceEnglobante());

        $saisies = $florence_eleve->getAbsenceEleveSaisiesDuJour(MERCREDI_a1_s23j3);
        $this->assertTrue($saisies->getCurrent()->getManquementObligationPresenceEnglobante());
        $this->assertTrue($saisies->getNext()->getManquementObligationPresenceEnglobante());

        $saisies = $florence_eleve->getAbsenceEleveSaisiesDuJour(SAMEDI_a1_s23j6);
        $this->assertTrue($saisies->getCurrent()->getManquementObligationPresenceEnglobante());
        $this->assertTrue($saisies->getNext()->getManquementObligationPresenceEnglobante());
        saveSetting('abs2_saisie_multi_type_sans_manquement','y');
        $saisies->getFirst()->clearAllReferences();
        $this->assertFalse($saisies->getFirst()->getManquementObligationPresenceEnglobante());
        saveSetting('abs2_saisie_multi_type_sans_manquement','n');

        $saisie = AbsenceEleveSaisieQuery::create()->filterByFinAbs(DIMANCHE_a1_s23j7.' 09:00:00')->findOne();
        $this->assertTrue($saisie->getManquementObligationPresenceEnglobante());
        saveSetting('abs2_saisie_multi_type_sans_manquement','y');
        $saisie->clearAllReferences();
        $this->assertFalse($saisie->getManquementObligationPresenceEnglobante());
        saveSetting('abs2_saisie_multi_type_sans_manquement','n');

        $saisie = new AbsenceEleveSaisie();
        $this->assertTrue($saisie->getManquementObligationPresenceEnglobante());
    }