Skip to content

Commit 47bf675

Browse files
committed
Update UserRepositoryInterface
1 parent 9d2903c commit 47bf675

File tree

3 files changed

+14
-17
lines changed

3 files changed

+14
-17
lines changed

app/Repository/Eloquent/UserRepository.php

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,18 @@
66

77
use App\Models\User;
88
use App\Repository\UserRepositoryInterface;
9-
use Illuminate\Database\Eloquent\Model;
109

1110
final class UserRepository implements UserRepositoryInterface
1211
{
13-
/**
14-
* @param array $attributes
15-
* @return User
16-
*/
17-
public function create(array $attributes = []): Model
12+
public function create(array $attributes = []): User
1813
{
19-
return User::factory()->createOne($attributes);
14+
/** @var User $user */
15+
$user = User::factory()->createOne($attributes);
16+
return $user;
17+
}
18+
19+
public function save(User $user): void
20+
{
21+
$user->save();
2022
}
2123
}

app/Repository/UserRepositoryInterface.php

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,11 @@
44

55
namespace App\Repository;
66

7-
use Illuminate\Database\Eloquent\Model;
8-
use Illuminate\Foundation\Auth\User as BaseUser;
7+
use App\Models\User;
98

109
interface UserRepositoryInterface
1110
{
12-
/**
13-
* @param array $attributes
14-
* @return BaseUser
15-
*/
16-
public function create(array $attributes = []): Model;
11+
public function create(array $attributes = []): User;
12+
13+
public function save(User $user): void;
1714
}

tests/Functional/LaravelModuleCest.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ final class LaravelModuleCest
2222
public function amLoggedAs(FunctionalTester $I)
2323
{
2424
$userRepository = app()->get(UserRepositoryInterface::class);
25-
/** @var array $user */
2625
$user = $userRepository->create();
2726
$I->amLoggedAs($user);
2827
$I->amOnPage('/home');
@@ -90,7 +89,6 @@ public function disableMiddleware(FunctionalTester $I)
9089
public function disableModelEvents(FunctionalTester $I)
9190
{
9291
$userRepository = app()->get(UserRepositoryInterface::class);
93-
/** @var User $user */
9492
$user = $userRepository->create([
9593
'email' => 'john_doe@original.com',
9694
'password' => 'password',
@@ -103,7 +101,7 @@ public function disableModelEvents(FunctionalTester $I)
103101
$I->disableModelEvents();
104102

105103
$user->setEmail('john_doe@updated.com');
106-
$user->save();
104+
$userRepository->save($user);
107105

108106
$I->seeRecord(User::class, ['email' => 'john_doe@updated.com']);
109107
}

0 commit comments

Comments
 (0)