コード例 #1
0
 private function _calcBonusTeam($nextPeriodBegin, $expectedBegin, $expectedEnd)
 {
     /* perform operation by the first date of the next period */
     $datePerformed = $this->_toolPeriod->getTimestampTo($nextPeriodBegin);
     $request = new BonusCalcTeamBonusRequest();
     $request->setDatePerformed($datePerformed);
     $response = $this->_callCalc->bonusTeam($request);
     $this->assertTrue($response->isSucceed());
     $periodId = $response->getPeriodId();
     $calcId = $response->getCalcId();
     /* validate period */
     $this->assertNotNull($periodId);
     $data = $this->_repoBasic->getEntityByPk(Period::ENTITY_NAME, [Period::ATTR_ID => $periodId]);
     $this->assertEquals($expectedBegin, $data[Period::ATTR_DSTAMP_BEGIN]);
     $this->assertEquals($expectedEnd, $data[Period::ATTR_DSTAMP_END]);
     /* validate calculation */
     $this->assertNotNull($calcId);
     $data = $this->_repoBasic->getEntityByPk(Calculation::ENTITY_NAME, [Calculation::ATTR_ID => $calcId]);
     $this->assertEquals(Cfg::CALC_STATE_COMPLETE, $data[Calculation::ATTR_STATE]);
     /* validate WALLET_ACTIVE balances */
     $this->_validateWalletsAfterTeam();
 }
コード例 #2
0
 private function _calcBonusTeam()
 {
     $request = new BonusCalcBonusTeamRequest();
     /* DEFAULT scheme */
     $request->setScheme(Def::SCHEMA_DEFAULT);
     $request->setCourtesyBonusPercent(self::DEF_COURTESY_BONUS_PERCENT);
     $response = $this->_callCalc->bonusTeam($request);
     $this->_calcIdBonusTeamDef = $response->getCalcId();
     $this->assertTrue($response->isSucceed());
     /* EU scheme */
     $request->setScheme(Def::SCHEMA_EU);
     $request->setTeamBonusPercent(self::DEF_TEAM_BONUS_EU_PERCENT);
     $response = $this->_callCalc->bonusTeam($request);
     $this->_calcIdBonusTeamEu = $response->getCalcId();
     $this->assertTrue($response->isSucceed());
 }