Esempio n. 1
0
 public function testMemberGetBonusLevelIdGetsApplied()
 {
     $marketingLeader = DbEntityHelper::createMember(null, ['type' => Member::TYPE_MARKETINGLEADER, 'LastName' => 'vl']);
     $marketingLeader->reload(self::$propelCon);
     /* $m1 gets bonus level applied after recruiting several members
        ---------------------------------------------*/
     $m1 = DbEntityHelper::createSignupMember($marketingLeader, true, ['lastName' => 'm1']);
     $m1_1 = DbEntityHelper::createSignupMember($m1, true, ['lastName' => 'm1_1']);
     $m1_2 = DbEntityHelper::createSignupMember($m1, true, ['lastName' => 'm1_2']);
     $m1_2_1 = DbEntityHelper::createSignupMember($m1_2, true, ['lastName' => 'm1_2_1']);
     $m1_2_2 = DbEntityHelper::createSignupMember($m1_2, true, ['lastName' => 'm1_2_2']);
     $m1_3_1 = DbEntityHelper::createSignupMember($m1_2, true, ['lastName' => 'm1_3_1']);
     /* $m1 gets bonus level 3 now
        ---------------------------------------------*/
     $m1->activity_setBonusLevel(3, self::$propelCon);
     /* further recruiting requires the bonus of the member applied
        ---------------------------------------------*/
     $m1_3 = DbEntityHelper::createSignupMember($m1, true, ['lastName' => 'm1_3']);
     $m1_2_3 = DbEntityHelper::createSignupMember($m1_2_1, true, ['lastName' => 'm1_2_3']);
     $m1_3_1_1 = DbEntityHelper::createSignupMember($m1_3_1, true, ['lastName' => 'm1_3_1_1']);
     $bonusId = $m1->getId();
     $bonusIdsApplyed = [$m1_1, $m1_2, $m1_2_1, $m1_2_2, $m1_3_1, $m1_3, $m1_2_3, $m1_3_1_1];
     foreach ($bonusIdsApplyed as $m) {
         $m->reload();
         $ids = \MemberBonusIds::toArray($m->getBonusIds());
         $this->assertTrue(is_array($ids), 'Invalid bonus ids "' . json_encode($ids) . '" for member: ' . $m->getlastName());
         $this->assertArrayHasKey($bonusId, $ids, 'Invalid bonus ids for member: ' . $m->getlastName());
     }
 }