refactor: split buspro ApiClient into domain clients

This commit is contained in:
fromme committed 2026-10-02 13:55:30 +02:00
1 parent 0a55544ca8
commit b755a6f43e
52 files changed
+805 -695

No files matched your search

@@ -4,7 +4,7 @@ declare(strict_types=1);
namespace App\Tests\Controller\Account;
use App\BusProNet\ApiClient;
use App\BusProNet\Client\AccountClient;
use App\BusProNet\Model\Notification;
use App\BusProNet\Model\PersonalData;
use App\Controller\Account\PersonalDataController;
@@ -28,10 +28,10 @@ class PersonalDataControllerTest extends TestCase
public function testIndexRendersNewsletterSubscribeCtaWhenNotSubscribed(): void
{
$controller = $this->createController(
apiClient: $this->createMock(ApiClient::class),
accountClient: $this->createMock(AccountClient::class),
newsletterManager: $this->createMock(NewsletterManager::class),
);
$controller->apiClient
$controller->accountClient
->expects(self::once())
->method('getPersonalData')
->with('[email protected]', 'secret')
@@ -59,10 +59,10 @@ class PersonalDataControllerTest extends TestCase
public function testIndexStillTracksPendingNewsletterConfirmationWhenSubscribed(): void
{
$controller = $this->createController(
apiClient: $this->createMock(ApiClient::class),
accountClient: $this->createMock(AccountClient::class),
newsletterManager: $this->createMock(NewsletterManager::class),
);
$controller->apiClient
$controller->accountClient
->expects(self::once())
->method('getPersonalData')
->with('[email protected]', 'secret')
@@ -89,10 +89,10 @@ class PersonalDataControllerTest extends TestCase
public function testNewsletterActionReturnsHtmxRedirectAndFlash(): void
{
$controller = $this->createController(
apiClient: $this->createMock(ApiClient::class),
accountClient: $this->createMock(AccountClient::class),
newsletterManager: $this->createMock(NewsletterManager::class),
);
$controller->apiClient
$controller->accountClient
->expects(self::once())
->method('getPersonalData')
->with('[email protected]', 'secret')
@@ -132,10 +132,10 @@ class PersonalDataControllerTest extends TestCase
public function testNewsletterActionResendsPendingConfirmation(): void
{
$controller = $this->createController(
apiClient: $this->createMock(ApiClient::class),
accountClient: $this->createMock(AccountClient::class),
newsletterManager: $this->createMock(NewsletterManager::class),
);
$controller->apiClient
$controller->accountClient
->expects(self::once())
->method('getPersonalData')
->with('[email protected]', 'secret')
@@ -170,7 +170,7 @@ class PersonalDataControllerTest extends TestCase
public function testIndexLocksTheEmailField(): void
{
$controller = $this->createController();
$controller->apiClient
$controller->accountClient
->method('getPersonalData')
->willReturn($this->createPersonalData('Mia', 'Muster'));
@@ -186,14 +186,14 @@ class PersonalDataControllerTest extends TestCase
public function testIndexDoesNotSubmitTheFormWhenPersonalDataCouldNotBeLoaded(): void
{
$controller = $this->createController(
apiClient: $this->createMock(ApiClient::class),
accountClient: $this->createMock(AccountClient::class),
form: $this->createMock(FormInterface::class),
);
$controller->apiClient
$controller->accountClient
->expects(self::once())
->method('getPersonalData')
->willReturn(new Notification(500, 'no such customer'));
$controller->apiClient
$controller->accountClient
->expects(self::never())
->method('updatePersonalData');
@@ -214,7 +214,7 @@ class PersonalDataControllerTest extends TestCase
* expectations on, and reaches it again through the controller's public property.
*/
private function createController(
?ApiClient $apiClient = null,
?AccountClient $accountClient = null,
?NewsletterManager $newsletterManager = null,
?FormInterface $form = null,
): TestablePersonalDataController {
@@ -236,7 +236,7 @@ class PersonalDataControllerTest extends TestCase
->willReturn(false);
return new TestablePersonalDataController(
$apiClient ?? $this->createStub(ApiClient::class),
$accountClient ?? $this->createStub(AccountClient::class),
$crypt,
$this->createStub(BookingEditDataLoader::class),
$this->createStub(ProfileCompletenessChecker::class),
@@ -281,7 +281,7 @@ final class TestablePersonalDataController extends PersonalDataController
public array $createFormOptions = [];
public function __construct(
public readonly ApiClient $apiClient,
public readonly AccountClient $accountClient,
Crypt $crypt,
BookingEditDataLoader $dataLoader,
ProfileCompletenessChecker $completenessChecker,
@@ -292,7 +292,7 @@ final class TestablePersonalDataController extends PersonalDataController
public readonly FormInterface $form,
) {
parent::__construct(
$apiClient,
$accountClient,
$crypt,
$dataLoader,
$completenessChecker,