/**
  * @param \Magento\Framework\DataObject $paymentObject
  * @param int $storeId
  * @return array
  * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
  */
 protected function setupPaymentObject(\Magento\Framework\DataObject $paymentObject, $storeId)
 {
     $customerId = '12';
     $customerEmail = '*****@*****.**';
     $company = 'NA';
     $phone = '3316655';
     $fax = '3316677';
     $orderId = '100000024';
     $street = '1201 N 1st Stree';
     $street2 = 'build 45';
     $city = 'San Jose';
     $region = 'California';
     $regionCode = 'CA';
     $regionId = 65;
     $postcode = '63241';
     $countryId = 'US';
     $addressData = ['firstname' => self::FNAME, 'lastname' => self::LNAME, 'company' => $company, 'telephone' => $phone, 'fax' => $fax, 'street' => [$street, $street2], 'city' => $city, 'region' => $region, 'region_id' => $regionId, 'postcode' => $postcode, 'country_id' => $countryId, 'address_type' => 'billing'];
     $billingAddress = new \Magento\Framework\DataObject($addressData);
     $addressData['address_type'] = 'shipping';
     $shippingAddress = new \Magento\Framework\DataObject($addressData);
     $order = $this->setupOrderMock($billingAddress, $shippingAddress, $customerEmail, $orderId, $customerId, $storeId);
     $paymentObject->setOrder($order);
     $this->helperMock->expects($this->once())->method('generateCustomerId')->with($customerId, $customerEmail)->willReturn(self::CUSTOMER_ID);
     $regionMock = $this->getMockBuilder('Magento\\Directory\\Model\\Region')->disableOriginalConstructor()->setMethods(['getId', 'getCode', 'load'])->getMock();
     $regionMock->expects($this->any())->method('getId')->willReturn($regionId);
     $regionMock->expects($this->any())->method('getCode')->willReturn($regionCode);
     $regionMock->expects($this->any())->method('load')->with($regionId)->willReturnSelf();
     $this->regionFactoryMock->expects($this->any())->method('create')->willReturn($regionMock);
     $braintreeAddressData = ['firstName' => self::FNAME, 'lastName' => self::LNAME, 'company' => $company, 'streetAddress' => $street, 'extendedAddress' => $street2, 'locality' => $city, 'region' => $regionCode, 'postalCode' => $postcode, 'countryCodeAlpha2' => $countryId];
     return ['channel' => self::CHANNEL, 'orderId' => $orderId, 'customer' => ['firstName' => self::FNAME, 'lastName' => self::LNAME, 'company' => $company, 'phone' => $phone, 'fax' => $fax, 'email' => $customerEmail], 'billing' => $braintreeAddressData, 'shipping' => $braintreeAddressData];
 }