|
3 | 3 | use Illuminate\Pagination\LengthAwarePaginator;
|
4 | 4 | use Illuminate\Support\Collection;
|
5 | 5 | use Spatie\LaravelData\Attributes\DataCollectionOf;
|
| 6 | +use Spatie\LaravelData\Attributes\MapName; |
| 7 | +use Spatie\LaravelData\Attributes\MapOutputName; |
6 | 8 | use Spatie\LaravelData\Data;
|
7 | 9 | use Spatie\LaravelData\DataCollection;
|
8 | 10 | use Spatie\LaravelData\Lazy;
|
| 11 | +use Spatie\LaravelData\Mappers\SnakeCaseMapper; |
9 | 12 | use Spatie\LaravelData\Resolvers\RequestQueryStringPartialsResolver;
|
10 | 13 | use Spatie\LaravelData\Support\Partials\Partial;
|
11 | 14 | use Spatie\LaravelData\Support\Partials\PartialsCollection;
|
|
23 | 26 | use Spatie\LaravelData\Tests\Fakes\PartialClassConditionalData;
|
24 | 27 | use Spatie\LaravelData\Tests\Fakes\SimpleChildDataWithMappedOutputName;
|
25 | 28 | use Spatie\LaravelData\Tests\Fakes\SimpleData;
|
26 |
| -use Spatie\LaravelData\Tests\Fakes\SimpleDataWithMappedOutputName; |
27 | 29 | use Spatie\LaravelData\Tests\Fakes\UlarData;
|
28 | 30 |
|
29 | 31 | /**
|
@@ -1578,6 +1580,28 @@ public function __construct()
|
1578 | 1580 | });
|
1579 | 1581 |
|
1580 | 1582 | it('handles parsing except from request with mapped output name', function () {
|
| 1583 | + #[MapName(SnakeCaseMapper::class)] |
| 1584 | + class SimpleDataWithMappedOutputName extends Data |
| 1585 | + { |
| 1586 | + public function __construct( |
| 1587 | + public int $id, |
| 1588 | + #[MapOutputName('paid_amount')] |
| 1589 | + public float $amount, |
| 1590 | + public string $anyString, |
| 1591 | + public SimpleChildDataWithMappedOutputName $child |
| 1592 | + ) { |
| 1593 | + } |
| 1594 | + |
| 1595 | + public static function allowedRequestExcept(): ?array |
| 1596 | + { |
| 1597 | + return [ |
| 1598 | + 'amount', |
| 1599 | + 'anyString', |
| 1600 | + 'child', |
| 1601 | + ]; |
| 1602 | + } |
| 1603 | + } |
| 1604 | + |
1581 | 1605 | $dataclass = SimpleDataWithMappedOutputName::from([
|
1582 | 1606 | 'id' => 1,
|
1583 | 1607 | 'amount' => 1000,
|
|
0 commit comments