->execute();
$this->assertCount(1, $addr);
$this->assertEquals('Hello', $contact['address_billing.city']);
+ $this->assertEquals(1001, $contact['address_billing.state_province_id']);
$this->assertEquals(1228, $contact['address_billing.country_id']);
$emails = Email::get(FALSE)
->addWhere('contact_id', '=', $contact['id'])
$this->assertEquals('b@test.com', $contact['email_billing.email']);
}
+ /**
+ * This is the same as testCreateWithPrimaryAndBilling, but the ambiguous
+ * state "AK" is resolved within a different country "NG".
+ */
+ public function testCreateWithPrimaryAndBilling_Nigeria() {
+ $contact = $this->createTestRecord('Contact', [
+ 'email_primary.email' => 'a@test.com',
+ 'email_billing.email' => 'b@test.com',
+ 'address_billing.city' => 'Hello',
+ 'address_billing.state_province_id:abbr' => 'AK',
+ 'address_billing.country_id:abbr' => 'NG',
+ ]);
+ $addr = Address::get(FALSE)
+ ->addWhere('contact_id', '=', $contact['id'])
+ ->execute();
+ $this->assertCount(1, $addr);
+ $this->assertEquals('Hello', $contact['address_billing.city']);
+ $this->assertEquals(3885, $contact['address_billing.state_province_id']);
+ $this->assertEquals(1157, $contact['address_billing.country_id']);
+ $emails = Email::get(FALSE)
+ ->addWhere('contact_id', '=', $contact['id'])
+ ->execute();
+ $this->assertCount(2, $emails);
+ $this->assertEquals('a@test.com', $contact['email_primary.email']);
+ $this->assertEquals('b@test.com', $contact['email_billing.email']);
+ }
+
public function testUpdateDeletePrimaryAndBilling() {
$contact = $this->createTestRecord('Contact', [
'phone_primary.phone' => '12345',