Passed
Push — master ( 9e3a16...830a01 )
by Ax
09:07
created

SleeperPlayerTest::testTrendingException()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 6
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 11
rs 10
1
<?php
2
3
use PHPUnit\Framework\TestCase;
4
use SchoppAx\Sleeper\SleeperClient;
5
use GuzzleHttp\Handler\MockHandler;
6
use GuzzleHttp\Psr7\Response;
7
use GuzzleHttp\Psr7\Request;
8
9
class SleeperPlayerTest extends TestCase
10
{
11
12
  public function testPlayers()
13
  {
14
    $data = file_get_contents(__DIR__ . '/data/players.json');
15
    $response = new GuzzleHttp\Psr7\Response(200, [], $data);
16
    $mock = new GuzzleHttp\Handler\MockHandler([ $response, $response ]);
17
18
    $client = new SleeperClient($mock);
19
20
    $players = $client->players()->all();
0 ignored issues
show
Bug introduced by
The method players() does not exist on SchoppAx\Sleeper\SleeperClient. Since you implemented __call, consider adding a @method annotation. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

20
    $players = $client->/** @scrutinizer ignore-call */ players()->all();
Loading history...
21
    $mThomas = (object) $players['3199'];
22
23
    $this->assertIsArray($players);
24
    $this->assertCount(4, $players);
25
    $this->assertIsObject($mThomas);
26
    $this->assertEquals('nfl', $mThomas->sport);
27
    $this->assertEquals('Michael Thomas', $mThomas->full_name);
28
    $this->assertEquals('PUP', $mThomas->injury_status);
29
    $this->assertEquals('Inactive', $mThomas->status);
30
    $this->assertEquals("6'3\"", $mThomas->height);
31
    $this->assertEquals(28, $mThomas->age);
32
    $this->assertEquals('212', $mThomas->weight);
33
    $this->assertEquals(5, $mThomas->years_exp);
34
    $this->assertEquals('NO', $mThomas->team);
35
    $this->assertEquals('WR', $mThomas->position);
36
    $this->assertEquals('3199', $mThomas->player_id);
37
  }
38
39
  public function testTrendingAdds()
40
  {
41
    $data = file_get_contents(__DIR__ . '/data/trending-add.json');
42
    $response = new GuzzleHttp\Psr7\Response(200, [], $data);
43
    $mock = new GuzzleHttp\Handler\MockHandler([ $response, $response ]);
44
45
    $client = new SleeperClient($mock);
46
47
    $players = $client->players()->trending('add');
48
    $player = (object) $players['6'];
49
50
    $this->assertIsArray($players);
51
    $this->assertCount(25, $players);
52
    $this->assertIsObject($player);
53
    $this->assertEquals('1110', $player->player_id);
54
    $this->assertEquals(53134, $player->count);
55
  }
56
57
  public function testTrendingDrops()
58
  {
59
    $data = file_get_contents(__DIR__ . '/data/trending-drop.json');
60
    $response = new GuzzleHttp\Psr7\Response(200, [], $data);
61
    $mock = new GuzzleHttp\Handler\MockHandler([ $response, $response ]);
62
63
    $client = new SleeperClient($mock);
64
65
    $players = $client->players()->trending('add');
66
    $player = (object) $players['24'];
67
68
    $this->assertIsArray($players);
69
    $this->assertCount(25, $players);
70
    $this->assertIsObject($player);
71
    $this->assertEquals('367', $player->player_id);
72
    $this->assertEquals(15676, $player->count);
73
  }
74
75
  public function testTrendingException()
76
  {
77
    $response = new GuzzleHttp\Psr7\Response(200, [], null);
78
    $mock = new GuzzleHttp\Handler\MockHandler([ $response, $response ]);
79
80
    $client = new SleeperClient($mock);
81
82
    $this->expectException(InvalidArgumentException::class);
83
    $this->expectExceptionMessage('trending function only accepts type "add" or "drop". Input was: none');
84
85
    $players = $client->players()->trending('none');
0 ignored issues
show
Unused Code introduced by
The assignment to $players is dead and can be removed.
Loading history...
86
  }
87
88
}
89