diff sites/all/modules/entityreference_prepopulate/entityreference_prepopulate.test @ 4:ce11bbd8f642

added modules
author danieleb <danielebarchiesi@me.com>
date Thu, 19 Sep 2013 10:38:44 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sites/all/modules/entityreference_prepopulate/entityreference_prepopulate.test	Thu Sep 19 10:38:44 2013 +0100
@@ -0,0 +1,67 @@
+<?php
+
+class EntityReferenceOgContextTestCase extends DrupalWebTestCase {
+
+  public static function getInfo() {
+    return array(
+      'name' => 'OG-context integration',
+      'description' => 'Test the OG-context integration, which allows prepopulating by the group context.',
+      'group' => 'Entity reference prepopulate',
+      'dependencies' => array('og'),
+    );
+  }
+
+  function setUp() {
+    parent::setUp('og_context', 'entityreference_prepopulate_test');
+
+    $this->user1 = $this->drupalCreateUser();
+    $this->user2 = $this->drupalCreateUser(array('bypass node access', 'administer group'));
+
+    $type = $this->drupalCreateContentType();
+    $this->group_type = $type->type;
+    og_create_field(OG_GROUP_FIELD, 'node', $this->group_type);
+
+    $type = $this->drupalCreateContentType();
+    $this->group_content_type = $type->type;
+
+    $og_field = og_fields_info(OG_AUDIENCE_FIELD);
+    // Enable the prepopulate behavior.
+    $og_field['instance']['settings']['behaviors']['prepopulate'] = array(
+      'status' => TRUE,
+      'action' => 'none',
+      'fallback' => 'none',
+      'skip_perm' => FALSE,
+      'og_context' => TRUE,
+    );
+    og_create_field(OG_AUDIENCE_FIELD, 'node', $this->group_content_type, $og_field);
+  }
+
+  /**
+   * Test the OG-context integration.
+   */
+  function testPrepopulate() {
+    $settings = array(
+      'type' => $this->group_type,
+      'uid' => $this->user1->uid,
+    );
+    $settings[OG_GROUP_FIELD][LANGUAGE_NONE][0]['value'] = 1;
+    $group1 = $this->drupalCreateNode($settings);
+
+    og_group('node', $group1, array('entity_type' => 'user', 'entity' => $this->user2));
+
+    $this->drupalLogin($this->user2);
+    $this->drupalGet('node/add/' . str_replace('_', '-', $this->group_content_type));
+    $this->assertNoOptionSelected('edit-og-group-ref-und-0-default', 1, 'Group-audience fields is not selected.');
+
+    // Set the OG-context();
+    // See entityreference_prepopulate_init().
+    $options = array(
+      'query' => array(
+        'gid' => $group1->nid,
+      ),
+    );
+
+    $this->drupalGet('node/add/' . str_replace('_', '-', $this->group_content_type), $options);
+    $this->assertOptionSelected('edit-og-group-ref-und-0-default', 1, 'Group-audience fields is selected.');
+  }
+}