getMockBuilder(HttpClientInterface::class)->getMock(); $serializerMock = $this->getMockBuilder(SerializerInterface::class)->getMock(); $sut = new OrderService($httpClientMock, $serializerMock); $httpClientMock->expects($this->once())->method('request')->with('POST', '/order'); $order = new AcceptOrderCommand( $this->createValidOrderDto(), $this->createClient(balance: 10000) ); $sut->acceptOrder($order); } private function createClient(int $balance): Client { return new Client( clientId: Uuid::fromRfc4122(self::CLIENT_ID), name: 'Stub', initialBalance: $balance, currentBalance: $balance ); } }