function DomainSettingsTest::testDomainContentSettings in Domain Access 7.3
File
- tests/
domain.test, line 1243 - Simpletest for Domain Access.
Class
Code
function testDomainContentSettings() {
$domains = domain_domains(TRUE);
$this
->assertTrue(count($domains) == 4, 'Four test domains created.');
// Check that no values are set.
$value = variable_get('domain_node_article', NULL);
$this
->assertNull($value, 'No settings for creating articles.');
// The default values should be present for 'article'.
$defaults = domain_default_node_access_settings('article');
$this
->assertTrue(count($defaults) == 2, 'Two options set for articles.');
$this
->assertTrue(in_array(DOMAIN_ALL, $defaults), 'All domains selected by default');
$this
->assertTrue(in_array(DOMAIN_ACTIVE, $defaults), 'Active domain selected by default');
// Test the node edit form.
$type = 'article';
$uid = 1;
$form = $this
->domainNodeForm($uid, $type);
// Are the default values set as expected?
$this
->assertTrue(!empty($form['domain']['domain_site']['#default_value']), 'All affiliates selected when editing.');
$_domain = domain_get_domain();
$expected = array(
$_domain['domain_id'] => $_domain['domain_id'],
);
$this
->assertEqual($form['domain']['domains']['#default_value'], $expected, 'Active domain selected when editing.');
// Now let's change the settings and test again.
$settings = array();
foreach ($domains as $domain) {
if (!$domain['is_default']) {
$settings[] = $domain['machine_name'];
}
}
variable_set('domain_node_article', $settings);
$defaults = variable_get('domain_node_article', NULL);
$this
->assertTrue(count($defaults) == 3, 'Three options set for articles.');
$this
->assertFalse(in_array(DOMAIN_ALL, $defaults), 'All domains not selected by default');
$this
->assertFalse(in_array(DOMAIN_ACTIVE, $defaults), 'Active domain not selected by default');
// Test the node edit form again.
$type = 'article';
$uid = 1;
$form = $this
->domainNodeForm($uid, $type);
// Are the default values set as expected?
$this
->assertTrue(empty($form['domain']['domain_site']['#default_value']), 'All affiliates not selected when editing.');
$_domain = domain_get_domain();
$this
->assertFalse(in_array($_domain['domain_id'], $form['domain']['domains']['#default_value']), 'Active domain not selected when editing.');
foreach ($defaults as $machine_name) {
$id = domain_load_domain_id($machine_name);
$this
->assertTrue(in_array($id, $form['domain']['domains']['#default_value']), t('Domain %id set properly as a default.', array(
'%id' => $id,
)));
}
}