function UsageTest::testAddUsage

Tests file_usage()->add().

File

drupal/core/modules/file/lib/Drupal/file/Tests/UsageTest.php, line 58
Definition of Drupal\file\Tests\UsageTest.

Class

UsageTest
Tests file usage functions.

Namespace

Drupal\file\Tests

Code

function testAddUsage() {
  $file = $this
    ->createFile();
  file_usage()
    ->add($file, 'testing', 'foo', 1);

  // Add the file twice to ensure that the count is incremented rather than
  // creating additional records.
  file_usage()
    ->add($file, 'testing', 'bar', 2);
  file_usage()
    ->add($file, 'testing', 'bar', 2);
  $usage = db_select('file_usage', 'f')
    ->fields('f')
    ->condition('f.fid', $file->fid)
    ->execute()
    ->fetchAllAssoc('id');
  $this
    ->assertEqual(count($usage), 2, t('Created two records'));
  $this
    ->assertEqual($usage[1]->module, 'testing', t('Correct module'));
  $this
    ->assertEqual($usage[2]->module, 'testing', t('Correct module'));
  $this
    ->assertEqual($usage[1]->type, 'foo', t('Correct type'));
  $this
    ->assertEqual($usage[2]->type, 'bar', t('Correct type'));
  $this
    ->assertEqual($usage[1]->count, 1, t('Correct count'));
  $this
    ->assertEqual($usage[2]->count, 2, t('Correct count'));
}