38 {
43
46
47 $prg1->putInTree(ROOT_FOLDER_ID);
48 $prg1->addNode($prg2);
49
50 $val_date_ref = new DateTime();
51 $val_date_ref->sub(new DateInterval('P1D'));
52 $prg1->setValidityOfQualificationDate($val_date_ref);
54 $prg1->update();
55
57
58 $assignment1 = $prg1->assignUser($usr1->getId(), 6);
59 $assignment2 = $prg1->assignUser($usr2->getId(), 6);
60 $assignment3 = $prg1->assignUser($usr3->getId(), 6);
61 $assignment4 = $prg1->assignUser($usr4->getId(), 6);
62
63
64 $progress = $prg2->getProgressForAssignment($assignment1->getId());
65 $progress->markAccredited(6);
66
67 $this->assertTrue($prg1->getProgressForAssignment($assignment1->getId())->isSuccessful());
68
69 $progress = $prg1->getProgressForAssignment($assignment2->getId());
70 $progress->markAccredited(6);
71
72 $this->assertTrue($prg1->getProgressForAssignment($assignment2->getId())->isSuccessful());
73
74 $prg1->setValidityOfQualificationDate(null);
75 $prg1->update();
76
77 $progress = $prg2->getProgressForAssignment($assignment3->getId());
78 $progress->markAccredited(6);
79
80 $progress = $prg1->getProgressForAssignment($assignment4->getId());
81 $progress->markAccredited(6);
82
83
84 $job->run();
85 $prgrs = $prg1->getProgressForAssignment($assignment1->getId());
86 $this->assertEquals(
88 $prgrs->getStatus()
89 );
90 $this->assertTrue($prgrs->isInvalidated());
91 $prgrs = $prg1->getProgressForAssignment($assignment2->getId());
92 $this->assertEquals(
94 $prgrs->getStatus()
95 );
96 $this->assertTrue($prgrs->isInvalidated());
97 $prgrs = $prg1->getProgressForAssignment($assignment3->getId());
98 $this->assertEquals(
100 $prgrs->getStatus()
101 );
102 $this->assertFalse($prgrs->isInvalidated());
103 $prgrs = $prg1->getProgressForAssignment($assignment4->getId());
104 $this->assertEquals(
106 $prgrs->getStatus()
107 );
108 $this->assertFalse($prgrs->isInvalidated());
109 }