plugin = new StaticMap($configuration, 'map', []); parent::setUp(); } /** * Tests map when the source is a string. */ public function testMapWithSourceString() { $value = $this->plugin->transform('foo', $this->migrateExecutable, $this->row, 'destinationproperty'); $this->assertSame(['bar' => 'baz'], $value); } /** * Tests map when the source is a list. */ public function testMapWithSourceList() { $value = $this->plugin->transform(['foo', 'bar'], $this->migrateExecutable, $this->row, 'destinationproperty'); $this->assertSame('baz', $value); } /** * Tests when the source is empty. */ public function testMapwithEmptySource() { $this->setExpectedException(MigrateException::class); $this->plugin->transform([], $this->migrateExecutable, $this->row, 'destinationproperty'); } /** * Tests when the source is invalid. */ public function testMapwithInvalidSource() { $this->setExpectedException(MigrateSkipRowException::class); $this->plugin->transform(['bar'], $this->migrateExecutable, $this->row, 'destinationproperty'); } /** * Tests when the source is invalid but there's a default. */ public function testMapWithInvalidSourceWithADefaultValue() { $configuration['map']['foo']['bar'] = 'baz'; $configuration['default_value'] = 'test'; $this->plugin = new StaticMap($configuration, 'map', []); $value = $this->plugin->transform(['bar'], $this->migrateExecutable, $this->row, 'destinationproperty'); $this->assertSame('test', $value); } /** * Tests when the source is invalid but there's a default value of NULL. */ public function testMapWithInvalidSourceWithANullDefaultValue() { $configuration['map']['foo']['bar'] = 'baz'; $configuration['default_value'] = NULL; $this->plugin = new StaticMap($configuration, 'map', []); $value = $this->plugin->transform(['bar'], $this->migrateExecutable, $this->row, 'destinationproperty'); $this->assertNull($value); } /** * Tests when the source is invalid and bypass is enabled. */ public function testMapWithInvalidSourceAndBypass() { $configuration['map']['foo']['bar'] = 'baz'; $configuration['default_value'] = 'test'; $configuration['bypass'] = TRUE; $this->plugin = new StaticMap($configuration, 'map', []); $this->setExpectedException(MigrateException::class, 'Setting both default_value and bypass is invalid.'); $this->plugin->transform(['bar'], $this->migrateExecutable, $this->row, 'destinationproperty'); } }