| @@ 144-168 (lines=25) @@ | ||
| 141 | } |
|
| 142 | ||
| 143 | /** @test */ |
|
| 144 | public function it_can_subscribe_or_update_someone() |
|
| 145 | { |
|
| 146 | $email = '[email protected]'; |
|
| 147 | ||
| 148 | $url = 'lists/123/members'; |
|
| 149 | ||
| 150 | $subscriberHash = 'abc123'; |
|
| 151 | ||
| 152 | $this->mailChimpApi->shouldReceive('success')->andReturn(true); |
|
| 153 | $this->mailChimpApi->shouldReceive('subscriberHash') |
|
| 154 | ->once() |
|
| 155 | ->withArgs([$email]) |
|
| 156 | ->andReturn($subscriberHash); |
|
| 157 | ||
| 158 | $this->mailChimpApi->shouldReceive('put')->withArgs([ |
|
| 159 | "{$url}/{$subscriberHash}", |
|
| 160 | [ |
|
| 161 | 'email_address' => $email, |
|
| 162 | 'status' => 'subscribed', |
|
| 163 | 'email_type' => 'html', |
|
| 164 | ], |
|
| 165 | ]); |
|
| 166 | ||
| 167 | $this->newsletter->subscribeOrUpdate($email); |
|
| 168 | } |
|
| 169 | ||
| 170 | /** @test */ |
|
| 171 | public function it_throws_an_exception_if_subscribing_or_updating_someone_fails() |
|
| @@ 284-310 (lines=27) @@ | ||
| 281 | } |
|
| 282 | ||
| 283 | /** @test */ |
|
| 284 | public function it_can_subscribe_or_update_someone_to_an_alternative_list() |
|
| 285 | { |
|
| 286 | $email = '[email protected]'; |
|
| 287 | ||
| 288 | $url = 'lists/456/members'; |
|
| 289 | ||
| 290 | $subscriberHash = 'abc123'; |
|
| 291 | ||
| 292 | $this->mailChimpApi->shouldReceive('success')->andReturn(true); |
|
| 293 | $this->mailChimpApi->shouldReceive('subscriberHash') |
|
| 294 | ->once() |
|
| 295 | ->withArgs([$email]) |
|
| 296 | ->andReturn($subscriberHash); |
|
| 297 | ||
| 298 | $this->mailChimpApi->shouldReceive('put') |
|
| 299 | ->once() |
|
| 300 | ->withArgs([ |
|
| 301 | "{$url}/{$subscriberHash}", |
|
| 302 | [ |
|
| 303 | 'email_address' => $email, |
|
| 304 | 'status' => 'subscribed', |
|
| 305 | 'email_type' => 'html', |
|
| 306 | ], |
|
| 307 | ]); |
|
| 308 | ||
| 309 | $this->newsletter->subscribeOrUpdate($email, [], 'list2'); |
|
| 310 | } |
|
| 311 | ||
| 312 | /** @test */ |
|
| 313 | public function it_can_override_the_defaults_when_subscribing_someone() |
|