function UsageTest::doTestRemoveUsage

Same name and namespace in other branches
  1. 9 core/modules/file/tests/src/Kernel/UsageTest.php \Drupal\Tests\file\Kernel\UsageTest::doTestRemoveUsage()
  2. 8.9.x core/modules/file/tests/src/Kernel/UsageTest.php \Drupal\Tests\file\Kernel\UsageTest::doTestRemoveUsage()
  3. 11.x core/modules/file/tests/src/Kernel/UsageTest.php \Drupal\Tests\file\Kernel\UsageTest::doTestRemoveUsage()

Tests \Drupal\file\FileUsage\DatabaseFileUsageBackend::delete().

2 calls to UsageTest::doTestRemoveUsage()
UsageTest::testRemoveUsageNonTemporary in core/modules/file/tests/src/Kernel/UsageTest.php
Tests file usage deletion when files are made temporary.
UsageTest::testRemoveUsageTemporary in core/modules/file/tests/src/Kernel/UsageTest.php
Tests file usage deletion when files are made temporary.

File

core/modules/file/tests/src/Kernel/UsageTest.php, line 107

Class

UsageTest
Tests file usage functions.

Namespace

Drupal\Tests\file\Kernel

Code

public function doTestRemoveUsage() {
  $file = $this->createFile();
  $file->setPermanent();
  $file_usage = $this->container
    ->get('file.usage');
  $connection = Database::getConnection();
  $connection->insert('file_usage')
    ->fields([
    'fid' => $file->id(),
    'module' => 'testing',
    'type' => 'bar',
    'id' => 2,
    'count' => 3,
  ])
    ->execute();
  // Normal decrement.
  $file_usage->delete($file, 'testing', 'bar', 2);
  $count = $connection->select('file_usage', 'f')
    ->fields('f', [
    'count',
  ])
    ->condition('f.fid', $file->id())
    ->execute()
    ->fetchField();
  $this->assertEquals(2, $count, 'The count was decremented correctly.');
  // Multiple decrement and removal.
  $file_usage->delete($file, 'testing', 'bar', 2, 2);
  $count = $connection->select('file_usage', 'f')
    ->fields('f', [
    'count',
  ])
    ->condition('f.fid', $file->id())
    ->execute()
    ->fetchField();
  $this->assertFalse($count, 'The count was removed entirely when empty.');
  // Non-existent decrement.
  $file_usage->delete($file, 'testing', 'bar', 2);
  $count = $connection->select('file_usage', 'f')
    ->fields('f', [
    'count',
  ])
    ->condition('f.fid', $file->id())
    ->execute()
    ->fetchField();
  $this->assertFalse($count, 'Decrementing non-exist record complete.');
  return $file;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.