public function testFilter() { $usersRequest = new UList(); $filterValue = array('Snicksnk@gmail.com, "*****@*****.**'); $usersRequest->addFilter(UList::ROW_EMAIL, $filterValue); $this->assertEquals(array(UList::ROW_EMAIL => $filterValue), $usersRequest->getFilters()); }
<?php //Кодировка utf-8 //Конструкция use должна быть в самом начале (но после namespace) use MaitavrApi\Api; use MaitavrApi\Request\Users\Count; use MaitavrApi\Request\Users\UList; //Подключаем автолоадер, если не используется composer (нужно поправить путь к этому файлу на вашем сайте) require_once __DIR__ . '/maitavr-api/src/Tools/CompleteAutoloader.php'; //Создаем инстанс API класса (логин, Секретный ключ) $api = new Api('testapi', 'test12345678'); //Создаем объект запроса списка пользователей $request = new UList(array(UList::ROW_FIRSTNAME, UList::ROW_LASTNAME, UList::ROW_COUNTRY)); $request->addFilter('emails', array('*****@*****.**', '*****@*****.**')); //Выполняем запрос, получаем ответ в виде массива $response = $api->request($request); //Выводим массив с ответом var_dump($response);
[0] => string(26) "http://test.com.ru/sidorov" } 'maitavrProfile' => string(32) "https://maitavr.org/user/sidorov" 'photoUrl' => string(35) "https://maitavr.org/uploads/_42.jpg" 'site' => string(10) "google.com" 'seo' => string(7) "sidorov" } } */ //Запрос нескольких пользователей с фильтром по email адресу $usersRequestWithFilter = new UList(); $usersRequestWithFilter->addFilter('emails', array('*****@*****.**', '*****@*****.**')); $responseWithEmailFilter = $api->request($usersRequestWithFilter); var_dump($responseWithEmailFilter); /** array(2) { [0] => array(15) { 'firstname' => string(18) "Александр" 'fathername' => string(16) "Иванович" 'lastname' => string(12) "Галкин" 'bday' => string(9) "564958800"
public function testRequestWithFilter() { $requestData = json_decode('{ "login": "******", "secretKey": "key", "rows": [ "firstname", "lastname", "bday", "country" ], "emails": [ "*****@*****.**", "*****@*****.**" ] }', true); $responseData = json_decode('[ { "firstname": "Александр", "lastname": "Галкин", "bday": "564958800", "country": "Украина" }, { "firstname": "Дмитрий", "lastname": "Образцов", "bday": "327186000", "country": "Россия" }]', true); $transportMock = $this->getMockBuilder('MaitavrApi\\Transport\\TransportInterface')->setMethods(array('performRequest'))->getMock(); $transportMock->expects($this->once())->method('performRequest')->with($this->equalTo('https://maitavr.org/subsystem/partners/api/usersList'), $this->equalTo(json_encode($requestData)))->will($this->returnValue(json_encode($responseData))); $api = new Api('login', 'key'); $api->setTransport($transportMock); $rowsSet = new UList(array(UList::ROW_FIRSTNAME, UList::ROW_LASTNAME, UList::ROW_BDAY, UList::ROW_COUNTRY)); $rowsSet->addFilter(UList::FILTER_EMAIL, array("*****@*****.**", "*****@*****.**")); $response = $api->request($rowsSet); $this->assertEquals($responseData, $response); }