reverted: --- b/src/Plugin/migrate/destination/ubercart/d6/EntityOrder.php +++ /dev/null @@ -1,35 +0,0 @@ -getDestinationProperty('adjustments'); - if ($values) { - $adjustments = []; - foreach ($values as $adjustment) { - $adjustment['amount'] = new Price($adjustment['amount']['number'], $adjustment['amount']['currency_code']); - $adjustments[] = new Adjustment($adjustment); - } - $row->setDestinationProperty('adjustments', $adjustments); - } - return parent::import($row, $old_destination_id_values); - } - -} diff -u b/src/Plugin/migrate/process/ubercart/d6/UbercartLineItem.php b/src/Plugin/migrate/process/ubercart/d6/UbercartLineItem.php --- b/src/Plugin/migrate/process/ubercart/d6/UbercartLineItem.php +++ b/src/Plugin/migrate/process/ubercart/d6/UbercartLineItem.php @@ -2,6 +2,8 @@ namespace Drupal\commerce_migrate\Plugin\migrate\process\ubercart\d6; +use Drupal\commerce_order\Adjustment; +use Drupal\commerce_price\Price; use Drupal\migrate\MigrateExecutableInterface; use Drupal\migrate\ProcessPluginBase; use Drupal\migrate\Row; @@ -26,15 +28,15 @@ foreach ($value as $adjustment) { $adjust = []; $adjust['delta'] = $i++; - $adjust['type'] = 'custom'; + $adjust['type'] = $row->getSourceProperty('commerce_shipping') ? 'shipping' : 'custom'; $adjust['label'] = $adjustment['title']; $adjust['amount'] = [ 'number' => $adjustment['amount'], 'currency_code' => $adjustment['currency_code'], ]; - // @TODO: Adjustment sourceId and included. - $adjustments[] = $adjust; + $adjust['amount'] = new Price($adjust['amount']['number'], $adjust['amount']['currency_code']); + $adjustments[] = new Adjustment($adjust); } return $adjustments; } diff -u b/src/Plugin/migrate/source/ubercart/d6/Order.php b/src/Plugin/migrate/source/ubercart/d6/Order.php --- b/src/Plugin/migrate/source/ubercart/d6/Order.php +++ b/src/Plugin/migrate/source/ubercart/d6/Order.php @@ -86,6 +86,8 @@ // isn't necessary so I removed it here. unset($data['cc_data']); + // The line item type depends on whether commerce_shipping is installed. + // Save the state here for the UbercartLineItem process plugin. $row->setSourceProperty('commerce_shipping', $this->moduleHandler->moduleExists('commerce_shipping')); $row->setSourceProperty('adjustments', $this->getAdjustmentData($row)); return parent::prepareRow($row); @@ -115,7 +117,6 @@ $adjustment['currency_code'] = $currency_code; } return $adjustments; - } /** diff -u b/tests/src/Kernel/d6/Ubercart/OrderTest.php b/tests/src/Kernel/d6/Ubercart/OrderShippingTest.php --- b/tests/src/Kernel/d6/Ubercart/OrderTest.php +++ b/tests/src/Kernel/d6/Ubercart/OrderShippingTest.php @@ -12,7 +12,7 @@ * * @group commerce_migrate */ -class OrderTest extends Ubercart6TestBase { +class OrderShippingTest extends Ubercart6TestBase { use CommerceMigrateTestTrait; @@ -25,6 +25,8 @@ 'path', 'commerce_product', 'commerce_migrate_ubercart', + 'commerce_shipping', + 'physical', ]; /** @@ -58,7 +60,7 @@ $this->assertNotNull($order->getBillingProfile()); $this->assertNull($order->getData('cc_data')); $adjustments[] = new Adjustment([ - 'type' => 'custom', + 'type' => 'shipping', 'label' => 'Shipping', 'amount' => new Price('2.99', 'NZD'), 'sourceId' => NULL, @@ -72,7 +74,7 @@ $this->assertNull($order->getData('cc_data')); $adjustments = []; $adjustments[] = new Adjustment([ - 'type' => 'custom', + 'type' => 'shipping', 'label' => 'Shipping', 'amount' => new Price('1000.00', 'NZD'), 'sourceId' => NULL,