Last active
October 28, 2015 20:15
-
-
Save polevaultweb/b82a609a882e18c58562 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Class API | |
*/ | |
class API extends \WP_UnitTestCase { | |
/** | |
* @var \DeliciousBrains\Offload\AWS\API | |
*/ | |
private $api; | |
/** | |
* @var \WP_Error | |
*/ | |
private $wp_error_response; | |
/** | |
* Before each test | |
*/ | |
public function setUp() { | |
/* | |
* Mock the API class so we don't make remote calls | |
* This is a partial mock, in that we are only mocking certain methods | |
*/ | |
$this->api = $this->getMockBuilder( '\DeliciousBrains\Offload\AWS\API' ) | |
->setConstructorArgs( array( API_KEY, API_SECRET ) ) | |
->setMethods( array( 'request' ) ) | |
->getMock(); | |
$this->wp_error_response = new \WP_Error( 100, 'Issue with AWS' ); | |
} | |
function test_get_files() { | |
$successful_response = new \stdClass; | |
$successful_response->data = array( array( 'id' => 1, 'name' => 'image.jpg' ) ); | |
$this->api->expects( $this->any() ) | |
->method( 'request' ) | |
->will( $this->onConsecutiveCalls( $successful_response, $this->wp_error_response, array() ) ); | |
// Test for successful response | |
$this->assertEquals( $successful_response, $this->api->get_files() ); | |
// Test for WP_Error (Error) response | |
$this->assertTrue( is_wp_error( $this->api->get_files() ) ); | |
// Test for empty array response | |
$array_response = $this->api->get_files(); | |
$this->assertTrue( is_array( $array_response ) ); | |
$this->assertCount( 0, $array_response ); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment