Esempio n. 1
0
 public function __construct(Member $member, PHPUnit_Framework_TestCase $testCase)
 {
     $this->member = $member;
     $this->testCase = $testCase;
     $this->transfer = DbEntityHelper::getCurrentTransferBundle($member);
     if ($this->transfer->isNew()) {
         $this->transfer->save(DbEntityHelper::$con);
     }
 }
Esempio n. 2
0
 public function testSnowballModel()
 {
     /* Setup
        ---------------------------------------------*/
     $systemAccount = SystemStats::getSystemAccount();
     $systemTransfer = new TransactionTotalsAssertions($systemAccount, $this);
     $promoter1 = DbEntityHelper::createMember();
     $MYSELF = DbEntityHelper::createSignupMember($promoter1);
     $this->assertEquals($MYSELF->getFundsLevel(), Member::FUNDS_LEVEL1);
     /* Advertise 2 users
        ---------------------------------------------*/
     $far_l1_1 = DbEntityHelper::createSignupMember($MYSELF);
     $bea_l1_2 = DbEntityHelper::createSignupMember($MYSELF);
     $this->assertEquals($MYSELF->getFundsLevel(), Member::FUNDS_LEVEL2);
     $MYSELF_total = new TransactionTotalsAssertions($MYSELF, $this);
     $MYSELF_total->add(Transaction::REASON_ADVERTISED_LVL1, 2);
     $MYSELF_total->assertTotals();
     /* Advertise 1 more user - chris
        ---------------------------------------------*/
     $CHRIS_l1_3 = DbEntityHelper::createSignupMember($MYSELF);
     // ---- assert - ME
     $MYSELF_total->add(Transaction::REASON_ADVERTISED_LVL2);
     $MYSELF_total->assertTotals();
     /* chris advertise 1 user - dean
        ---------------------------------------------*/
     $DEAN_l2_1 = DbEntityHelper::createSignupMember($CHRIS_l1_3);
     // ---- assert - CHRIS
     $CHRIS_transfer = DbEntityHelper::getCurrentTransferBundle($CHRIS_l1_3);
     $CHRIS_total = new TransactionTotalsAssertions($CHRIS_l1_3, $this);
     $CHRIS_total->add(Transaction::REASON_ADVERTISED_LVL1);
     $CHRIS_total->assertTotals();
     // ---- assert - ME
     $MYSELF_total->add(Transaction::REASON_ADVERTISED_INDIRECT);
     $MYSELF_total->assertTotals();
     /* chris advertise 1 user - emi
        ---------------------------------------------*/
     $EMI_l2_2 = DbEntityHelper::createSignupMember($CHRIS_l1_3);
     // ---- assert - CHRIS
     $CHRIS_total->add(Transaction::REASON_ADVERTISED_LVL1);
     $CHRIS_total->assertTotals();
     $this->assertEquals($CHRIS_l1_3->getFundsLevel(), Member::FUNDS_LEVEL2);
     // ---- assert - ME
     $MYSELF_total->add(Transaction::REASON_ADVERTISED_INDIRECT);
     $MYSELF_total->assertTotals();
     /* dean advertise 1 user - franz
        ---------------------------------------------*/
     $FRANZ_l3_1 = DbEntityHelper::createSignupMember($DEAN_l2_1);
     // ---- assert - CHRIS - remain at 10 euro
     $CHRIS_total->assertTotals();
     // ---- assert - ME
     $MYSELF_total->add(Transaction::REASON_ADVERTISED_INDIRECT);
     $MYSELF_total->assertTotals();
     DbEntityHelper::createSignupMember($DEAN_l2_1);
     DbEntityHelper::createSignupMember($EMI_l2_2);
     DbEntityHelper::createSignupMember($EMI_l2_2);
     $CHRIS_total->add(Transaction::REASON_ADVERTISED_LVL2);
     $CHRIS_total->add(Transaction::REASON_ADVERTISED_INDIRECT, 2);
     $ALF_l2_3 = DbEntityHelper::createSignupMember($CHRIS_l1_3);
     $GUST_l3_1 = DbEntityHelper::createSignupMember($ALF_l2_3);
     DbEntityHelper::createSignupMember($ALF_l2_3);
     // ---- assert - CHRIS - at 60 euro
     $CHRIS_total->assertTotals();
     // ---- assert - ME
     $MYSELF_total->add(Transaction::REASON_ADVERTISED_INDIRECT, 3);
     $MYSELF_total->assertTotals();
     $CHRIS_total->add(Transaction::REASON_ADVERTISED_INDIRECT, 2);
     DbEntityHelper::createSignupMember($GUST_l3_1);
     DbEntityHelper::createSignupMember($GUST_l3_1);
     // ---- assert - CHRIS - at 90 euro
     $CHRIS_total->assertTotals();
     /* if anyone advertised more than 2 user i dont get anything from the third on
        ---------------------------------------------*/
     DbEntityHelper::createSignupMember($CHRIS_l1_3);
     DbEntityHelper::createSignupMember($CHRIS_l1_3);
     DbEntityHelper::createSignupMember($CHRIS_l1_3);
     DbEntityHelper::createSignupMember($GUST_l3_1);
     DbEntityHelper::createSignupMember($GUST_l3_1);
     DbEntityHelper::createSignupMember($GUST_l3_1);
     DbEntityHelper::createSignupMember($ALF_l2_3);
     DbEntityHelper::createSignupMember($ALF_l2_3);
     DbEntityHelper::createSignupMember($ALF_l2_3);
     DbEntityHelper::createSignupMember($EMI_l2_2);
     DbEntityHelper::createSignupMember($EMI_l2_2);
     /* as well, i dont get anything but 5euro from my first advertisings
        ---------------------------------------------*/
     DbEntityHelper::createSignupMember($bea_l1_2);
     DbEntityHelper::createSignupMember($bea_l1_2);
     DbEntityHelper::createSignupMember($bea_l1_2);
     // ---- assert - MYSELF
     $MYSELF_total->assertTotals();
 }
Esempio n. 3
0
 private function assertTransferTotal($total, Member $member)
 {
     $transfer = DbEntityHelper::getCurrentTransferBundle($member);
     $this->assertEquals($total, $transfer->getAmount(), 'Incorrect transfer total');
     $this->assertEquals($total, $member->getOutstandingTotal(), 'Incorrect outstanding total');
 }