diff --git a/tests/src/Kernel/d7/Commerce/ProductTest.php b/tests/src/Kernel/d7/Commerce/ProductTest.php
index b043ecc..8e1db98 100644
--- a/tests/src/Kernel/d7/Commerce/ProductTest.php
+++ b/tests/src/Kernel/d7/Commerce/ProductTest.php
@@ -3,6 +3,7 @@
 namespace Drupal\Tests\commerce_migrate\Kernel\d7\Commerce;
 
 use Drupal\commerce_product\Entity\Product;
+use Drupal\Tests\commerce_migrate\Kernel\CommerceMigrateTestTrait;
 
 /**
  * Tests line item migration.
@@ -11,6 +12,8 @@ use Drupal\commerce_product\Entity\Product;
  */
 class ProductTest extends Commerce1TestBase {
 
+  use CommerceMigrateTestTrait;
+
   /**
    * Modules to enable.
    *
@@ -22,7 +25,7 @@ class ProductTest extends Commerce1TestBase {
   ];
 
   /**
-   * @inheritDoc
+   * {@inheritdoc}
    */
   protected function setUp() {
     parent::setUp();
@@ -44,23 +47,16 @@ class ProductTest extends Commerce1TestBase {
   }
 
   /**
-   * Test profile migration from Drupal 7 to 8.
+   * Test product migration from Drupal 7 Commerce to Drupal 8.
    */
   public function testProduct() {
-    $product = Product::load(15);
-    $this->assertNotNull($product);
-    $this->assertEquals('Go green with Drupal Commerce Reusable Tote Bag', $product->label());
-    $this->assertNotEmpty($product->getStoreIds());
+    $this->assertProductEntity(15, '1', 'Go green with Drupal Commerce Reusable Tote Bag', TRUE, ['1'], ['1']);
 
-    /** @var \Drupal\commerce_product\Entity\ProductVariationInterface $variation */
-    $variation = $product->variations->first()->entity;
-    $this->assertNotEmpty($variation);
-    $this->assertEquals($variation->getSku(), 'TOT1-GRN-OS');
-    $this->assertEquals($variation->label(), 'Tote Bag 1');
+    $product = Product::load(15);
+    $variation_id = $product->variations->target_id;
+    $this->assertProductVariationEntity($variation_id, '0', 'TOT1-GRN-OS', '16.000000', 'USD', '1', 'Tote Bag 1', 'default');
 
-    $product = Product::load(26);
-    $this->assertEquals('Commerce Guys USB Key', $product->label());
-    $this->assertEquals(3, $product->variations->count());
+    $this->assertProductEntity(26, '1', 'Commerce Guys USB Key', TRUE, ['1'], ['28', '29', '30']);
   }
 
 }
diff --git a/tests/src/Kernel/d7/Commerce/ProductVariationTest.php b/tests/src/Kernel/d7/Commerce/ProductVariationTest.php
index 3b8b68d..3e3d5f4 100644
--- a/tests/src/Kernel/d7/Commerce/ProductVariationTest.php
+++ b/tests/src/Kernel/d7/Commerce/ProductVariationTest.php
@@ -3,6 +3,7 @@
 namespace Drupal\Tests\commerce_migrate\Kernel\d7\Commerce;
 
 use Drupal\commerce_product\Entity\ProductVariation;
+use Drupal\Tests\commerce_migrate\Kernel\CommerceMigrateTestTrait;
 
 /**
  * Tests line item migration.
@@ -11,6 +12,8 @@ use Drupal\commerce_product\Entity\ProductVariation;
  */
 class ProductVariationTest extends Commerce1TestBase {
 
+  use CommerceMigrateTestTrait;
+
   /**
    * Modules to enable.
    *
@@ -36,16 +39,21 @@ class ProductVariationTest extends Commerce1TestBase {
   }
 
   /**
-   * Test profile migration from Drupal 7 to 8.
+   * Test product variation migration from Drupal 7 Commerce to Drupal 8.
    */
   public function testProductVariation() {
+    $this->assertProductVariationEntity(1, '0', 'TOT1-GRN-OS', '16.000000', 'USD', '1', 'Tote Bag 1', 'default');
+    $this->assertProductVariationEntity(11, '0', 'HAT1-GRY-OS', '16.000000', 'USD', '1', 'Tote Bag 1', 'default');
+    $this->assertProductVariationEntity(19, '0', 'SHO2-PRL-04', '40.000000', 'USD', '1', 'Shoe 2', 'default');
+    $this->assertProductVariationEntity(20, '0', 'SHO2-PRL-05', '40.000000', 'USD', '1', 'Shoe 2', 'default');
+    $this->assertProductVariationEntity(28, '0', 'USB-BLU-08', '11.990000', 'USD', '1', 'Storage 1', 'default');
+    $this->assertProductVariationEntity(29, '0', 'USB-BLU-16', '17.990000', 'USD', '1', 'Storage 1', 'default');
+    $this->assertProductVariationEntity(30, '0', 'USB-BLU-32', '29.990000', 'USD', '1', 'Storage 1', 'default');
+
+    // @TODO: Move these tests to CommerceMigrateTestTrait
     $product = ProductVariation::load(1);
-    $this->assertNotNull($product);
-    $this->assertEquals($product->getSku(), 'TOT1-GRN-OS');
-    $this->assertEquals($product->label(), 'Tote Bag 1');
     $this->assertEquals($product->getCreatedTime(), 1493287314);
     $this->assertEquals($product->getChangedTime(), 1493287314);
-    $this->assertEquals(16, $product->getPrice()->getNumber());
   }
 
 }
diff --git a/tests/src/Kernel/d7/Commerce/ProfileBillingTest.php b/tests/src/Kernel/d7/Commerce/ProfileBillingTest.php
index 97239cd..0fbd07e 100644
--- a/tests/src/Kernel/d7/Commerce/ProfileBillingTest.php
+++ b/tests/src/Kernel/d7/Commerce/ProfileBillingTest.php
@@ -2,7 +2,7 @@
 
 namespace Drupal\Tests\commerce_migrate\Kernel\d7\Commerce;
 
-use Drupal\profile\Entity\Profile;
+use Drupal\Tests\commerce_migrate\Kernel\CommerceMigrateTestTrait;
 
 /**
  * Tests billing profile migration.
@@ -11,8 +11,10 @@ use Drupal\profile\Entity\Profile;
  */
 class ProfileBillingTest extends Commerce1TestBase {
 
+  use CommerceMigrateTestTrait;
+
   /**
-   * @inheritDoc
+   * {@inheritdoc}
    */
   protected function setUp() {
     parent::setUp();
@@ -27,15 +29,10 @@ class ProfileBillingTest extends Commerce1TestBase {
   }
 
   /**
-   * Test profile migration from Drupal 7 to 8.
+   * Test profile migration from Drupal 7 Commerce to Drupal 8.
    */
-  public function testProfile() {
-    $profile = Profile::load(1);
-    $this->assertNotNull($profile);
-    $this->assertEquals($profile->bundle(), 'customer');
-    $this->assertEquals($profile->isActive(), TRUE);
-    $this->assertEquals($profile->getCreatedTime(), 1493287432);
-    $this->assertEquals($profile->getChangedTime(), 1493287432);
+  public function testProfileBilling() {
+    $this->assertBillingProfile(1, '4', TRUE, '1493287432', '1493287432');
   }
 
 }
