You are here

function AcquiaLiftWebTestWorkflow::testCampaignSettings in Acquia Lift Connector 7.2

Same name and namespace in other branches
  1. 7 tests/acquia_lift.test \AcquiaLiftWebTestWorkflow::testCampaignSettings()

Tests campaign javascript settings.

File

tests/acquia_lift.test, line 1592
Integration tests for Acquia Lift module.

Class

AcquiaLiftWebTestWorkflow

Code

function testCampaignSettings() {
  module_enable(array(
    'personalize_test_extra_agent',
  ));
  $this
    ->resetAll();
  $this
    ->resetAll();

  // Create two agents of different types.
  $first_agent_name = $this
    ->randomName();
  $first_agent_machine_name = personalize_generate_machine_name($first_agent_name, 'personalize_agent_machine_name_exists');
  $this
    ->createTargetingAgent($first_agent_name);
  $expected = array(
    $first_agent_machine_name => array(
      'name' => $first_agent_machine_name,
      'label' => $first_agent_name,
      'type' => 'acquia_lift_target',
      'links' => array(
        'view' => url('admin/structure/personalize/manage/' . $first_agent_machine_name),
        'edit' => url('admin/structure/personalize/manage/' . $first_agent_machine_name),
        'report' => '',
        'goals' => url('admin/structure/personalize/manage/' . $first_agent_machine_name . '/goals'),
        'targeting' => url('admin/structure/personalize/manage/' . $first_agent_machine_name . '/targeting'),
        'scheduling' => url('admin/structure/personalize/manage/' . $first_agent_machine_name . '/scheduling'),
        'review' => url('admin/structure/personalize/manage/' . $first_agent_machine_name . '/review'),
      ),
      'optionSetTypes' => array(),
      'goals' => NULL,
      'editable' => TRUE,
      'status' => PERSONALIZE_STATUS_NOT_STARTED,
    ),
  );
  $admin_user = $this
    ->drupalCreateUser(array(
    'access administration pages',
    'manage personalized content',
  ));
  $this
    ->drupalLogin($admin_user);
  $this
    ->drupalGet('');
  $settings = $this
    ->drupalGetSettings();
  $this
    ->assertEqual($settings['acquia_lift']['campaigns'][$first_agent_machine_name], $expected[$first_agent_machine_name]);

  // Add a goal to the agent.
  AcquiaLiftAPI::setTestInstance();
  personalize_goal_save($first_agent_machine_name, 'user_login', 3);
  $this
    ->drupalGet('/');
  $settings = $this
    ->drupalGetSettings();
  $expected[$first_agent_machine_name]['goals'] = array(
    'user_login' => 'logs in',
  );
  $this
    ->assertEqual($settings['acquia_lift']['campaigns'][$first_agent_machine_name], $expected[$first_agent_machine_name]);
}