Esempio n. 1
0
 public function testReceivingChildrenOfDeletedFirstMemberWithDeepTree()
 {
     // NOTE: This tests what happen if my first advertising gets
     // deleted due to not paying fee.
     /* Setup
        ---------------------------------------------*/
     DbEntityHelper::setCon(self::$propelCon);
     $promoter1 = DbEntityHelper::createMember();
     $MYSELF = DbEntityHelper::createSignupMember($promoter1);
     $MYSELF_total = new TransactionTotalsAssertions($MYSELF, $this);
     $this->assertEquals($MYSELF->getFundsLevel(), Member::FUNDS_LEVEL1);
     /* Advertise 2 users
        ---------------------------------------------*/
     $MYSELF_total->add(Transaction::REASON_ADVERTISED_LVL1);
     $franz = DbEntityHelper::createSignupMember($MYSELF);
     $WILL_NOT_PAY = DbEntityHelper::createSignupMember($MYSELF, false);
     /* WILL_NOT_PAY advertises 3 and these does either advertise a view
        ---------------------------------------------*/
     $MYSELF_total->add(Transaction::REASON_ADVERTISED_LVL1);
     $MYSELF_total->add(Transaction::REASON_ADVERTISED_LVL2, 4);
     DbEntityHelper::createSignupMember($WILL_NOT_PAY);
     DbEntityHelper::createSignupMember($WILL_NOT_PAY);
     DbEntityHelper::createSignupMember($WILL_NOT_PAY);
     $deep1 = DbEntityHelper::createSignupMember($WILL_NOT_PAY);
     $deep1_lazy = DbEntityHelper::createSignupMember($WILL_NOT_PAY, false);
     $MYSELF_total->add(Transaction::REASON_ADVERTISED_INDIRECT, 2);
     $deep2 = DbEntityHelper::createSignupMember($deep1);
     DbEntityHelper::createSignupMember($deep1);
     DbEntityHelper::createSignupMember($deep1);
     DbEntityHelper::createSignupMember($deep1);
     $deep2_lazy = DbEntityHelper::createSignupMember($deep1, false);
     $MYSELF_total->add(Transaction::REASON_ADVERTISED_INDIRECT, 2);
     $deep3 = DbEntityHelper::createSignupMember($deep2, false);
     DbEntityHelper::createSignupMember($deep2);
     $WILL_NOT_PAY->deleteAndUpdateTree(self::$propelCon);
     DbEntityHelper::fireReceivedMemberFee($deep1_lazy, time());
     DbEntityHelper::fireReceivedMemberFee($deep2_lazy, time());
     DbEntityHelper::fireReceivedMemberFee($deep3, time());
     // ---- assert - ME
     $MYSELF_total->assertTotals();
 }
Esempio n. 2
0
 public function testInvitationCanFreeFromFee()
 {
     // NOTE: This tests what happen if one of my third+ advertisings gets
     // deleted due to not paiing fee.
     /* Setup
        ---------------------------------------------*/
     DbEntityHelper::setCon(self::$propelCon);
     $marketingLeader = DbEntityHelper::createMember(null, ['Type' => Member::TYPE_MARKETINGLEADER]);
     $marketingLeader->reload(self::$propelCon);
     /* Create invitation
        ---------------------------------------------*/
     $invitation = Invitation::create($marketingLeader, ['type' => Member::TYPE_ORGLEADER, 'free_signup' => 1], self::$propelCon);
     /* Create member with created invitation code
        ---------------------------------------------*/
     list($valid, $data, $referralMember, $invitation) = \Member::validateSignupForm(array_merge(self::$singupFormData, ['referral_member_num' => $marketingLeader->getNum(), 'invitation_code' => $invitation->getHash()]));
     $member = \Member::createFromSignup($data, $marketingLeader, $invitation, self::$propelCon);
     $member->reload(self::$propelCon);
     /* Assert proper member type
        ---------------------------------------------*/
     $this->assertEquals(Member::TYPE_ORGLEADER, $member->getType());
     $this->assertNotNull($member->getPaidDate());
 }
 public static function setUpBeforeClass()
 {
     $con = Propel::getConnection();
     DbEntityHelper::setCon($con);
 }
Esempio n. 4
0
<?php

