Merge pull request #17339 from rasmusbe/add-tests-to-integrations

Add unit tests to WC_Integrations class
This commit is contained in:
Gerhard Potgieter 2017-10-24 05:13:42 -07:00 committed by GitHub
commit df72ad8d31
2 changed files with 74 additions and 0 deletions

View File

@ -0,0 +1,18 @@
<?php
/**
* Dummy integration class
*
* @package WooCommerce\Tests\Integrations
*/
/**
* Class Dummy_Integration
*/
class Dummy_Integration extends WC_Integration {
/**
* Integration ID
*
* @var string
*/
public $id = 'dummy-integration';
}

View File

@ -0,0 +1,56 @@
<?php
/**
* Class Functions.
*
* @package WooCommerce\Tests\Integrations
*/
/**
* Class WC_Tests_Integrations
*/
class WC_Tests_Integrations extends WC_Unit_Test_Case {
/**
* Test instance creation
*/
public function test_integrations_instance() {
$integrations = new WC_Integrations();
$this->assertTrue( property_exists( $integrations, 'integrations' ) );
}
/**
* Test action triggering
*/
public function test_action() {
new WC_Integrations();
$this->assertTrue( ( did_action( 'woocommerce_integrations_init' ) > 0 ) );
}
/**
* Test filter to add integrations
*/
public function test_filter() {
$integrations = new WC_Integrations();
$this->assertEquals( array(), $integrations->integrations );
$this->assertEquals( array(), $integrations->get_integrations() );
require_once( dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'class-dummy-integration.php' );
add_filter( 'woocommerce_integrations', array( $this, 'add_dummy_integration' ) );
$integrations = new WC_Integrations();
$this->assertArrayHasKey( 'dummy-integration', $integrations->integrations );
$this->assertArrayHasKey( 'dummy-integration', $integrations->get_integrations() );
remove_filter( 'woocommerce_integrations', array( $this, 'add_dummy_integration' ) );
}
/**
* Add dummy integration via filter
*
* @return array
*/
public function add_dummy_integration() {
return array(
'Dummy_Integration',
);
}
}