public function testMapperJoinsLocationSearchFilterStatusesArray() { $filter = new \Paysera_WalletApi_Entity_Location_SearchFilter(); $filter->setStatuses(array('a', 'b')); $mapper = new \Paysera_WalletApi_Mapper(); $encoded = $mapper->encodeLocationFilter($filter); $statuses = explode(',', $encoded['status']); $this->assertCount(2, $statuses); $this->assertContains('a', $statuses); $this->assertContains('b', $statuses); }
/** * @param Paysera_WalletApi_Entity_Location_SearchFilter $filter * @return array */ public function encodeLocationFilter(Paysera_WalletApi_Entity_Location_SearchFilter $filter) { $data = array(); if ($filter->getLimit() !== null) { $data['limit'] = $filter->getLimit(); } if ($filter->getOffset() !== null) { $data['offset'] = $filter->getOffset(); } if ($filter->getLat() !== null && $filter->getLng() !== null) { $data['lat'] = $filter->getLat(); $data['lng'] = $filter->getLng(); if ($filter->getDistance() !== null) { $data['distance'] = $filter->getDistance(); } } if (count($filter->getStatuses()) > 0) { $data['status'] = implode(',', $filter->getStatuses()); } if ($filter->getUpdatedAfter() !== null) { $data['updated_after'] = $filter->getUpdatedAfter()->getTimestamp(); } if ($filter->getPayCategory() !== null) { $data['pay_category'] = implode(',', $filter->getPayCategory()); } if ($filter->getLocationServices() !== null) { $data['service'] = implode(',', $filter->getLocationServices()); } return $data; }