mirror of
https://github.com/silverstripe/silverstripe-behat-extension
synced 2024-10-22 17:05:32 +02:00
Merge pull request #32 from tractorcow/pulls/asset-fixture
API Allow usage of assets with modified / created date specification
This commit is contained in:
commit
d313b4ccce
@ -124,11 +124,7 @@ class FixtureContext extends BehatContext
|
|||||||
*/
|
*/
|
||||||
public function stepCreateRecord($type, $id) {
|
public function stepCreateRecord($type, $id) {
|
||||||
$class = $this->convertTypeToClass($type);
|
$class = $this->convertTypeToClass($type);
|
||||||
if($class == 'File' || is_subclass_of($class, 'File')) {
|
$fields = $this->prepareFixture($class, $id);
|
||||||
$fields = $this->prepareAsset($class, $id);
|
|
||||||
} else {
|
|
||||||
$fields = array();
|
|
||||||
}
|
|
||||||
$this->fixtureFactory->createObject($class, $id, $fields);
|
$this->fixtureFactory->createObject($class, $id, $fields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -162,9 +158,7 @@ class FixtureContext extends BehatContext
|
|||||||
$class,
|
$class,
|
||||||
array_combine($matches['key'], $matches['value'])
|
array_combine($matches['key'], $matches['value'])
|
||||||
);
|
);
|
||||||
if($class == 'File' || is_subclass_of($class, 'File')) {
|
$fields = $this->prepareFixture($class, $id, $fields);
|
||||||
$fields = $this->prepareAsset($class, $id, $fields);
|
|
||||||
}
|
|
||||||
$this->fixtureFactory->createObject($class, $id, $fields);
|
$this->fixtureFactory->createObject($class, $id, $fields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -180,9 +174,7 @@ class FixtureContext extends BehatContext
|
|||||||
$class = $this->convertTypeToClass($type);
|
$class = $this->convertTypeToClass($type);
|
||||||
// TODO Support more than one record
|
// TODO Support more than one record
|
||||||
$fields = $this->convertFields($class, $fieldsTable->getRowsHash());
|
$fields = $this->convertFields($class, $fieldsTable->getRowsHash());
|
||||||
if($class == 'File' || is_subclass_of($class, 'File')) {
|
$fields = $this->prepareFixture($class, $id, $fields);
|
||||||
$fields = $this->prepareAsset($class, $id, $fields);
|
|
||||||
}
|
|
||||||
|
|
||||||
// We should check if this fixture object already exists - if it does, we update it. If not, we create it
|
// We should check if this fixture object already exists - if it does, we update it. If not, we create it
|
||||||
if($existingFixture = $this->fixtureFactory->get($class, $id)) {
|
if($existingFixture = $this->fixtureFactory->get($class, $id)) {
|
||||||
@ -418,7 +410,7 @@ class FixtureContext extends BehatContext
|
|||||||
*/
|
*/
|
||||||
public function aRecordWasLastEditedRelative($type, $id, $mod, $time) {
|
public function aRecordWasLastEditedRelative($type, $id, $mod, $time) {
|
||||||
$class = $this->convertTypeToClass($type);
|
$class = $this->convertTypeToClass($type);
|
||||||
$fields = array();
|
$fields = $this->prepareFixture($class, $id);
|
||||||
$record = $this->fixtureFactory->createObject($class, $id, $fields);
|
$record = $this->fixtureFactory->createObject($class, $id, $fields);
|
||||||
$date = date("Y-m-d H:i:s",strtotime($time));
|
$date = date("Y-m-d H:i:s",strtotime($time));
|
||||||
$table = \ClassInfo::baseDataClass(get_class($record));
|
$table = \ClassInfo::baseDataClass(get_class($record));
|
||||||
@ -441,6 +433,21 @@ class FixtureContext extends BehatContext
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prepares a fixture for use
|
||||||
|
*
|
||||||
|
* @param string $class
|
||||||
|
* @param string $identifier
|
||||||
|
* @param array $data
|
||||||
|
* @return array Prepared $data with additional injected fields
|
||||||
|
*/
|
||||||
|
protected function prepareFixture($class, $identifier, $data = array()) {
|
||||||
|
if($class == 'File' || is_subclass_of($class, 'File')) {
|
||||||
|
$data = $this->prepareAsset($class, $identifier, $data);
|
||||||
|
}
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
protected function prepareAsset($class, $identifier, $data = null) {
|
protected function prepareAsset($class, $identifier, $data = null) {
|
||||||
if(!$data) $data = array();
|
if(!$data) $data = array();
|
||||||
|
Loading…
Reference in New Issue
Block a user