-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
be4d76d
commit 800c9c7
Showing
2 changed files
with
115 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
<?php | ||
|
||
namespace Dvsa\OlcsTest\Transfer\Query\Messaging\Message; | ||
|
||
use Dvsa\Olcs\Transfer\Query\Messaging\Messages\ByConversation; | ||
use Dvsa\OlcsTest\Transfer\DtoWithoutOptionalFieldsTest; | ||
use Dvsa\OlcsTest\Transfer\Query\QueryTest; | ||
use Laminas\Stdlib\ArraySerializableInterface; | ||
|
||
class ByConversationTest extends \PHPUnit\Framework\TestCase | ||
{ | ||
use QueryTest, DtoWithoutOptionalFieldsTest { | ||
DtoWithoutOptionalFieldsTest::testDefaultValues insteadof QueryTest; | ||
} | ||
|
||
/** | ||
* Should return a new blank DTO on which to run tests | ||
* | ||
* @return ArraySerializableInterface | ||
*/ | ||
protected function createBlankDto() | ||
{ | ||
return new ByConversation(); | ||
} | ||
|
||
/** | ||
* Should return an array of valid field values (i.e. those which should pass validation) | ||
* | ||
* for example: | ||
* | ||
* return [ | ||
* 'fieldName' => [ | ||
* 'good-value-1', | ||
* 'good-value-2', | ||
* ], | ||
* 'anotherFieldName' => ['good-value'], | ||
* ]; | ||
* | ||
* @return array | ||
*/ | ||
protected function getValidFieldValues() | ||
{ | ||
return [ | ||
'conversation' => [ | ||
'1' | ||
], | ||
'page' => [ | ||
'1', | ||
], | ||
'limit' => [ | ||
'1', | ||
], | ||
]; | ||
} | ||
|
||
/** | ||
* Should return an array of invalid field values (i.e. those which should fail validation) | ||
* | ||
* for example: | ||
* | ||
* return [ | ||
* 'fieldName' => [ | ||
* 'bad-value-1', | ||
* 'bad-value-2', | ||
* ], | ||
* 'anotherFieldName' => ['bad-value'], | ||
* ]; | ||
* | ||
* @return array | ||
*/ | ||
protected function getInvalidFieldValues() | ||
{ | ||
$invalidNumbers = [0, | ||
'a', | ||
'-', | ||
'\n',]; | ||
|
||
return [ | ||
'conversation' => $invalidNumbers, | ||
'page' => $invalidNumbers, | ||
'limit' => $invalidNumbers, | ||
]; | ||
} | ||
|
||
/** | ||
* Should return an array of expected transformations which input filters should apply to fields | ||
* | ||
* for example: | ||
* | ||
* return [ | ||
* 'fieldWhichGetsTrimmed' => [[' string ', 'string']], | ||
* 'fieldWhichFiltersOutNonNumericDigits => [ | ||
* ['a1b2c3', '123'], | ||
* [99, '99'], | ||
* ], | ||
* ]; | ||
* | ||
* Tests expect the function 'getFoo' to exist for the function 'foo'. | ||
* | ||
* This DOES NOT assert that the value gets validated. To do that @see DtoTest::getValidFieldValues | ||
* | ||
* @return array | ||
*/ | ||
protected function getFilterTransformations() | ||
{ | ||
return [ | ||
'conversation' => [[99, '99']], | ||
'page' => [[99, '99']], | ||
'limit' => [[99, '99']], | ||
]; | ||
} | ||
} |