Lint tests

This commit is contained in:
philipp lang 2025-06-20 00:18:16 +02:00
parent bd86e65c8c
commit af13bb1cde
2 changed files with 106 additions and 108 deletions

View File

@ -0,0 +1,102 @@
<?php
use App\Contribution\Documents\BdkjHesse;
use App\Contribution\Documents\CityFrankfurtMainDocument;
use App\Contribution\Documents\CityRemscheidDocument;
use App\Contribution\Documents\CitySolingenDocument;
use App\Contribution\Documents\RdpNrwDocument;
use App\Contribution\Documents\WuppertalDocument;
dataset('contribution-validation', function () {
return [
[
['type' => 'aaa'],
CitySolingenDocument::class,
'type',
],
[
['type' => ''],
CitySolingenDocument::class,
'type',
],
[
['dateFrom' => ''],
CitySolingenDocument::class,
'dateFrom',
],
[
['dateFrom' => '2022-01'],
CitySolingenDocument::class,
'dateFrom',
],
[
['dateUntil' => ''],
CitySolingenDocument::class,
'dateUntil',
],
[
['dateUntil' => '2022-01'],
CitySolingenDocument::class,
'dateUntil',
],
[
['country' => -1],
RdpNrwDocument::class,
'country',
],
[
['country' => 'AAAA'],
RdpNrwDocument::class,
'country',
],
[
['members' => 'A'],
RdpNrwDocument::class,
'members',
],
[
['members' => [99999]],
RdpNrwDocument::class,
'members.0',
],
[
['members' => ['lalala']],
RdpNrwDocument::class,
'members.0',
],
[
['eventName' => ''],
CitySolingenDocument::class,
'eventName',
],
[
['zipLocation' => ''],
CitySolingenDocument::class,
'zipLocation',
],
[
['zipLocation' => ''],
WuppertalDocument::class,
'zipLocation',
],
[
['dateFrom' => ''],
WuppertalDocument::class,
'dateFrom',
],
[
['dateUntil' => ''],
WuppertalDocument::class,
'dateUntil',
],
];
});
dataset('contribution-assertions', fn () => [
[CitySolingenDocument::class, ["Super tolles Lager", "Max Muster", "Jane Muster", "15.06.1991"]],
[RdpNrwDocument::class, ["Muster, Max", "Muster, Jane", "15.06.1991", "42777 SG"]],
[CityRemscheidDocument::class, ["Max", "Muster", "Jane"]],
[CityFrankfurtMainDocument::class, ["Max", "Muster", "Jane"]],
[BdkjHesse::class, ["Max", "Muster", "Jane"]],
[WuppertalDocument::class, ["Max", "Muster", "Jane", "42777 SG", "15.06.1991", "16.06.1991"]],
]);

View File

