Update test code.

This commit is contained in:
James Cole
2021-03-20 07:21:13 +01:00
parent 836f0ecf3f
commit bc5aa4b4cd
41 changed files with 255 additions and 945 deletions

View File

@@ -25,9 +25,11 @@ namespace Tests\Api\Models\Attachment;
use Faker\Factory;
use Laravel\Passport\Passport;
use Log;
use Tests\Objects\Field;
use Tests\Objects\FieldSet;
use Tests\Objects\TestConfiguration;
use Tests\TestCase;
use Tests\Traits\CollectsValues;
use Tests\Traits\RandomValues;
use Tests\Traits\TestHelpers;
/**
@@ -35,7 +37,7 @@ use Tests\Traits\TestHelpers;
*/
class UpdateControllerTest extends TestCase
{
use RandomValues, TestHelpers, CollectsValues;
use TestHelpers, CollectsValues;
/**
*
@@ -53,13 +55,17 @@ class UpdateControllerTest extends TestCase
*/
public function testUpdate(array $submission): void
{
$ignore = [
'created_at',
'updated_at',
];
$route = route('api.v1.attachments.update', [$submission['id']]);
if ([] === $submission) {
$this->markTestSkipped('Empty provider.');
}
Log::debug('testStoreUpdated()');
Log::debug('submission :', $submission['submission']);
Log::debug('expected :', $submission['expected']);
Log::debug('ignore :', $submission['ignore']);
Log::debug('parameters :', $submission['parameters']);
$this->updateAndCompare($route, $submission, $ignore);
$route = route('api.v1.attachments.update', $submission['parameters']);
$this->assertPUT($route, $submission);
}
@@ -68,13 +74,48 @@ class UpdateControllerTest extends TestCase
*/
public function updateDataProvider(): array
{
$submissions = [];
$all = $this->updateDataSet();
foreach ($all as $name => $data) {
$submissions[] = [$data];
$configuration = new TestConfiguration;
// optional field sets (for all test configs)
$fieldSet = new FieldSet;
$fieldSet->parameters = [1];
$fieldSet->addField(Field::createBasic('filename', 'uuid'));
$configuration->addOptionalFieldSet('filename', $fieldSet);
$fieldSet = new FieldSet;
$fieldSet->parameters = [1];
$fieldSet->addField(Field::createBasic('title', 'uuid'));
$configuration->addOptionalFieldSet('title', $fieldSet);
$fieldSet = new FieldSet;
$fieldSet->parameters = [1];
$fieldSet->addField(Field::createBasic('notes', 'uuid'));
$configuration->addOptionalFieldSet('notes', $fieldSet);
$fieldSet = new FieldSet;
$fieldSet->parameters = [1];
$fieldSet->addField(Field::createBasic('attachable_type', 'static-journal-type'));
$fieldSet->addField(Field::createBasic('attachable_id', 'random-journal-id'));
$configuration->addOptionalFieldSet('attachable_type', $fieldSet);
// generate submissions
$array = $configuration->generateSubmissions();
$expected = $configuration->generateExpected($array);
$parameters = $configuration->parameters;
$ignored = $configuration->ignores;
// now create a combination for each submission and associated data:
$final = [];
foreach ($array as $index => $submission) {
$final[] = [[
'submission' => $submission,
'expected' => $expected[$index],
'ignore' => $ignored[$index] ?? [],
'parameters' => $parameters[$index],
]];
}
return $submissions;
return $final;
}