mirror of
https://github.com/barryvdh/laravel-ide-helper.git
synced 2026-08-18 10:07:12 +00:00
Fix collection attribute typing
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\GenerateMixinCollection\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Support\Collection;
|
||||
|
||||
class WithCollection extends Model
|
||||
{
|
||||
/**
|
||||
* @return Collection<int, string>
|
||||
*/
|
||||
public function getCollectionAttribute(): Collection
|
||||
{
|
||||
return new Collection();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Collection
|
||||
*/
|
||||
public function getCollectionWithoutTemplateAttribute(): Collection
|
||||
{
|
||||
return new Collection();
|
||||
}
|
||||
|
||||
public function getCollectionWithoutDocBlockAttribute(): Collection
|
||||
{
|
||||
return new Collection();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\GenerateMixinCollection;
|
||||
|
||||
use Barryvdh\LaravelIdeHelper\Console\ModelsCommand;
|
||||
use Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\AbstractModelsCommand;
|
||||
|
||||
class Test extends AbstractModelsCommand
|
||||
{
|
||||
public function test(): void
|
||||
{
|
||||
$command = $this->app->make(ModelsCommand::class);
|
||||
|
||||
$tester = $this->runCommand($command, [
|
||||
'--write-mixin' => true,
|
||||
]);
|
||||
|
||||
$this->assertSame(0, $tester->getStatusCode());
|
||||
$this->assertStringContainsString('Written new phpDocBlock to', $tester->getDisplay());
|
||||
$this->assertMatchesMockedSnapshot();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
namespace Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\GenerateMixinCollection\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Support\Collection;
|
||||
|
||||
/**
|
||||
* @mixin IdeHelperWithCollection
|
||||
*/
|
||||
class WithCollection extends Model
|
||||
{
|
||||
/**
|
||||
* @return Collection<int, string>
|
||||
*/
|
||||
public function getCollectionAttribute(): Collection
|
||||
{
|
||||
return new Collection();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Collection
|
||||
*/
|
||||
public function getCollectionWithoutTemplateAttribute(): Collection
|
||||
{
|
||||
return new Collection();
|
||||
}
|
||||
|
||||
public function getCollectionWithoutDocBlockAttribute(): Collection
|
||||
{
|
||||
return new Collection();
|
||||
}
|
||||
}
|
||||
<?php
|
||||
|
||||
// @formatter:off
|
||||
// phpcs:ignoreFile
|
||||
/**
|
||||
* A helper file for your Eloquent Models
|
||||
* Copy the phpDocs from this file to the correct Model,
|
||||
* And remove them from this file, to prevent double declarations.
|
||||
*
|
||||
* @author Barry vd. Heuvel <[email protected]>
|
||||
*/
|
||||
|
||||
|
||||
namespace Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\GenerateMixinCollection\Models{
|
||||
/**
|
||||
* Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\GenerateMixinCollection\Models\WithCollection
|
||||
*
|
||||
* @property-read \Illuminate\Support\Collection<int, string> $collection
|
||||
* @property-read \Illuminate\Support\Collection $collection_without_doc_block
|
||||
* @property-read \Illuminate\Support\Collection $collection_without_template
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|WithCollection newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|WithCollection newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|WithCollection query()
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
#[\AllowDynamicProperties]
|
||||
class IdeHelperWithCollection {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user