You are here

heartbeat_unit.test in Heartbeat 6.3

File

tests/heartbeat_unit.test
View source
<?php

class HeartbeatUnit extends DrupalWebTestCase {

  /**
   * Implementation of getInfo().
   */
  function getInfo() {
    return array(
      'name' => t('Heartbeat Unit'),
      'description' => t('Test heartbeat unit functionality'),
      'group' => t('Heartbeat'),
    );
  }

  /**
   * Implementation of setUp().
   */
  function setUp() {
    parent::setUp('heartbeat');
  }

  /**
   * Debug helper function. Writes values away to a text file in the files directory.
   */
  function debugHelper($value) {
    $debug = fopen($this->originalFileDirectory . '/simpletestdebug.txt', 'a+');
    fwrite($debug, print_r($value, TRUE) . "\n");
    fclose($debug);
  }

  /**
   * Tests if a heartbeat message is logged for an event.
   */
  function testHeartbeatLogger() {
    $user = $this
      ->drupalCreateUser(array(
      'configure heartbeat',
      'configure heartbeat messages',
      'delete heartbeat activity logs',
      'view heartbeat messages',
    ));
    $this
      ->drupalLogin($user);
    $node = $this
      ->drupalCreateNode(array(
      'type' => 'page',
      'title' => 'my first post',
    ));
    $message = db_result(db_query("SELECT * FROM {hb_activity} hba INNER JOIN {heartbeat_messages} hbm ON hba.message_id = hbm.message_id WHERE uaid = 1"));
    $this
      ->assertTrue(!empty($messages), 'Tests if message was logged', t('Heartbeat log'));
    $this
      ->assertEqual($message->uid, $user->uid, 'Actor was logged correctly', t('Heartbeat log'));
    $this
      ->assertEqual($message->nid_target, $node->nid, 'Node was logged correctly', t('Heartbeat log'));
  }

}

Classes

Namesort descending Description
HeartbeatUnit