You are here

file_entity_views.test in File Entity (fieldable files) 7.2

Same filename and directory in other branches
  1. 7.3 file_entity_views.test

Definition of FileEntityViewsFieldLinkUsageHandlerTest.

File

file_entity_views.test
View source
<?php

/**
 * @file
 * Definition of FileEntityViewsFieldLinkUsageHandlerTest.
 */

/**
 * Tests for file_entity views file usage handlers.
 */
class FileEntityViewsFieldLinkUsageHandlerTest extends FileEntityTestHelper {

  /**
   * {@inheritdoc}
   */
  public function setUp() {
    parent::setUp('views');
  }

  /**
   * {@inheritdoc}
   */
  public static function getInfo() {
    return array(
      'name' => 'File entity views integration: file link usage',
      'description' => 'Test file usage Views field.',
      'group' => 'File entity',
    );
  }

  /**
   * Test views file usage handlers.
   */
  public function testViewsUsageField() {
    $file = $this
      ->createFileEntity();
    file_usage_add($file, 'foo', 'bar', 1, 1);
    file_usage_add($file, 'foo', 'bar', 1, 2);
    $file2 = $this
      ->createFileEntity();
    file_usage_add($file2, 'foo', 'bar', 1, 99);
    $view = $this
      ->getTestView();
    $view
      ->set_display();
    $view
      ->pre_execute();
    $view
      ->execute();
    $row = $view->result[0];
    $render = $view->field['usage']
      ->render_link($row, $row);
    $this
      ->assertEqual($render, '1 place');
    $row = $view->result[1];
    $render = $view->field['usage']
      ->render_link($row, $row);
    $this
      ->assertEqual($render, '1 place');
    $view->field['usage']->options['count_entities_once'] = 0;
    $row = $view->result[0];
    $render = $view->field['usage']
      ->render_link($row, $row);
    $this
      ->assertEqual($render, '3 places');
    $row = $view->result[1];
    $render = $view->field['usage']
      ->render_link($row, $row);
    $this
      ->assertEqual($render, '99 places');
  }

  /**
   * Creates a test view containing a file usage field.
   */
  protected function getTestView() {
    $view = new view();
    $view->name = 'file_list';
    $view->description = '';
    $view->tag = 'default';
    $view->base_table = 'file_managed';
    $view->human_name = 'File List';
    $view->core = 7;
    $view->api_version = '3.0';
    $view->disabled = FALSE;

    /* Edit this to true to make a default view disabled initially */

    /* Display: Master */
    $handler = $view
      ->new_display('default', 'Master', 'default');
    $handler->display->display_options['title'] = 'File List';
    $handler->display->display_options['use_more_always'] = FALSE;
    $handler->display->display_options['access']['type'] = 'perm';
    $handler->display->display_options['cache']['type'] = 'none';
    $handler->display->display_options['query']['type'] = 'views_query';
    $handler->display->display_options['exposed_form']['type'] = 'basic';
    $handler->display->display_options['pager']['type'] = 'none';
    $handler->display->display_options['style_plugin'] = 'default';
    $handler->display->display_options['row_plugin'] = 'fields';

    /* Field: File: Name */
    $handler->display->display_options['fields']['filename']['id'] = 'filename';
    $handler->display->display_options['fields']['filename']['table'] = 'file_managed';
    $handler->display->display_options['fields']['filename']['field'] = 'filename';
    $handler->display->display_options['fields']['filename']['label'] = '';
    $handler->display->display_options['fields']['filename']['alter']['word_boundary'] = FALSE;
    $handler->display->display_options['fields']['filename']['alter']['ellipsis'] = FALSE;

    /* Field: File: Usage link */
    $handler->display->display_options['fields']['usage']['id'] = 'usage';
    $handler->display->display_options['fields']['usage']['table'] = 'file_managed';
    $handler->display->display_options['fields']['usage']['field'] = 'usage';
    $handler->display->display_options['fields']['usage']['count_entities_once'] = 1;

    /* Field: File Usage: Use count */
    $handler->display->display_options['fields']['count']['id'] = 'count';
    $handler->display->display_options['fields']['count']['table'] = 'file_usage';
    $handler->display->display_options['fields']['count']['field'] = 'count';

    /* Display: Page */
    $handler = $view
      ->new_display('page', 'Page', 'page');
    $handler->display->display_options['path'] = 'file-list';
    return $view;
  }

}

Classes

Namesort descending Description
FileEntityViewsFieldLinkUsageHandlerTest Tests for file_entity views file usage handlers.