public function testCollectionFetchAndGeocodeFetchForAddress() { $super = User::getByUsername('super'); Yii::app()->user->userModel = $super; $address = array(); $address['street1'] = '123 Knob Street'; $address['street2'] = 'Apartment 4b'; $address['city'] = 'Chicago'; $address['state'] = 'Illinois'; $address['postalCode'] = '60606'; $address['country'] = 'USA'; $account1 = AddressGeoCodeTestHelper::createTestAccountsWithBillingAddressAndGetAccount($address, $super); $accountId1 = $account1->id; unset($account1); $address = array(); $address['street1'] = '1600 Amphitheatre Parkway'; $address['street2'] = ''; $address['city'] = 'Mountain View'; $address['state'] = 'California'; $address['postalCode'] = '94043'; $address['country'] = 'USA'; $account2 = AddressGeoCodeTestHelper::createTestAccountsWithBillingAddressAndGetAccount($address, $super); $accountId2 = $account2->id; unset($account2); $address = array(); $address['street1'] = '36826 East Oak Road'; $address['street2'] = ''; $address['city'] = 'New York'; $address['state'] = 'NY'; $address['postalCode'] = '10001'; $address['country'] = 'USA'; $account3 = AddressGeoCodeTestHelper::createTestAccountsWithBillingAddressAndGetAccount($address, $super); $accountId3 = $account3->id; unset($account3); $address = array(); $address['street1'] = '24948 West Thomas Trail'; $address['street2'] = ''; $address['city'] = 'Milwaukee'; $address['state'] = 'WI'; $address['postalCode'] = '53219'; $address['country'] = ''; $account4 = AddressGeoCodeTestHelper::createTestAccountsWithBillingAddressAndGetAccount($address, $super); $accountId4 = $account4->id; unset($account4); $account1 = Account::getById($accountId1); $this->assertEquals(null, $account1->billingAddress->latitude); $this->assertEquals(null, $account1->billingAddress->longitude); $this->assertEquals(0, $account1->billingAddress->invalid); $account2 = Account::getById($accountId2); $this->assertEquals(null, $account2->billingAddress->latitude); $this->assertEquals(null, $account2->billingAddress->longitude); $this->assertEquals(0, $account2->billingAddress->invalid); $account3 = Account::getById($accountId3); $this->assertEquals(null, $account3->billingAddress->latitude); $this->assertEquals(null, $account3->billingAddress->longitude); $this->assertEquals(0, $account3->billingAddress->invalid); $account4 = Account::getById($accountId4); $this->assertEquals(null, $account4->billingAddress->latitude); $this->assertEquals(null, $account4->billingAddress->longitude); $this->assertEquals(0, $account4->billingAddress->invalid); $addressCollection = AddressMappingUtil::fetchChangedAddressCollection(2); $this->assertEquals(2, count($addressCollection)); $account1 = Account::getById($accountId1); $addressString = $account1->billingAddress->makeAddress(); $latitudeLongitudeCoordinates = AddressMappingUtil::fetchGeocodeForAddress($addressString); $this->assertTrue(is_array($latitudeLongitudeCoordinates)); $this->assertEquals(2, count($latitudeLongitudeCoordinates)); $this->assertTrue(isset($latitudeLongitudeCoordinates['latitude'])); $this->assertTrue(isset($latitudeLongitudeCoordinates['longitude'])); $this->assertEquals(round('41.8817767', 4), round($latitudeLongitudeCoordinates['latitude'], 4)); $this->assertEquals(round('-87.6371461', 4), round($latitudeLongitudeCoordinates['longitude'], 4)); }