Skip to content

Commit 70cec3e

Browse files
authored
Merge pull request #2 from iamsalnikov/test_access_token
Tests for LinkedIn\AccessToken
2 parents 4495d01 + 52a94ce commit 70cec3e

File tree

1 file changed

+115
-0
lines changed

1 file changed

+115
-0
lines changed

tests/AccessTokenTest.php

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
<?php
2+
/**
3+
* linkedin-client
4+
* AccessTokenTest.php
5+
*
6+
* PHP Version 5
7+
*
8+
* @category Production
9+
* @package Default
10+
* @author Aleksey Salnikov <me@iamsalnikov.ru>
11+
* @date 8/25/17 15:57
12+
* @license http://www.zoonman.com/projects/linkedin-client/license.txt linkedin-client License
13+
* @version GIT: 1.0
14+
* @link http://www.zoonman.com/projects/linkedin-client/
15+
*/
16+
17+
namespace LinkedIn;
18+
19+
use PHPUnit\Framework\TestCase;
20+
21+
/**
22+
* Class ClientTest
23+
*
24+
* @package LinkedIn
25+
*/
26+
class AccessTokenTest extends TestCase
27+
{
28+
/**
29+
* @dataProvider getValidResponseTestTable()
30+
* @param AccessToken $expectedToken
31+
* @param array $response
32+
*/
33+
public function testConstructorFromResponseArray($expectedToken, $response)
34+
{
35+
$token = AccessToken::fromResponseArray($response);
36+
$this->assertEquals($expectedToken->getToken(), $token->getToken());
37+
}
38+
39+
public function getValidResponseTestTable()
40+
{
41+
return [
42+
[
43+
'expectedToken' => new AccessToken('test', 0),
44+
'response' => [
45+
'access_token' => 'test',
46+
'expires_in' => 0,
47+
],
48+
]
49+
];
50+
}
51+
52+
/**
53+
* @dataProvider getInvalidResponseTestTable()
54+
*
55+
* @param string $exceptionClass
56+
* @param string $exceptionMessage
57+
* @param mixed $response
58+
*/
59+
public function testConstructorFromResponseArrayWithException($exceptionClass, $exceptionMessage, $response)
60+
{
61+
$this->setExpectedException($exceptionClass, $exceptionMessage);
62+
AccessToken::fromResponseArray($response);
63+
}
64+
65+
public function getInvalidResponseTestTable()
66+
{
67+
return [
68+
[
69+
'expectedException' => \InvalidArgumentException::class,
70+
'exceptionMessage' => 'Argument is not array',
71+
'response' => null,
72+
],
73+
[
74+
'expectedException' => \InvalidArgumentException::class,
75+
'exceptionMessage' => 'Access token is not available',
76+
'response' => [],
77+
],
78+
[
79+
'expectedException' => \InvalidArgumentException::class,
80+
'exceptionMessage' => 'Access token is not available',
81+
'response' => [
82+
'access_token' => null,
83+
],
84+
],
85+
[
86+
'expectedException' => \InvalidArgumentException::class,
87+
'exceptionMessage' => 'Access token is not available',
88+
'response' => [
89+
'expires_in' => 1,
90+
],
91+
],
92+
[
93+
'expectedException' => \InvalidArgumentException::class,
94+
'exceptionMessage' => 'Access token expiration date is not specified',
95+
'response' => [
96+
'access_token' => 'hello',
97+
],
98+
],
99+
[
100+
'expectedException' => \InvalidArgumentException::class,
101+
'exceptionMessage' => 'Access token expiration date is not specified',
102+
'response' => [
103+
'access_token' => 'hello',
104+
'expires_in' => null,
105+
],
106+
],
107+
];
108+
}
109+
110+
public function testToString()
111+
{
112+
$token = new AccessToken('hello', 1);
113+
$this->assertEquals('hello', (string) $token);
114+
}
115+
}

0 commit comments

Comments
 (0)