function SaveUploadTest::setUp

Same name in other branches
  1. 9 core/modules/file/tests/src/Functional/SaveUploadTest.php \Drupal\Tests\file\Functional\SaveUploadTest::setUp()
  2. 8.9.x core/modules/file/tests/src/Functional/SaveUploadTest.php \Drupal\Tests\file\Functional\SaveUploadTest::setUp()
  3. 11.x core/modules/file/tests/src/Functional/SaveUploadTest.php \Drupal\Tests\file\Functional\SaveUploadTest::setUp()

Overrides FileManagedTestBase::setUp

1 call to SaveUploadTest::setUp()
RemoteFileSaveUploadTest::setUp in core/modules/file/tests/src/Functional/RemoteFileSaveUploadTest.php
1 method overrides SaveUploadTest::setUp()
RemoteFileSaveUploadTest::setUp in core/modules/file/tests/src/Functional/RemoteFileSaveUploadTest.php

File

core/modules/file/tests/src/Functional/SaveUploadTest.php, line 75

Class

SaveUploadTest
Tests the file_save_upload() function.

Namespace

Drupal\Tests\file\Functional

Code

protected function setUp() : void {
    parent::setUp();
    $this->account = $this->drupalCreateUser([
        'access site reports',
    ]);
    $this->drupalLogin($this->account);
    $image_files = $this->drupalGetTestFiles('image');
    $this->image = File::create((array) current($image_files));
    [
        ,
        $this->imageExtension,
    ] = explode('.', $this->image
        ->getFilename());
    $this->assertFileExists($this->image
        ->getFileUri());
    $this->phpFile = current($this->drupalGetTestFiles('php'));
    $this->assertFileExists($this->phpFile->uri);
    $this->maxFidBefore = (int) \Drupal::entityQueryAggregate('file')->accessCheck(FALSE)
        ->aggregate('fid', 'max')
        ->execute()[0]['fid_max'];
    // Upload with replace to guarantee there's something there.
    $edit = [
        'file_test_replace' => FileExists::Replace->name,
        'files[file_test_upload]' => \Drupal::service('file_system')->realpath($this->image
            ->getFileUri()),
    ];
    $this->drupalGet('file-test/upload');
    $this->submitForm($edit, 'Submit');
    $this->assertSession()
        ->statusCodeEquals(200);
    // Check that the success message is present.
    $this->assertSession()
        ->pageTextContains("You WIN!");
    // Check that the correct hooks were called then clean out the hook
    // counters.
    $this->assertFileHooksCalled([
        'validate',
        'insert',
    ]);
    file_test_reset();
}

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