Issue #2628418 by neclimdul, quietone: Test coverage for FieldTypeDefaults process plugin

8.1.x
Alex Pott 2015-12-23 16:01:29 +00:00
parent b1c7365ef4
commit cf0d367b98
2 changed files with 60 additions and 1 deletions

View File

@ -30,7 +30,7 @@ class FieldTypeDefaults extends ProcessPluginBase {
$value = 'datetime_default';
}
else {
throw new MigrateException(sprintf('Failed to lookup %s in the static map.', var_export($value, TRUE)));
throw new MigrateException(sprintf('Failed to lookup field type %s in the static map.', var_export($value, TRUE)));
}
}
return $value;

View File

@ -0,0 +1,59 @@
<?php
/**
* @file
* Contains \Drupal\Tests\field\Unit\Plugin\migrate\process\d6\FieldTypeDefaultsTest.
*/
namespace Drupal\Tests\field\Unit\Plugin\migrate\process\d6;
use Drupal\field\Plugin\migrate\process\d6\FieldTypeDefaults;
use Drupal\migrate\MigrateException;
use Drupal\Tests\migrate\Unit\process\MigrateProcessTestCase;
/**
* Tests D6 fields defaults.
*
* @coversDefaultClass \Drupal\field\Plugin\migrate\process\d6\FieldTypeDefaults
* @group field
*/
class FieldTypeDefaultsTest extends MigrateProcessTestCase {
/**
* {@inheritdoc}
*/
public function setUp() {
parent::setUp();
$this->plugin = new FieldTypeDefaults([], 'field_type_defaults', []);
}
/**
* Tests various default cases.
*
* @covers ::transform
*/
public function testDefaults() {
$this->row->expects($this->once())
->method('getSourceProperty')
->willReturn('date');
// Assert common values are passed through without modification.
$this->assertNull($this->plugin->transform(NULL, $this->migrateExecutable, $this->row, 'property'));
$this->assertEquals('string', $this->plugin->transform('string', $this->migrateExecutable, $this->row, 'property'));
$this->assertEquals(1234, $this->plugin->transform(1234, $this->migrateExecutable, $this->row, 'property'));
// Assert that an array checks that this is a date field(above mock assert)
// and returns "datetime_default".
$this->assertEquals('datetime_default', $this->plugin->transform([], $this->migrateExecutable, $this->row, 'property'));
}
/**
* Tests an exception is thrown when the input is not a date field.
*
* @covers ::transform
*/
public function testDefaultsException() {
$this->setExpectedException(MigrateException::class,
sprintf('Failed to lookup field type %s in the static map.', var_export([], TRUE)));
$this->plugin->transform([], $this->migrateExecutable, $this->row, 'property');
}
}