| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- <?php
- namespace Tests\Unit;
- use App\Models\Agent\AgentProfitCommissionProfile;
- use App\Models\Agent\AgentProfitCommissionAssignment;
- use PHPUnit\Framework\TestCase;
- class AgentProfitCommissionProfileTest extends TestCase
- {
- public function test_game_types_map_to_the_expected_profit_rates(): void
- {
- $profile = new AgentProfitCommissionProfile([
- 'live_rate' => '1', 'slot_rate' => '2', 'lottery_rate' => '3', 'sport_rate' => '4',
- 'esports_rate' => '5', 'fishing_rate' => '6', 'chess_rate' => '7',
- ]);
- $this->assertSame('1.0000', $profile->rateForGameType(1));
- $this->assertSame('2.0000', $profile->rateForGameType(2));
- $this->assertSame('3.0000', $profile->rateForGameType(3));
- $this->assertSame('4.0000', $profile->rateForGameType(4));
- $this->assertSame('5.0000', $profile->rateForGameType(5));
- $this->assertSame('6.0000', $profile->rateForGameType(6));
- $this->assertSame('7.0000', $profile->rateForGameType(7));
- $this->assertSame('0.0000', $profile->rateForGameType(99));
- }
- public function test_historical_assignment_uses_its_rate_snapshot(): void
- {
- $assignment = new AgentProfitCommissionAssignment([
- 'live_rate' => '11', 'slot_rate' => '12', 'lottery_rate' => '13', 'sport_rate' => '14',
- 'esports_rate' => '15', 'fishing_rate' => '16', 'chess_rate' => '17',
- ]);
- $this->assertSame('11.0000', $assignment->rateForGameType(1));
- $this->assertSame('14.0000', $assignment->rateForGameType(4));
- $this->assertSame('17.0000', $assignment->rateForGameType(7));
- $this->assertSame('0.0000', $assignment->rateForGameType(99));
- }
- }
|