ScheduledChangeItemTest.php in Commerce Recurring Framework 8
File
tests/src/Kernel/ScheduledChangeItemTest.php
View source
<?php
namespace Drupal\Tests\commerce_recurring\Kernel;
use Drupal\commerce_recurring\ScheduledChange;
use Drupal\entity_test\Entity\EntityTest;
use Drupal\field\Entity\FieldConfig;
use Drupal\field\Entity\FieldStorageConfig;
class ScheduledChangeItemTest extends RecurringKernelTestBase {
protected $testEntity;
protected function setUp() : void {
parent::setUp();
$field_storage = FieldStorageConfig::create([
'field_name' => 'test_scheduled_changes',
'entity_type' => 'entity_test',
'type' => 'commerce_scheduled_change',
'cardinality' => FieldStorageConfig::CARDINALITY_UNLIMITED,
]);
$field_storage
->save();
$field = FieldConfig::create([
'field_name' => 'test_scheduled_changes',
'entity_type' => 'entity_test',
'bundle' => 'entity_test',
]);
$field
->save();
$entity = EntityTest::create([
'name' => 'Test',
]);
$entity
->save();
$this->testEntity = $entity;
}
public function testScheduledChangeItem() {
$scheduled_change_item_list = $this->testEntity->test_scheduled_changes;
$scheduled_change_item_list
->appendItem(new ScheduledChange('state', 'canceled', time()));
$scheduled_change = $scheduled_change_item_list
->first()
->toScheduledChange();
$this
->assertEquals('state', $scheduled_change
->getFieldName());
$this
->assertEquals('canceled', $scheduled_change
->getValue());
$this
->assertNotEmpty($scheduled_change
->getCreatedTime());
$this
->assertEquals($scheduled_change, $scheduled_change_item_list
->getScheduledChanges()[0]);
}
}