Skip to content

Commit 8443ccc

Browse files
committed
Adds test coverage for protected sdk methods.
1 parent 5e39e01 commit 8443ccc

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

tests/Unit/SDKTest.php

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
namespace DayRev\Smmry\Tests\Unit;
44

55
use DayRev\Smmry\SDK;
6+
use ReflectionMethod;
7+
use stdClass;
68

79
class SDKTest extends \PHPUnit_Framework_TestCase
810
{
@@ -21,4 +23,36 @@ public function testContainsDynamicProperties()
2123
$this->assertObjectHasAttribute('summary_length', $this->sdk);
2224
$this->assertAttributeEquals(5, 'summary_length', $this->sdk);
2325
}
26+
27+
public function testCleanSummary()
28+
{
29+
$summary = new stdClass();
30+
$summary->sm_api_title = ' Greeting ';
31+
$summary->sm_api_content = ' Hello, how are you? ';
32+
$summary->sm_api_img_url = ' http://smmry.com/sm_images/sm_logo.png ';
33+
34+
$summary = $this->invokeProtectedSdkMethod('cleanSummary', [$summary]);
35+
36+
$this->assertEquals('Greeting', $summary->sm_api_title);
37+
$this->assertEquals('Hello, how are you?', $summary->sm_api_content);
38+
$this->assertEquals(' http://smmry.com/sm_images/sm_logo.png ', $summary->sm_api_img_url);
39+
}
40+
41+
public function testBuildUrl()
42+
{
43+
$url = $this->invokeProtectedSdkMethod('buildUrl', [['SM_QUOTE_AVOID' => 1]]);
44+
45+
$this->assertEquals(
46+
'http://api.smmry.com?SM_API_KEY=D74KLJ345UH9SHDF1&SM_LENGTH=5&SM_QUOTE_AVOID=1',
47+
$url
48+
);
49+
}
50+
51+
protected function invokeProtectedSdkMethod(string $method, array $args = [])
52+
{
53+
$reflection = new ReflectionMethod(get_class($this->sdk), $method);
54+
$reflection->setAccessible(true);
55+
56+
return $reflection->invokeArgs($this->sdk, $args);
57+
}
2458
}

0 commit comments

Comments
 (0)