Skip to content

Commit 422f29a

Browse files
committed
add presenter type test
1 parent 733a820 commit 422f29a

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

tests/Models/User.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use Coderflex\LaravelPresenter\Concerns\CanPresent;
66
use Coderflex\LaravelPresenter\Concerns\UsesPresenters;
7-
use Coderflex\LaravelPresenter\Tests\Presenters\UserPresenter;
7+
use Coderflex\LaravelPresenter\Tests\Presenters\{UserPresenter, UserSettingPresenter};
88
use Illuminate\Database\Eloquent\Model;
99

1010
class User extends Model implements CanPresent
@@ -15,5 +15,6 @@ class User extends Model implements CanPresent
1515

1616
protected $presenters = [
1717
'default' => UserPresenter::class,
18+
'setting' => UserSettingPresenter::class,
1819
];
1920
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
namespace Coderflex\LaravelPresenter\Tests\Presenters;
4+
5+
use Coderflex\LaravelPresenter\Presenter;
6+
7+
class UserSettingPresenter extends Presenter
8+
{
9+
public function lang()
10+
{
11+
return 'en';
12+
}
13+
}

tests/PresentersTest.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,18 @@
2828
->toEqual('John Doe');
2929
})->group('Presenter Implementation');
3030

31+
it('presents user lang from another presenter type', function () {
32+
$user = new User([
33+
'first_name' => 'John',
34+
'last_name' => 'Doe',
35+
'email' => '[email protected]',
36+
'password' => '123',
37+
]);
38+
39+
expect($user->present('setting')->lang)
40+
->toEqual('en');
41+
})->group('Presenter Implementation');
42+
3143
it('should implements CanPresent Interface', function () {
3244
$post = new Post([
3345
'title' => 'a title for a post',

0 commit comments

Comments
 (0)