Commit 4516c2fe authored by Baldur Rensch's avatar Baldur Rensch

Fixed the fixture laoder not having an executor

parent 3da1cf40
......@@ -3,6 +3,8 @@
namespace Solarium\Support\DataFixtures;
/**
* This class is just a convenience wrapper around the fixture loading process.
*
* @author Baldur Rensch <brensch@gmail.com>
*/
class FixtureLoader
......@@ -18,13 +20,20 @@ class FixtureLoader
private $purger;
/**
* @param Loader $loader
* @param Purger $purger
* @var Executor
*/
public function __construct(Loader $loader, Purger $purger)
private $executor;
/**
* @param Loader $loader
* @param Purger $purger
* @param Executor $executor
*/
public function __construct(Loader $loader, Purger $purger, Executor $executor)
{
$this->loader = $loader;
$this->purger = $purger;
$this->executor = $executor;
}
/**
......@@ -38,5 +47,7 @@ class FixtureLoader
}
$this->loader->loadFromDirectory($dir);
$this->executor->execute($this->loader->getFixtures());
}
}
......@@ -3,6 +3,7 @@
namespace Solarium\Tests\Support\DataFixtures;
use Solarium\Support\DataFixtures\FixtureLoader;
use Solarium\Tests\Support\DataFixtures\Fixtures\MockFixture1;
class FixtureLoaderTest extends \PHPUnit_Framework_TestCase
{
......@@ -14,8 +15,9 @@ class FixtureLoaderTest extends \PHPUnit_Framework_TestCase
{
$loader = $this->mockLoader();
$purger = $this->mockPurger(false);
$executor = $this->mockExecutor();
$fixtureLoader = new FixtureLoader($loader, $purger);
$fixtureLoader = new FixtureLoader($loader, $purger, $executor);
$fixtureLoader->loadFixturesFromDir($this->fixturePath);
}
......@@ -24,8 +26,9 @@ class FixtureLoaderTest extends \PHPUnit_Framework_TestCase
{
$loader = $this->mockLoader();
$purger = $this->mockPurger(true);
$executor = $this->mockExecutor();
$fixtureLoader = new FixtureLoader($loader, $purger);
$fixtureLoader = new FixtureLoader($loader, $purger, $executor);
$fixtureLoader->loadFixturesFromDir($this->fixturePath, false);
}
......@@ -44,6 +47,16 @@ class FixtureLoaderTest extends \PHPUnit_Framework_TestCase
->method('loadFromDirectory')
->with($this->fixturePath);
$loader->expects($this->once())
->method('getFixtures')
->will(
$this->returnValue(
array(
$this->getMockFixture()
)
)
);
return $loader;
}
......@@ -56,4 +69,16 @@ class FixtureLoaderTest extends \PHPUnit_Framework_TestCase
return $purger;
}
private function mockExecutor()
{
$executor = $this->getMock('Solarium\Support\DataFixtures\Executor', array(), array($this->client));
return $executor;
}
private function getMockFixture()
{
return new MockFixture1();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment