diff --git a/tests/handlers/ConfigurationHandlerBaseTestCase.test b/tests/handlers/ConfigurationHandlerBaseTestCase.test
index fcc5f6d..86126ee 100644
--- a/tests/handlers/ConfigurationHandlerBaseTestCase.test
+++ b/tests/handlers/ConfigurationHandlerBaseTestCase.test
@@ -4,7 +4,6 @@
  * @file
  * Tests for Configuration Management: Base Class
  */
-
 use Drupal\configuration\Config\ConfigurationManagement;
 
 /**
@@ -47,15 +46,22 @@ abstract class ConfigurationHandlerBaseTestCase extends ConfigurationWebTestCase
     $results = ConfigurationManagement::importToActiveStore($configToImport, $this->importDependencies(), $this->importOptionals(), FALSE, $source);
     $imported = $results->getInfo('imported');
 
+    foreach ($configToImport as $config) {
+      $this->assertTrue(in_array($config, $imported), "Configuration for $config was imported.");
+    }
+
     if ($this->importDependencies()) {
-      $dependencies = $this->dependenciesToCheck();
-      if ($dependencies) {
-        $configToImport = array_merge($configToImport, $dependencies);
+      $dependencies = $this->dependenciesToImport();
+      foreach ($dependencies as $config) {
+        $this->assertTrue(in_array($config, $imported), "Dependency configuration $config was imported.");
       }
     }
 
-    foreach ($configToImport as $config) {
-      $this->assertTrue(in_array($config, $imported), "Configuration for $config was imported.");
+    if ($this->importOptionals()) {
+      $optionals = $this->optionalsToImport();
+      foreach ($optionals as $config) {
+        $this->assertTrue(in_array($config, $imported), "Optional configuration $config was imported.");
+      }
     }
 
     $this->assertTrue($this->savedInActiveStore(), "The configuration was saved in the ActiveStore.");
@@ -74,12 +80,31 @@ abstract class ConfigurationHandlerBaseTestCase extends ConfigurationWebTestCase
     $configToExport = $this->configToExport();
     $results = ConfigurationManagement::exportToDataStore($configToExport, $this->exportDependencies(), $this->exportOptionals());
     $exported = $results->getInfo('exported');
+
     foreach ($configToExport as $config) {
       $this->assertTrue(in_array($config, $exported), "Configuration for $config was exported.");
       $file_for_config = $this->datastore_path . '/' . $config . '.inc';
       $this->assertTrue(file_exists($file_for_config), "The file that storages the $config was created.");
     }
 
+    if ($this->exportDependencies()) {
+      $dependencies = $this->dependenciesToExport();
+      foreach ($dependencies as $config) {
+        $this->assertTrue(in_array($config, $exported), "Dependency configuration for $config was exported.");
+        $file_for_config = $this->datastore_path . '/' . $config . '.inc';
+        $this->assertTrue(file_exists($file_for_config), "The file that storages the dependency $config was created.");
+      }
+    }
+
+    if ($this->exportOptionals()) {
+      $optionals = $this->optionalsToExport();
+      foreach ($optionals as $config) {
+        $this->assertTrue(in_array($config, $exported), "Optional configuration for $config was exported.");
+        $file_for_config = $this->datastore_path . '/' . $config . '.inc';
+        $this->assertTrue(file_exists($file_for_config), "The file that storages the optional $config was created.");
+      }
+    }
+
     $this->extraChecksOnExport();
   }
 
@@ -104,11 +129,11 @@ abstract class ConfigurationHandlerBaseTestCase extends ConfigurationWebTestCase
       list($component, $identifier) = explode('.', $config, 2);
 
       $object = db_select('configuration_staging', 'cs')
-                          ->fields('cs')
-                          ->condition('component', $component)
-                          ->condition('identifier', $identifier)
-                          ->execute()
-                          ->fetchObject();
+              ->fields('cs')
+              ->condition('component', $component)
+              ->condition('identifier', $identifier)
+              ->execute()
+              ->fetchObject();
 
       $this->assertTrue(!empty($object), "Config $config was suscessfully tracked.");
       $this->verbose('<pre>' . print_r(ConfigurationManagement::readTrackingFile(), TRUE) . '</pre>', 'Reverted');
@@ -162,7 +187,6 @@ abstract class ConfigurationHandlerBaseTestCase extends ConfigurationWebTestCase
   /**
    * Helper methods
    */
-
   protected function importDependencies() {
     return FALSE;
   }
@@ -170,8 +194,8 @@ abstract class ConfigurationHandlerBaseTestCase extends ConfigurationWebTestCase
   /**
    * Returns an array of configurations to check if they were imported.
    */
-  protected function dependenciesToCheck() {
-    return FALSE;
+  protected function dependenciesToImport() {
+    return array();
   }
 
   protected function addModules() {
@@ -182,14 +206,35 @@ abstract class ConfigurationHandlerBaseTestCase extends ConfigurationWebTestCase
     return FALSE;
   }
 
+  /**
+   * Returns an array of configurations to check if they were imported.
+   */
+  protected function optionalsToImport() {
+    return array();
+  }
+
   protected function exportDependencies() {
     return FALSE;
   }
 
+  /**
+   * Returns an array of configurations to check if they were exported.
+   */
+  protected function dependenciesToExport() {
+    return array();
+  }
+
   protected function exportOptionals() {
     return FALSE;
   }
 
+  /**
+   * Returns an array of configurations to check if they were exported.
+   */
+  protected function optionalsToExport() {
+    return array();
+  }
+
   protected function modifyDependencies() {
     return FALSE;
   }
@@ -198,9 +243,17 @@ abstract class ConfigurationHandlerBaseTestCase extends ConfigurationWebTestCase
     return FALSE;
   }
 
-  protected function extraChecksOnImport() {}
-  protected function extraChecksOnExport() {}
-  protected function extraChecksOnModify() {}
+  protected function extraChecksOnImport() {
+
+  }
+
+  protected function extraChecksOnExport() {
+
+  }
+
+  protected function extraChecksOnModify() {
+
+  }
 
   /**
    * Tests must override the following methods.
@@ -250,5 +303,4 @@ abstract class ConfigurationHandlerBaseTestCase extends ConfigurationWebTestCase
    * store.
    */
   abstract protected function modifyConfiguration();
-
 }