@ -2,12 +2,7 @@
namespace Tests\Feature\Contribution;
use App\Contribution\Documents\BdkjHesse;
use App\Contribution\Documents\CityFrankfurtMainDocument;
use App\Contribution\Documents\CityRemscheidDocument;
use App\Contribution\Documents\RdpNrwDocument;
use App\Contribution\Documents\CitySolingenDocument;
use App\Contribution\Documents\WuppertalDocument;
use App\Country;
use App\Gender;
use App\Invoice\InvoiceSettings;
@ -21,91 +16,6 @@ use Zoomyboy\Tex\Tex;
uses(DatabaseTransactions::class);
dataset('validation', function () {
return [
[
['type' => 'aaa'],
CitySolingenDocument::class,
'type',
],
[
['type' => ''],
CitySolingenDocument::class,
'type',
],
[
['dateFrom' => ''],
CitySolingenDocument::class,
'dateFrom',
],
[
['dateFrom' => '2022-01'],
CitySolingenDocument::class,
'dateFrom',
],
[
['dateUntil' => ''],
CitySolingenDocument::class,
'dateUntil',
],
[
['dateUntil' => '2022-01'],
CitySolingenDocument::class,
'dateUntil',
],
[
['country' => -1],
RdpNrwDocument::class,
'country',
],
[
['country' => 'AAAA'],
RdpNrwDocument::class,
'country',
],
[
['members' => 'A'],
RdpNrwDocument::class,
'members',
],
[
['members' => [99999]],
RdpNrwDocument::class,
'members.0',
],
[
['members' => ['lalala']],
RdpNrwDocument::class,
'members.0',
],
[
['eventName' => ''],
CitySolingenDocument::class,
'eventName',
],
[
['zipLocation' => ''],
CitySolingenDocument::class,
'zipLocation',
],
[
['zipLocation' => ''],
WuppertalDocument::class,
'zipLocation',
],
[
['dateFrom' => ''],
WuppertalDocument::class,
'dateFrom',
],
[
['dateUntil' => ''],
WuppertalDocument::class,
'dateUntil',
],
];
});
it('compiles documents via base64 param', function (string $type, array $bodyChecks) {
$this->withoutExceptionHandling();
Tex::spy();
@ -127,14 +37,7 @@ it('compiles documents via base64 param', function (string $type, array $bodyChe
$response->assertSessionDoesntHaveErrors();
$response->assertOk();
Tex::assertCompiled($type, fn ($document) => $document->hasAllContent($bodyChecks));
})->with([
[CitySolingenDocument::class, ["Super tolles Lager", "Max Muster", "Jane Muster", "15.06.1991"]],
[RdpNrwDocument::class, ["Muster, Max", "Muster, Jane", "15.06.1991", "42777 SG"]],
[CityRemscheidDocument::class, ["Max", "Muster", "Jane"]],
[CityFrankfurtMainDocument::class, ["Max", "Muster", "Jane"]],
[BdkjHesse::class, ["Max", "Muster", "Jane"]],
[WuppertalDocument::class, ["Max", "Muster", "Jane", "42777 SG", "15.06.1991", "16.06.1991"]],
]);
})->with('contribution-assertions');
it('testItCompilesGroupNameInSolingenDocument', function () {
$this->withoutExceptionHandling()->login()->loginNami();
@ -171,14 +74,7 @@ it('testItCompilesContributionDocumentsViaApi', function (string $type, array $b
$response->assertSessionDoesntHaveErrors();
$response->assertOk();
Tex::assertCompiled($type, fn ($document) => $document->hasAllContent($bodyChecks));
})->with([
[CitySolingenDocument::class, ["Super tolles Lager", "Max Muster", "Jane Muster", "15.06.1991"]],
[RdpNrwDocument::class, ["Muster, Max", "Muster, Jane", "15.06.1991", "42777 SG"]],
[CityRemscheidDocument::class, ["Max", "Muster", "Jane"]],
[CityFrankfurtMainDocument::class, ["Max", "Muster", "Jane"]],
[BdkjHesse::class, ["Max", "Muster", "Jane"]],
[WuppertalDocument::class, ["Max", "Muster", "Jane", "42777 SG", "15.06.1991", "16.06.1991"]],
]);
})->with('contribution-assertions');
it('testInputShouldBeBase64EncodedJson', function (string $payload) {
$this->login()->loginNami();
@ -197,7 +93,7 @@ it('testItValidatesInput', function (array $input, string $documentClass, string
$this->postJson('/contribution-validate', ContributionRequestFactory::new()->type($documentClass)->state($input)->create())
->assertJsonValidationErrors($errorField);
})->with('validation');
})->with('contribution-validation');
it('testItValidatesInputBeforeGeneration', function (array $input, string $documentClass, string $errorField) {
$this->login()->loginNami();
@ -207,4 +103,4 @@ it('testItValidatesInputBeforeGeneration', function (array $input, string $docum
$this->call('GET', '/contribution-generate', [
'payload' => ContributionRequestFactory::new()->type($documentClass)->state($input)->toBase64(),
])->assertSessionHasErrors($errorField);
})->with('validation');
})->with('contribution-validation');