22
33declare (strict_types=1 );
44
5- namespace Riot \Tests \API \Version4 ;
5+ namespace Riot \Tests \Unit \ API \Version4 ;
66
77use PHPUnit \Framework \TestCase ;
88use Psr \Http \Message \ResponseInterface ;
1313
1414final class SummonerTest extends TestCase
1515{
16- public function testGetByNameReturnsNullOnGetNull ( ): void
16+ private function setUpNullResponse ( string $ path ): ConnectionInterface
1717 {
18- $ riotConnection = $ this ->createMock (ConnectionInterface::class);
19- $ riotConnection ->expects (self ::once ())
18+ $ nullRiotConnectionResponse = $ this ->createMock (ConnectionInterface::class);
19+ $ nullRiotConnectionResponse ->expects (self ::once ())
2020 ->method ('get ' )
21- ->with (self ::equalTo ('eun1 ' ), self ::equalTo (' lol/summoner/v4/summoners/by-name/simivar ' ))
21+ ->with (self ::equalTo ('eun1 ' ), self ::equalTo ($ path ))
2222 ->willReturn (null )
2323 ;
2424
25- $ summoner = new Summoner ($ riotConnection );
26- $ result = $ summoner ->getByName ('simivar ' , 'eun1 ' );
27- self ::assertNull ($ result );
25+ return $ nullRiotConnectionResponse ;
2826 }
2927
30- public function testGetByNameReturnsSummonerDTOOnSuccess ( ): void
28+ private function setUpJsonResponse ( string $ path ): ConnectionInterface
3129 {
3230 $ apiResponse = '{"id": "1","accountId": "2","puuid": "3","name": "Simivar","profileIconId": 4,"revisionDate": 5,"summonerLevel": 6} ' ;
3331
@@ -46,12 +44,66 @@ public function testGetByNameReturnsSummonerDTOOnSuccess(): void
4644 $ riotConnection = $ this ->createMock (ConnectionInterface::class);
4745 $ riotConnection ->expects (self ::once ())
4846 ->method ('get ' )
49- ->with (self ::equalTo ('eun1 ' ), self ::equalTo (' lol/summoner/v4/summoners/by-name/simivar ' ))
47+ ->with (self ::equalTo ('eun1 ' ), self ::equalTo ($ path ))
5048 ->willReturn ($ response )
5149 ;
5250
53- $ summoner = new Summoner ($ riotConnection );
51+ return $ riotConnection ;
52+ }
53+
54+ public function testGetByNameReturnsNullOnGetNull (): void
55+ {
56+ $ summoner = new Summoner ($ this ->setUpNullResponse ('lol/summoner/v4/summoners/by-name/simivar ' ));
57+ $ result = $ summoner ->getByName ('simivar ' , 'eun1 ' );
58+ self ::assertNull ($ result );
59+ }
60+
61+ public function testGetByNameReturnsSummonerDTOOnSuccess (): void
62+ {
63+ $ summoner = new Summoner ($ this ->setUpJsonResponse ('lol/summoner/v4/summoners/by-name/simivar ' ));
5464 $ result = $ summoner ->getByName ('simivar ' , 'eun1 ' );
5565 self ::assertInstanceOf (SummonerDTO::class, $ result );
5666 }
67+
68+ public function testGetByAccountIdReturnsNullOnGetNull (): void
69+ {
70+ $ summoner = new Summoner ($ this ->setUpNullResponse ('lol/summoner/v4/summoners/by-account/simivar ' ));
71+ $ result = $ summoner ->getByAccountId ('simivar ' , 'eun1 ' );
72+ self ::assertNull ($ result );
73+ }
74+
75+ public function testGetByAccountIdReturnsSummonerDTOOnSuccess (): void
76+ {
77+ $ summoner = new Summoner ($ this ->setUpJsonResponse ('lol/summoner/v4/summoners/by-account/simivar ' ));
78+ $ result = $ summoner ->getByAccountId ('simivar ' , 'eun1 ' );
79+ self ::assertInstanceOf (SummonerDTO::class, $ result );
80+ }
81+
82+ public function testGetByPuuidReturnsNullOnGetNull (): void
83+ {
84+ $ summoner = new Summoner ($ this ->setUpNullResponse ('lol/summoner/v4/summoners/by-puuid/simivar ' ));
85+ $ result = $ summoner ->getByPuuid ('simivar ' , 'eun1 ' );
86+ self ::assertNull ($ result );
87+ }
88+
89+ public function testGetByPuuidReturnsSummonerDTOOnSuccess (): void
90+ {
91+ $ summoner = new Summoner ($ this ->setUpJsonResponse ('lol/summoner/v4/summoners/by-puuid/simivar ' ));
92+ $ result = $ summoner ->getByPuuid ('simivar ' , 'eun1 ' );
93+ self ::assertInstanceOf (SummonerDTO::class, $ result );
94+ }
95+
96+ public function testGetByIdReturnsNullOnGetNull (): void
97+ {
98+ $ summoner = new Summoner ($ this ->setUpNullResponse ('lol/summoner/v4/summoners/simivar ' ));
99+ $ result = $ summoner ->getById ('simivar ' , 'eun1 ' );
100+ self ::assertNull ($ result );
101+ }
102+
103+ public function testGetByIdReturnsSummonerDTOOnSuccess (): void
104+ {
105+ $ summoner = new Summoner ($ this ->setUpJsonResponse ('lol/summoner/v4/summoners/simivar ' ));
106+ $ result = $ summoner ->getById ('simivar ' , 'eun1 ' );
107+ self ::assertInstanceOf (SummonerDTO::class, $ result );
108+ }
57109}
0 commit comments