include dirname(__FILE__) . '/bootstrap.php';
$con = Propel::getConnection();
DbEntityHelper::setCon($con);
DbEntityHelper::truncateDatabase();
list(list($IT, $VL, $OL, $PM, $VS2, $VS1), list($trfIT, $trfVL, $trfOL, $trfPM, $trfVS2, $trfVS1), ) = DbEntityHelper::setUpBonusMembers(false);
$pm1 = DbEntityHelper::createSignupMember($PM);
$pm2 = DbEntityHelper::createSignupMember($PM);
$pm3 = DbEntityHelper::createSignupMember($PM);
$pm4 = DbEntityHelper::createSignupMember($PM);
$pm5 = DbEntityHelper::createSignupMember($PM);
$pm1_1 = DbEntityHelper::createSignupMember($pm1);
$pm1_2 = DbEntityHelper::createSignupMember($pm1);
$pm1_3 = DbEntityHelper::createSignupMember($pm1);
$pm1_4 = DbEntityHelper::createSignupMember($pm1);
$pm1_5 = DbEntityHelper::createSignupMember($pm1);
$pm1_6 = DbEntityHelper::createSignupMember($pm1);
$pm2_1 = DbEntityHelper::createSignupMember($pm2);
$pm2_1_1 = DbEntityHelper::createSignupMember($pm2_1);
$pm2_1_1_1 = DbEntityHelper::createSignupMember($pm2_1_1);
$pm2_1_1_1_1 = DbEntityHelper::createSignupMember($pm2_1_1_1);
$pm2_1_1_1_1_1 = DbEntityHelper::createSignupMember($pm2_1_1_1_1);
DbEntityHelper::createSignupMember($pm2_1_1_1_1_1);
DbEntityHelper::createSignupMember($pm2_1_1_1_1_1);
DbEntityHelper::createSignupMember($pm2_1_1_1_1_1);
DbEntityHelper::createSignupMember($pm4);
DbEntityHelper::createSignupMember($pm4);
Esempio n. 5
0
 public function testVariant12()
 {
     /**
      * OL - Neues Mitglied
      * 22$
      * ------------------------------------------*/
     /* Setup
        ---------------------------------------------*/
     DbEntityHelper::setCon(self::$propelCon);
     list(list($IT, $VL, $OL, $PM, $VS2, $VS1), list($trfIT, $trfVL, $trfOL, $trfPM, $trfVS2, $trfVS1), ) = DbEntityHelper::setUpBonusMembers(true, ['VL' => false]);
     $new = DbEntityHelper::createSignupMember($OL);
     $trfIT += Transaction::getAmountForReason(Transaction::REASON_IT_BONUS);
     // $trfVL += Transaction::getAmountForReason(Transaction::REASON_VL_BONUS);
     $trfOL += Transaction::getAmountForReason(Transaction::REASON_OL_BONUS) + Transaction::getAmountForReason(Transaction::REASON_PM_BONUS) + Transaction::getAmountForReason(Transaction::REASON_ADVERTISED_LVL2);
     // $trfPM += Transaction::getAmountForReason(Transaction::REASON_PM_BONUS);
     // $trfVS2 += Transaction::getAmountForReason(Transaction::REASON_ADVERTISED_INDIRECT);
     // $trfVS1 += Transaction::getAmountForReason(Transaction::REASON_ADVERTISED_LVL1);
     $this->assertTransferTotal($trfIT, $IT);
     // $this->assertTransferTotal($trfVL, $VL);
     $this->assertTransferTotal($trfOL, $OL);
     $this->assertTransferTotal($trfPM, $PM);
     $this->assertTransferTotal($trfVS2, $VS2);
     $this->assertTransferTotal($trfVS1, $VS1);
 }
 public function testSubPromoterBonusSpreading()
 {
     // Deprecated
     $this->assertTrue(true);
     return;
     /**
      *       PM
      *       1$
      *
      * VL -  S_PM - Neues Mitglied
      * 1$ -  1$  - 5$
      * ------------------------------------------*/
     /* Setup
        ---------------------------------------------*/
     DbEntityHelper::setCon(self::$propelCon);
     $marketingLeader = DbEntityHelper::createMember(null, ['Type' => Member::TYPE_MARKETINGLEADER, 'FundsLevel' => Member::FUNDS_LEVEL2]);
     $marketingLeader->reload(self::$propelCon);
     $mLeaderTransfer = new TransactionTotalsAssertions($marketingLeader, $this);
     $promoter = DbEntityHelper::createSignupMember($marketingLeader);
     $mLeaderTransfer->add(Transaction::REASON_ADVERTISED_LVL2);
     $mLeaderTransfer->add(Transaction::REASON_VL_BONUS);
     $mLeaderTransfer->add(Transaction::REASON_OL_BONUS);
     $mLeaderTransfer->add(Transaction::REASON_PM_BONUS);
     /* Create invitation
        ---------------------------------------------*/
     $invitation = Invitation::create($marketingLeader, ['type' => Member::TYPE_SUB_PROMOTER, 'free_signup' => 1, 'promoter_num' => $promoter->getNum(), 'promoter_id' => $promoter->getId()], self::$propelCon);
     /* Create member with created invitation code
        ---------------------------------------------*/
     list($valid, $data, $referralMember, $invitation) = \Member::validateSignupForm(array_merge(self::$singupFormData, ['referral_member_num' => $marketingLeader->getNum(), 'invitation_code' => $invitation->getHash()]));
     $subPromoter = \Member::createFromSignup($data, $marketingLeader, $invitation, self::$propelCon);
     $subPromoter->reload(self::$propelCon);
     /* Sub promoter recruits anyone
        ---------------------------------------------*/
     DbEntityHelper::createSignupMember($subPromoter);
     $subPromoterTransfer = new TransactionTotalsAssertions($subPromoter, $this);
     $promoterTransfer = new TransactionTotalsAssertions($promoter, $this);
     $mLeaderTransfer->add(Transaction::REASON_VL_BONUS);
     $mLeaderTransfer->add(Transaction::REASON_ADVERTISED_INDIRECT);
     $promoterTransfer->add(Transaction::REASON_SUB_PM_REF_BONUS);
     $subPromoterTransfer->add(Transaction::REASON_SUB_PM_BONUS);
     $subPromoterTransfer->add(Transaction::REASON_ADVERTISED_LVL1);
     $mLeaderTransfer->assertTotals();
     $promoterTransfer->assertTotals();
     $subPromoterTransfer->assertTotals();
 }