danielebarchiesi@4
|
1 <?php
|
danielebarchiesi@4
|
2
|
danielebarchiesi@4
|
3 class EntityReferenceOgContextTestCase extends DrupalWebTestCase {
|
danielebarchiesi@4
|
4
|
danielebarchiesi@4
|
5 public static function getInfo() {
|
danielebarchiesi@4
|
6 return array(
|
danielebarchiesi@4
|
7 'name' => 'OG-context integration',
|
danielebarchiesi@4
|
8 'description' => 'Test the OG-context integration, which allows prepopulating by the group context.',
|
danielebarchiesi@4
|
9 'group' => 'Entity reference prepopulate',
|
danielebarchiesi@4
|
10 'dependencies' => array('og'),
|
danielebarchiesi@4
|
11 );
|
danielebarchiesi@4
|
12 }
|
danielebarchiesi@4
|
13
|
danielebarchiesi@4
|
14 function setUp() {
|
danielebarchiesi@4
|
15 parent::setUp('og_context', 'entityreference_prepopulate_test');
|
danielebarchiesi@4
|
16
|
danielebarchiesi@4
|
17 $this->user1 = $this->drupalCreateUser();
|
danielebarchiesi@4
|
18 $this->user2 = $this->drupalCreateUser(array('bypass node access', 'administer group'));
|
danielebarchiesi@4
|
19
|
danielebarchiesi@4
|
20 $type = $this->drupalCreateContentType();
|
danielebarchiesi@4
|
21 $this->group_type = $type->type;
|
danielebarchiesi@4
|
22 og_create_field(OG_GROUP_FIELD, 'node', $this->group_type);
|
danielebarchiesi@4
|
23
|
danielebarchiesi@4
|
24 $type = $this->drupalCreateContentType();
|
danielebarchiesi@4
|
25 $this->group_content_type = $type->type;
|
danielebarchiesi@4
|
26
|
danielebarchiesi@4
|
27 $og_field = og_fields_info(OG_AUDIENCE_FIELD);
|
danielebarchiesi@4
|
28 // Enable the prepopulate behavior.
|
danielebarchiesi@4
|
29 $og_field['instance']['settings']['behaviors']['prepopulate'] = array(
|
danielebarchiesi@4
|
30 'status' => TRUE,
|
danielebarchiesi@4
|
31 'action' => 'none',
|
danielebarchiesi@4
|
32 'fallback' => 'none',
|
danielebarchiesi@4
|
33 'skip_perm' => FALSE,
|
danielebarchiesi@4
|
34 'og_context' => TRUE,
|
danielebarchiesi@4
|
35 );
|
danielebarchiesi@4
|
36 og_create_field(OG_AUDIENCE_FIELD, 'node', $this->group_content_type, $og_field);
|
danielebarchiesi@4
|
37 }
|
danielebarchiesi@4
|
38
|
danielebarchiesi@4
|
39 /**
|
danielebarchiesi@4
|
40 * Test the OG-context integration.
|
danielebarchiesi@4
|
41 */
|
danielebarchiesi@4
|
42 function testPrepopulate() {
|
danielebarchiesi@4
|
43 $settings = array(
|
danielebarchiesi@4
|
44 'type' => $this->group_type,
|
danielebarchiesi@4
|
45 'uid' => $this->user1->uid,
|
danielebarchiesi@4
|
46 );
|
danielebarchiesi@4
|
47 $settings[OG_GROUP_FIELD][LANGUAGE_NONE][0]['value'] = 1;
|
danielebarchiesi@4
|
48 $group1 = $this->drupalCreateNode($settings);
|
danielebarchiesi@4
|
49
|
danielebarchiesi@4
|
50 og_group('node', $group1, array('entity_type' => 'user', 'entity' => $this->user2));
|
danielebarchiesi@4
|
51
|
danielebarchiesi@4
|
52 $this->drupalLogin($this->user2);
|
danielebarchiesi@4
|
53 $this->drupalGet('node/add/' . str_replace('_', '-', $this->group_content_type));
|
danielebarchiesi@4
|
54 $this->assertNoOptionSelected('edit-og-group-ref-und-0-default', 1, 'Group-audience fields is not selected.');
|
danielebarchiesi@4
|
55
|
danielebarchiesi@4
|
56 // Set the OG-context();
|
danielebarchiesi@4
|
57 // See entityreference_prepopulate_init().
|
danielebarchiesi@4
|
58 $options = array(
|
danielebarchiesi@4
|
59 'query' => array(
|
danielebarchiesi@4
|
60 'gid' => $group1->nid,
|
danielebarchiesi@4
|
61 ),
|
danielebarchiesi@4
|
62 );
|
danielebarchiesi@4
|
63
|
danielebarchiesi@4
|
64 $this->drupalGet('node/add/' . str_replace('_', '-', $this->group_content_type), $options);
|
danielebarchiesi@4
|
65 $this->assertOptionSelected('edit-og-group-ref-und-0-default', 1, 'Group-audience fields is selected.');
|
danielebarchiesi@4
|
66 }
|
danielebarchiesi@4
|
67 }
|