public function PCP::testProfileCompletePercentagefunctionality in Profile Complete Percent 7
All Tests cases of Profile Complete Percentage functionality.
File
- ./
pcp.test, line 29 - Having simpletest case.
Class
- PCP
- Tests the functionality of the profile complete percentage module.
Code
public function testProfileCompletePercentagefunctionality() {
// Create administration user.
$this->admin_user = $this
->drupalCreateUser(array(
'administer blocks',
'access administration pages',
));
// Create authenticate user.
$this->web_user = $this
->drupalCreateUser(array(
'access content',
));
// Login as admin.
$this
->drupalLogin($this->admin_user);
// Create user profile field.
$field = array(
'field_name' => 'first_name',
'type' => 'text',
);
field_create_field($field);
// Create instances on user profile.
$instance = array(
'field_name' => 'first_name',
'entity_type' => 'user',
'bundle' => 'user',
'label' => 'First Name',
'widget' => array(
'type' => 'text_textfield',
'size' => 60,
),
'settings' => array(
'user_register_form' => TRUE,
),
);
field_create_instance($instance);
// Create user profile field.
$field['field_name'] = 'last_name';
field_create_field($field);
// Create instances on user profile.
$instance['field_name'] = 'last_name';
$instance['label'] = 'Last Name';
field_create_instance($instance);
// Create user profile field.
$field['field_name'] = 'location';
field_create_field($field);
// Create instances on user profile.
$instance['field_name'] = 'location';
$instance['label'] = 'Location';
field_create_instance($instance);
// Goto block configuration page.
$this
->drupalGet('admin/structure/block/manage/pcp/pcp_profile_percent_complete/configure');
// Show block in sidebar first region.
$edit = array();
$edit['regions[bartik]'] = 'sidebar_first';
$this
->drupalPost(NULL, $edit, t('Save block'));
// Logout admin user.
$this
->drupalLogout();
// Login with authenticate user.
$this
->drupalLogin($this->web_user);
// Goto Home page.
$this
->drupalGet('');
$this
->assertText('100% Complete', 'Initial Profile complete shows 100%');
// Make user fields as pcp user field.
$enabled_fields = array(
'user:user:first_name' => 'user:user:first_name',
'user:user:last_name' => 'user:user:last_name',
);
variable_set('pcp_enabled_fields', $enabled_fields);
// Goto Home page.
$this
->drupalGet('');
$this
->assertText('0% Complete', "User haven't fill any pcp field");
// Goto user profile edit page.
$this
->drupalGet('user/' . $this->web_user->uid . '/edit');
// Fill pcp user field.
$edit = array();
$edit['first_name[und][0][value]'] = 'john';
$this
->drupalPost(NULL, $edit, t('Save'));
// Goto Home page.
$this
->drupalGet('');
$this
->assertText('50% Complete', '50% Profile completes');
// Goto user profile edit page.
$this
->drupalGet('user/' . $this->web_user->uid . '/edit');
// Fill non pcp user field.
$edit = array();
$edit['location[und][0][value]'] = 'new york';
$this
->drupalPost(NULL, $edit, t('Save'));
// Goto Home page.
$this
->drupalGet('');
$this
->assertText('50% Complete', '50% Profile completes');
// Goto user profile edit page.
$this
->drupalGet('user/' . $this->web_user->uid . '/edit');
// Fill pcp user field.
$edit = array();
$edit['last_name[und][0][value]'] = 'den';
$this
->drupalPost(NULL, $edit, t('Save'));
// Goto Home page.
$this
->drupalGet('');
$this
->assertText('100% Complete', '100% Profile completes');
}