Skip to content

Commit 71e4208

Browse files
authored
Add support for an additional address line (#49)
1 parent 8db5e69 commit 71e4208

3 files changed

Lines changed: 22 additions & 0 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ $parcel = new \Mvdnbrk\DhlParcel\Resources\Parcel([
5353
'sender' => [
5454
'company_name' => 'Your Company Name',
5555
'street' => 'Pakketstraat',
56+
'additional_address_line' => 'Industrie 9999',
5657
'number' => '99',
5758
'postal_code' => '9999AA',
5859
'city' => 'Amsterdam',

src/Resources/Address.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ class Address extends BaseResource
1111
*/
1212
public $street;
1313

14+
/**
15+
* @var string
16+
*/
17+
public $additional_address_line;
18+
1419
/**
1520
* @var int|string
1621
*/
@@ -120,6 +125,11 @@ public function toArray()
120125
->put('addition', $this->number_suffix)
121126
->forget('number_suffix');
122127
})
128+
->when(! empty($this->additional_address_line), function ($collection) {
129+
return $collection
130+
->put('additionalAddressLine', $this->additional_address_line)
131+
->forget('additional_address_line');
132+
})
123133
->put('postalCode', $this->postal_code)
124134
->put('countryCode', $this->cc)
125135
->forget('postal_code')

tests/Unit/Resources/AddressTest.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ private function validParams($overrides = [])
1111
{
1212
return array_merge([
1313
'street' => 'Poststraat',
14+
'additional_address_line' => 'Industrie 9999',
1415
'number' => '1',
1516
'number_suffix' => 'A',
1617
'postal_code' => '1234AA',
@@ -25,6 +26,7 @@ public function creating_a_valid_address_resource()
2526
{
2627
$address = new Address([
2728
'street' => 'Poststraat',
29+
'additional_address_line' => 'Industrie 9999',
2830
'number' => '1',
2931
'number_suffix' => 'A',
3032
'postal_code' => '1234AA',
@@ -34,6 +36,7 @@ public function creating_a_valid_address_resource()
3436
]);
3537

3638
$this->assertEquals('Poststraat', $address->street);
39+
$this->assertEquals('Industrie 9999', $address->additional_address_line);
3740
$this->assertEquals('1', $address->number);
3841
$this->assertEquals('A', $address->number_suffix);
3942
$this->assertEquals('1234AA', $address->postal_code);
@@ -110,6 +113,7 @@ public function to_array()
110113
{
111114
$attributes = [
112115
'street' => 'Poststraat',
116+
'additional_address_line' => 'Industrie 9999',
113117
'number' => '1',
114118
'number_suffix' => 'A',
115119
'postal_code' => '1234AA',
@@ -125,10 +129,12 @@ public function to_array()
125129
$this->assertIsArray($array);
126130
$this->assertFalse($array['isBusiness']);
127131
$this->assertEquals('Poststraat', $array['street']);
132+
$this->assertEquals('Industrie 9999', $array['additionalAddressLine']);
128133
$this->assertEquals('1', $array['number']);
129134
$this->assertEquals('A', $array['addition']);
130135
$this->assertEquals('1234AA', $array['postalCode']);
131136
$this->assertEquals('NL', $array['countryCode']);
137+
$this->assertArrayNotHasKey('additional_address_line', $array);
132138
$this->assertArrayNotHasKey('number_suffix', $array);
133139
$this->assertArrayNotHasKey('postal_code', $array);
134140
$this->assertArrayNotHasKey('cc', $array);
@@ -137,5 +143,10 @@ public function to_array()
137143
$array = $address->toArray();
138144
$this->assertArrayNotHasKey('addition', $array);
139145
$this->assertArrayNotHasKey('number_suffix', $array);
146+
147+
$address->additional_address_line = null;
148+
$array = $address->toArray();
149+
$this->assertArrayNotHasKey('additionalAddressLine', $array);
150+
$this->assertArrayNotHasKey('additional_address_line', $array);
140151
}
141152
}

0 commit comments

Comments
 (0)