You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							85 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
	
	
							85 lines
						
					
					
						
							1.8 KiB
						
					
					
				<?php | 
						|
 | 
						|
namespace yiiunit\extensions\authclient; | 
						|
 | 
						|
use yii\authclient\Collection; | 
						|
use yii\authclient\BaseClient; | 
						|
use yiiunit\extensions\authclient\TestCase; | 
						|
 | 
						|
class CollectionTest extends TestCase | 
						|
{ | 
						|
	// Tests : | 
						|
 | 
						|
	public function testSetGet() | 
						|
	{ | 
						|
		$collection = new Collection(); | 
						|
 | 
						|
		$clients = [ | 
						|
			'testClient1' => new TestClient(), | 
						|
			'testClient2' => new TestClient(), | 
						|
		]; | 
						|
		$collection->setClients($clients); | 
						|
		$this->assertEquals($clients, $collection->getClients(), 'Unable to setup clients!'); | 
						|
	} | 
						|
 | 
						|
	/** | 
						|
	 * @depends testSetGet | 
						|
	 */ | 
						|
	public function testGetProviderById() | 
						|
	{ | 
						|
		$collection = new Collection(); | 
						|
 | 
						|
		$clientId = 'testClientId'; | 
						|
		$client = new TestClient(); | 
						|
		$clients = [ | 
						|
			$clientId => $client | 
						|
		]; | 
						|
		$collection->setClients($clients); | 
						|
 | 
						|
		$this->assertEquals($client, $collection->getClient($clientId), 'Unable to get client by id!'); | 
						|
	} | 
						|
 | 
						|
	/** | 
						|
	 * @depends testGetProviderById | 
						|
	 */ | 
						|
	public function testCreateProvider() | 
						|
	{ | 
						|
		$collection = new Collection(); | 
						|
 | 
						|
		$clientId = 'testClientId'; | 
						|
		$clientClassName = TestClient::className(); | 
						|
		$clients = [ | 
						|
			$clientId => [ | 
						|
				'class' => $clientClassName | 
						|
			] | 
						|
		]; | 
						|
		$collection->setClients($clients); | 
						|
 | 
						|
		$provider = $collection->getClient($clientId); | 
						|
		$this->assertTrue(is_object($provider), 'Unable to create client by config!'); | 
						|
		$this->assertTrue(is_a($provider, $clientClassName), 'Client has wrong class name!'); | 
						|
	} | 
						|
 | 
						|
	/** | 
						|
	 * @depends testSetGet | 
						|
	 */ | 
						|
	public function testHasProvider() | 
						|
	{ | 
						|
		$collection = new Collection(); | 
						|
 | 
						|
		$clientName = 'testClientName'; | 
						|
		$clients = [ | 
						|
			$clientName => [ | 
						|
				'class' => 'TestClient1' | 
						|
			], | 
						|
		]; | 
						|
		$collection->setClients($clients); | 
						|
 | 
						|
		$this->assertTrue($collection->hasClient($clientName), 'Existing client check fails!'); | 
						|
		$this->assertFalse($collection->hasClient('unExistingClientName'), 'Not existing client check fails!'); | 
						|
	} | 
						|
} | 
						|
 | 
						|
class TestClient extends BaseClient | 
						|
{ | 
						|
} |