diff --git a/lib/API/MP/v1/API.php b/lib/API/MP/v1/API.php index 0774f55ff7..f5cc3d866b 100644 --- a/lib/API/MP/v1/API.php +++ b/lib/API/MP/v1/API.php @@ -42,7 +42,7 @@ class API { } function subscribeToLists($subscriber_id, array $segments_ids) { - $subscriber = Subscriber::findOne((int)$subscriber_id); + $subscriber = Subscriber::findOne($subscriber_id); // throw exception when subscriber does not exist if(!$subscriber) { throw new \Exception(__('This subscriber does not exist.', 'mailpoet')); @@ -69,7 +69,8 @@ class API { throw new \Exception(__(sprintf('Lists with ID %s do not exist.', implode(', ', $missing_ids)), 'mailpoet')); } - return SubscriberSegment::subscribeToSegments($subscriber, $found_segments_ids); + SubscriberSegment::subscribeToSegments($subscriber, $found_segments_ids); + return $subscriber->withCustomFields()->withSubscriptions()->asArray(); } function getLists() { diff --git a/tests/unit/API/MP/APITest.php b/tests/unit/API/MP/APITest.php index 5c35c2bef2..336c9643ab 100644 --- a/tests/unit/API/MP/APITest.php +++ b/tests/unit/API/MP/APITest.php @@ -113,11 +113,8 @@ class MPAPITest extends MailPoetTest { ) ); $result = API::MP(self::VERSION)->subscribeToLists($subscriber->id, array($segment->id)); - expect($result)->true(); - $subscriber_segment = SubscriberSegment::where('subscriber_id', $subscriber->id) - ->where('segment_id', $segment->id) - ->findOne(); - expect($subscriber_segment)->notEmpty(); + expect($result['id'])->equals($subscriber->id); + expect($result['subscriptions'][0]['id'])->equals($segment->id); } function testItSubscribesSubscriberToSingleList() { @@ -131,11 +128,9 @@ class MPAPITest extends MailPoetTest { ) ); $result = API::MP(self::VERSION)->subscribeToList($subscriber->id, $segment->id); - expect($result)->true(); - $subscriber_segment = SubscriberSegment::where('subscriber_id', $subscriber->id) - ->where('segment_id', $segment->id) - ->findOne(); - expect($subscriber_segment)->notEmpty(); + expect($result['id'])->equals($subscriber->id); + expect($result['subscriptions'])->notEmpty(); + expect($result['subscriptions'][0]['id'])->equals($segment->id); } function testItGetsSegments() {