Skip to content

Commit

Permalink
BUG Implement peer review feedback,
Browse files Browse the repository at this point in the history
  • Loading branch information
Maxime Rainville committed Feb 26, 2019
1 parent 9a59f2f commit 6ff319a
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 10 deletions.
15 changes: 8 additions & 7 deletions tests/php/ORM/DataObjectTest/MockDynamicAssignmentDBField.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

namespace SilverStripe\ORM\Tests\DataObjectTest;

use SilverStripe\Dev\TestOnly;
use SilverStripe\ORM\FieldType\DBBoolean;
use SilverStripe\ORM\FieldType\DBField;

Expand All @@ -13,16 +14,16 @@
* If the field is set to false, it will try to do a plain assignment. This is so you can save the initial value no
* matter what. If the field is set to true, it will try to do a dynamic assignment.
*/
class MockDynamicAssignmentDBField extends DBBoolean
class MockDynamicAssignmentDBField extends DBBoolean implements TestOnly
{

private $scalarOnly;
private $dynamicAssignment;

/**
* @param $name
* @param $scalarOnly Whether our fake field should be scalar only
* @param $dynamicAssigment Wheter our fake field will try to do a dynamic assignement
* @param string $name
* @param boolean $scalarOnly Whether our fake field should be scalar only.
* @param boolean $dynamicAssignment Whether our fake field will try to do a dynamic assignment.
*/
public function __construct($name = '', $scalarOnly = false, $dynamicAssignment = false)
{
Expand All @@ -32,15 +33,15 @@ public function __construct($name = '', $scalarOnly = false, $dynamicAssignment
}

/**
* If the field value and dynamicAssignment are true, we'll try to do a dynamic assignement
* If the field value and $dynamicAssignment are true, we'll try to do a dynamic assignment.
* @param $value
* @return array|int|mixed
* @return array|int
*/
public function prepValueForDB($value)
{
if ($value) {
return $this->dynamicAssignment
? ['GREATEST(?, ?)' => [0, 1]]
? ['ABS(?)' => [1]]
: 1;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ class MockDynamicAssignmentDataObject extends DataObject implements TestOnly
];

private static $many_many = [
"MockManyMany" => self::class,
'MockManyMany' => self::class,
];

private static $belongs_many_many = [
"MockBelongsManyMany" => self::class,
'MockBelongsManyMany' => self::class,
];

private static $many_many_extraFields = [
Expand Down
3 changes: 2 additions & 1 deletion tests/php/ORM/ManyManyListTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
use SilverStripe\ORM\Tests\DataObjectTest\Team;
use SilverStripe\ORM\Tests\ManyManyListTest\ExtraFieldsObject;
use SilverStripe\ORM\Tests\ManyManyListTest\Product;
use InvalidArgumentException;

class ManyManyListTest extends SapphireTest
{
Expand Down Expand Up @@ -402,7 +403,7 @@ public function testWriteManipulationWithNonScalarValuesAllowed()

public function testWriteManipulationWithNonScalarValuesDisallowed()
{
$this->expectException(\InvalidArgumentException::class);
$this->expectException(InvalidArgumentException::class);

$left = DataObjectTest\MockDynamicAssignmentDataObject::create();
$left->write();
Expand Down

0 comments on commit 6ff319a

Please sign in to comment.