function SecurityAdvisoryTest::testCreateFromArray

Same name and namespace in other branches
  1. 9 core/modules/system/tests/src/Unit/SecurityAdvisories/SecurityAdvisoryTest.php \Drupal\Tests\system\Unit\SecurityAdvisories\SecurityAdvisoryTest::testCreateFromArray()
  2. 11.x core/modules/system/tests/src/Unit/SecurityAdvisories/SecurityAdvisoryTest.php \Drupal\Tests\system\Unit\SecurityAdvisories\SecurityAdvisoryTest::testCreateFromArray()

Tests creating with valid data.

@covers ::createFromArray @covers ::isCoreAdvisory @covers ::isPsa

@dataProvider providerCreateFromArray

Parameters

mixed[] $changes: The changes to the valid data set to test.

mixed[] $expected: The expected changes for the object methods.

File

core/modules/system/tests/src/Unit/SecurityAdvisories/SecurityAdvisoryTest.php, line 31

Class

SecurityAdvisoryTest
@coversDefaultClass <a href="/api/drupal/core%21modules%21system%21src%21SecurityAdvisories%21SecurityAdvisory.php/class/SecurityAdvisory/10" title="Provides a security advisory value object." class="local">\Drupal\system\SecurityAdvisories\SecurityAdvisory</a>

Namespace

Drupal\Tests\system\Unit\SecurityAdvisories

Code

public function testCreateFromArray(array $changes, array $expected = []) : void {
    $data = $changes;
    $data += $this->getValidData();
    $expected += $data;
    $sa = SecurityAdvisory::createFromArray($data);
    $this->assertInstanceOf(SecurityAdvisory::class, $sa);
    $this->assertSame($expected['title'], $sa->getTitle());
    $this->assertSame($expected['project'], $sa->getProject());
    $this->assertSame($expected['type'], $sa->getProjectType());
    $this->assertSame($expected['link'], $sa->getUrl());
    $this->assertSame($expected['insecure'], $sa->getInsecureVersions());
    $this->assertSame($expected['is_psa'], $sa->isPsa());
    $this->assertSame($expected['type'] === 'core', $sa->isCoreAdvisory());
}

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