/**
* test add config
*
* @return void
*/
public function testAddConfig()
{
$instanceConfig1Params = ['instanceId' => 'instance1', 'instanceName' => 'instance1Name', 'param1' => 'param1'];
$instanceConfig1 = m::mock('Xpressengine\\Config\\ConfigEntity');
$instanceConfig1->shouldReceive('get')->with('instanceId')->andReturn('instance1');
$instanceConfig1->shouldReceive('getPureAll')->andReturn($instanceConfig1Params);
$instanceConfig1->shouldReceive('diff')->andReturn([]);
$configManager = m::mock('Xpressengine\\Config\\ConfigManager');
$configManager->shouldReceive('add')->with(sprintf('%s.instance1', ConfigHandler::CONFIG_NAME), $instanceConfig1Params)->andReturn($instanceConfig1);
$configManager->shouldReceive('put')->with(sprintf('%s.instance1', ConfigHandler::CONFIG_NAME), $instanceConfig1Params)->andReturn($instanceConfig1);
$configManager->shouldReceive('remove');
$configManager->shouldReceive('get')->with(sprintf('%s.instance1', ConfigHandler::CONFIG_NAME))->andReturn($instanceConfig1);
/** @var \Xpressengine\Config\ConfigManager $configManager */
$configHandler = new ConfigHandler($configManager);
$params = ['param1' => 'param1'];
$config = $configHandler->make('instance1', $params);
$this->assertInstanceOf('Xpressengine\\Config\\ConfigEntity', $config);
/** @var \Xpressengine\Config\ConfigEntity $instanceConfig1 */
$configHandler->add($instanceConfig1);
$configHandler->put($instanceConfig1);
$configHandler->remove($instanceConfig1);
}