Skip to content

Commit d8d105a

Browse files
authored
Merge pull request #77 from centraleffects/add-lists-members-events-endpoints
added members events endpoint
2 parents 6ef90c1 + e8a7d23 commit d8d105a

File tree

3 files changed

+64
-0
lines changed

3 files changed

+64
-0
lines changed

src/Resources/Lists/Members.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,4 +82,15 @@ public function tags()
8282
$this->getSettings()
8383
);
8484
}
85+
86+
/**
87+
* @return Members\Events
88+
*/
89+
public function events()
90+
{
91+
return new Members\Events(
92+
$this->getRequest(),
93+
$this->getSettings()
94+
);
95+
}
8596
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
3+
namespace MailchimpAPI\Resources\Lists\Members;
4+
5+
use MailchimpAPI\Requests\MailchimpRequest;
6+
use MailchimpAPI\Resources\ApiResource;
7+
use MailchimpAPI\Settings\MailchimpSettings;
8+
9+
/**
10+
* Class Events
11+
* @package MailchimpAPI\Resources\Lists\Members
12+
*/
13+
class Events extends ApiResource
14+
{
15+
/**
16+
* The url component for this resource
17+
*/
18+
const URL_COMPONENT = '/events/';
19+
20+
/**
21+
* Events constructor.
22+
* @param MailchimpRequest $request
23+
* @param MailchimpSettings|null $settings
24+
*/
25+
public function __construct(MailchimpRequest $request, MailchimpSettings $settings = null)
26+
{
27+
parent::__construct($request, $settings);
28+
$request->appendToEndpoint(self::URL_COMPONENT);
29+
}
30+
}

tests/Lists/Members/EventsTest.php

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
namespace MailchimpTests\Lists\Members;
3+
4+
use MailchimpAPI\Resources\Lists\Members\Events;
5+
use MailchimpAPI\Resources\Lists;
6+
use MailchimpAPI\Resources\Lists\Members;
7+
use MailchimpTests\MailChimpTestCase;
8+
9+
/**
10+
* Class EventsTest
11+
* @package MailchimpTests\Lists\Members
12+
*/
13+
class EventsTest extends MailChimpTestCase
14+
{
15+
public function testCollectionUrl()
16+
{
17+
$this->endpointUrlBuildTest(
18+
Lists::URL_COMPONENT . 1 . Members::URL_COMPONENT . 1 . Events::URL_COMPONENT,
19+
$this->mailchimp->lists(1)->members(1)->events(),
20+
"The Member Events collection endpoint should be constructed correctly"
21+
);
22+
}
23+
}

0 commit comments

Comments
 (0)