public function DomainConfTestCase::testCrudUtilities in Domain Access 7.3
Base test assertions for the CRUD layer in Domain Conf.
File
- domain_conf/
tests/ domain_conf.test, line 30 - Simpletest for Domain Conf. Written by @ndobromirov.
Class
- DomainConfTestCase
- @file Simpletest for Domain Conf. Written by @ndobromirov.
Code
public function testCrudUtilities() {
// Init...
$domain = domain_default();
$domain_id = $domain['domain_id'];
$reset = TRUE;
$settings = domain_conf_data_get($domain_id, $reset);
$this
->assertFalse(isset($settings['value_1']), t('Setting `value_1` is not set yet.'));
$this
->assertFalse(isset($settings['value_2']), t('Setting `value_2` is not set yet.'));
// Test settings additions.
$settings['value_1'] = 1;
$settings['value_2'] = 2;
domain_conf_data_set($domain_id, $settings);
$this
->assertCacheState($domain_id, $settings);
$settings = domain_conf_data_get($domain_id, $reset);
$this
->assertTrue(isset($settings['value_1']), t('Setting `value_1` is set.'));
$this
->assertTrue(isset($settings['value_2']), t('Setting `value_2` is set.'));
// Test override: Change, remove and add settings.
$settings['value_1'] = 11;
unset($settings['value_2']);
$settings['value_3'] = 3;
domain_conf_data_set($domain_id, $settings, FALSE);
$this
->assertCacheState($domain_id, $settings);
$this
->assertTrue(domain_conf_data_get($domain_id, $reset) == $settings, t('Data extracted is the same as data passed in when overriding.'));
// Test merge settings: add / update only.
$new_settings = $settings;
$new_settings['value_1'] = 111;
unset($new_settings['value_3']);
$new_settings['value_4'] = 4;
domain_conf_data_set($domain_id, $new_settings, TRUE);
$settings = array_merge($settings, $new_settings);
$this
->assertTrue(domain_conf_data_get($domain_id, $reset) == $settings, t('No settings deleted, just updated and added new ones.'));
$this
->assertCacheState($domain_id, $settings);
// Test domain conf removal.
domain_conf_data_delete($domain_id);
$this
->assertNoCache($domain_id);
// Assert the cache of empty/default configs (to spare the DB query).
$settings = domain_conf_data_get($domain_id, $reset);
$this
->assertIdentical($settings, array(), t('No default overrides for domain :domain.', array(
':domain' => $domain_id,
)));
$this
->assertCacheState($domain_id, array());
}