WorldCupOddsSqlSeedTest.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace Tests\Unit;
  3. use PHPUnit\Framework\TestCase;
  4. class WorldCupOddsSqlSeedTest extends TestCase
  5. {
  6. public function testWinnerOddsUseDraftKingsDecimal(): void
  7. {
  8. $sql = $this->worldCupSql();
  9. $this->assertContains("(NULL, 'winner', 'Brazil', 10.00", $sql);
  10. $this->assertContains("(NULL, 'winner', 'Argentina', 10.50", $sql);
  11. $this->assertContains("(NULL, 'winner', 'France', 5.80", $sql);
  12. $this->assertNotContains("(NULL, 'winner', 'Brazil', 9.50", $sql);
  13. $this->assertNotContains("(NULL, 'winner', 'Argentina', 10.17", $sql);
  14. }
  15. public function testPostedRoundOneMatchOddsAreSeededByExistingMatchId(): void
  16. {
  17. $sql = $this->worldCupSql();
  18. $this->assertContains("(1, '1x2', 'home', 1.40", $sql);
  19. $this->assertContains("(1, '1x2', 'draw', 4.60", $sql);
  20. $this->assertContains("(1, '1x2', 'away', 8.00", $sql);
  21. $this->assertContains("(7, '1x2', 'home', 2.05", $sql);
  22. $this->assertContains("(7, '1x2', 'away', 3.90", $sql);
  23. }
  24. public function testOddsSeedUsesMergeForRepeatableDeploys(): void
  25. {
  26. $sql = $this->worldCupSql();
  27. $this->assertContains('MERGE agent.dbo.world_cup_odds AS target', $sql);
  28. $this->assertContains('WHEN MATCHED THEN', $sql);
  29. $this->assertContains('WHEN NOT MATCHED THEN', $sql);
  30. }
  31. private function worldCupSql(): string
  32. {
  33. return file_get_contents(__DIR__ . '/../../database/world_cup_activity.sql');
  34. }
  35. }