Skip to content

Commit 63e70df

Browse files
author
Chri$
committed
refactor:[LAR-32] integrate review comment
1 parent 7b8a253 commit 63e70df

File tree

6 files changed

+55
-65
lines changed

6 files changed

+55
-65
lines changed

app/Filament/Actions/ApprovedAction.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
<?php
22

3+
declare(strict_types=1);
4+
35
namespace App\Filament\Actions;
46

57
use Filament\Actions\Concerns\CanCustomizeProcess;
68
use Illuminate\Database\Eloquent\Model;
79

8-
class ApprovedAction extends \Filament\Tables\Actions\Action
10+
final class ApprovedAction extends \Filament\Tables\Actions\Action
911
{
1012
use CanCustomizeProcess;
13+
1114
public static function getDefaultName(): ?string
1215
{
1316
return 'approved';
@@ -27,7 +30,7 @@ protected function setUp(): void
2730

2831
$this->color('success');
2932

30-
$this->icon( 'heroicon-s-check');
33+
$this->icon('heroicon-s-check');
3134

3235
$this->requiresConfirmation();
3336

app/Filament/Actions/DeclinedAction.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
<?php
22

3+
declare(strict_types=1);
4+
35
namespace App\Filament\Actions;
46

57
use Filament\Actions\Concerns\CanCustomizeProcess;
6-
use Filament\Support\Facades\FilamentIcon;
78
use Illuminate\Database\Eloquent\Model;
89

9-
class DeclinedAction extends \Filament\Tables\Actions\Action
10+
final class DeclinedAction extends \Filament\Tables\Actions\Action
1011
{
1112
use CanCustomizeProcess;
13+
1214
public static function getDefaultName(): ?string
1315
{
1416
return 'declined';
@@ -28,7 +30,7 @@ protected function setUp(): void
2830

2931
$this->color('warning');
3032

31-
$this->icon( 'heroicon-s-x-mark');
33+
$this->icon('heroicon-s-x-mark');
3234

3335
$this->requiresConfirmation();
3436

app/Filament/Clusters/Articles.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
<?php
22

3+
declare(strict_types=1);
4+
35
namespace App\Filament\Clusters;
46

57
use Filament\Clusters\Cluster;
68

7-
class Articles extends Cluster
9+
final class Articles extends Cluster
810
{
9-
protected static ?string $navigationIcon = 'heroicon-o-squares-2x2';
11+
protected static ?string $navigationIcon = 'heroicon-o-newspaper';
1012
}

app/Filament/Resources/ArticleResource.php

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
<?php
22

3+
declare(strict_types=1);
4+
35
namespace App\Filament\Resources;
46

57
use App\Filament\Actions\ApprovedAction;
@@ -8,55 +10,55 @@
810
use App\Models\Article;
911
use Filament\Resources\Resource;
1012
use Filament\Tables;
13+
use Filament\Tables\Actions\ActionGroup;
1114
use Filament\Tables\Columns\TextColumn;
12-
use Filament\Tables\Table;
1315
use Filament\Tables\Filters\Filter;
16+
use Filament\Tables\Table;
1417
use Illuminate\Database\Eloquent\Builder;
15-
use Filament\Tables\Actions\ActionGroup;
1618

17-
class ArticleResource extends Resource
19+
final class ArticleResource extends Resource
1820
{
1921
protected static ?string $model = Article::class;
2022

21-
protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack';
23+
protected static ?string $navigationIcon = 'heroicon-o-newspaper';
24+
2225
public static function table(Table $table): Table
2326
{
2427
return $table
2528
->columns([
2629
TextColumn::make('title')
27-
->label('Titre')
28-
->sortable(),
30+
->label('Titre')
31+
->sortable(),
2932
TextColumn::make('status')
30-
->label('Status')
31-
->getStateUsing(function ($record) {
32-
if ($record->approved_at) {
33-
return 'Approuver';
34-
} elseif ($record->declined_at) {
35-
return 'Décliner';
36-
} elseif($record->submitted_at) {
37-
return 'Soumis';
38-
}else{
39-
return 'Brouillon';
40-
}
41-
})
42-
->colors([
43-
'success' => 'Approuver',
44-
'danger' => 'Décliner',
45-
'warning' => 'Soumis',
46-
'default' => 'Brouillon',
47-
])
48-
->badge(),
33+
->getStateUsing(function ($record) {
34+
if ($record->approved_at) {
35+
return 'Approuver';
36+
} elseif ($record->declined_at) {
37+
return 'Décliner';
38+
} elseif ($record->submitted_at) {
39+
return 'Soumis';
40+
} else {
41+
return 'Brouillon';
42+
}
43+
})
44+
->colors([
45+
'success' => 'Approuver',
46+
'danger' => 'Décliner',
47+
'warning' => 'Soumis',
48+
'default' => 'Brouillon',
49+
])
50+
->badge(),
4951
TextColumn::make('submitted_at')
50-
->label('Date de soumission')
51-
->dateTime(),
52+
->label('Date de soumission')
53+
->dateTime(),
5254
TextColumn::make('user.name')
53-
->label('Auteur')
54-
->sortable()
55+
->label('Auteur')
56+
->sortable(),
5557
])
5658
->filters([
57-
Filter::make('submitted_at')->query( fn (Builder $query) => $query->whereNotNull('submitted_at'))->label('Soumis'),
58-
Filter::make('declined_at')->query( fn (Builder $query) => $query->whereNotNull('declined_at'))->label('Décliner'),
59-
Filter::make('approved_at')->query( fn (Builder $query) => $query->whereNotNull('approved_at'))->label('Approuver')
59+
Filter::make('submitted_at')->query(fn (Builder $query) => $query->whereNotNull('submitted_at'))->label('Soumis'),
60+
Filter::make('declined_at')->query(fn (Builder $query) => $query->whereNotNull('declined_at'))->label('Décliner'),
61+
Filter::make('approved_at')->query(fn (Builder $query) => $query->whereNotNull('approved_at'))->label('Approuver'),
6062
])
6163

6264
->actions([
Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,13 @@
11
<?php
22

3+
declare(strict_types=1);
4+
35
namespace App\Filament\Resources\ArticleResource\Pages;
46

57
use App\Filament\Resources\ArticleResource;
6-
use Filament\Actions;
78
use Filament\Resources\Pages\ListRecords;
89

9-
class ListArticles extends ListRecords
10+
final class ListArticles extends ListRecords
1011
{
1112
protected static string $resource = ArticleResource::class;
12-
13-
protected function getHeaderActions(): array
14-
{
15-
return [
16-
17-
];
18-
}
1913
}

tests/Feature/Filament/ArticleTest.php

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
declare(strict_types=1);
44

55
use App\Filament\Resources\ArticleResource;
6-
use Filament\Tables\Actions\DeleteAction;
76
use App\Models\Article;
87
use Livewire\Livewire;
98

@@ -39,9 +38,8 @@
3938

4039
expect($article->approved_at)
4140
->not
42-
->toBe(null);
43-
44-
expect($article->declined_at)
41+
->toBe(null)
42+
->and($article->declined_at)
4543
->toBe(null);
4644
});
4745

@@ -55,20 +53,9 @@
5553

5654
expect($article->declined_at)
5755
->not
58-
->toBe(null);
59-
60-
expect($article->approved_at)
56+
->toBe(null)
57+
->and($article->approved_at)
6158
->toBe(null);
6259
});
6360

64-
// it('admin user can deleted article', function () {
65-
// $article = Article::factory()->create(['submitted_at' => now()]);
66-
67-
// Livewire::test(ArticleResource\Pages\ListArticles::class)
68-
// ->callTableAction('delete', $article);
69-
// //->callAction(DeleteAction::class);
70-
71-
// expect(Article::find($article->id))
72-
// ->toBe(null);
73-
// });
7461
})->group('articles');

0 commit comments

Comments
 (0)