public function test1() { $param = new ByTimeParams(); $param->setDimensions(['12', '13'])->setLimit(10); $expected = ['dimensions' => '12,13', 'limit' => 10]; $this->assertEquals($expected, $param->toArray()); }
/** * Get data by time * * @see http://api.yandex.ru/metrika/doc/beta/api_v1/bytime.xml * * @param Models\ByTimeParams $params * @return Models\ByTimeData */ public function getByTime(Models\ByTimeParams $params) { $resource = 'bytime'; $response = $this->sendGetRequest($resource, $params->toArray()); $dataResponse = new Models\ByTimeData($response); return $dataResponse; }
public function testGenerateRequest() { $id = 123; $limit = 100; $dimensions = ['dimension1', 'deimension2']; $sort = 'sort'; $filter = 'a<b'; $byTimeParams = new Models\ByTimeParams(); $byTimeParams->setId($id)->setLimit($limit)->setDimensions($dimensions)->setSort($sort)->setFilters($filter)->setMetrics(null); $client = new DataClient(); $url = $client->getServiceUrl('bytime', $byTimeParams->toArray()); $expectedUrl = 'https://api-metrika.yandex.ru/stat/v1/data/bytime.json?oauth_token=&id=' . $id . '&dimensions=' . urlencode(implode(',', $dimensions)) . '&sort=' . $sort . '&limit=' . $limit . '&filters=' . urlencode($filter); $this->assertEquals($expectedUrl, $url); }
public function testGet() { $fixtures = Stat::$byTimeParamsFixtures; $byTimeParams = new Models\ByTimeParams(); $byTimeParams->setId($fixtures['id'])->setPreset($fixtures['preset'])->setDimensions($fixtures['dimensions'])->setMetrics($fixtures['metrics'])->setSort($fixtures['sort'])->setLimit($fixtures['limit'])->setOffset($fixtures['offset'])->setDate1($fixtures['date1'])->setDate2($fixtures['date2'])->setFilters($fixtures['filters'])->setAccuracy($fixtures['accuracy'])->setCallback($fixtures['callback'])->setIncludeUndefined($fixtures['include_undefined'])->setLang($fixtures['lang'])->setPretty($fixtures['pretty'])->setGroup($fixtures['group'])->setRowIds($fixtures['row_ids'])->setTopKeys($fixtures['top_keys']); $this->assertEquals($fixtures['id'], $byTimeParams->getId()); $this->assertEquals($fixtures['preset'], $byTimeParams->getPreset()); $this->assertEquals($fixtures['dimensions'], $byTimeParams->getDimensions()); $this->assertEquals($fixtures['metrics'], $byTimeParams->getMetrics()); $this->assertEquals($fixtures['sort'], $byTimeParams->getSort()); $this->assertEquals($fixtures['limit'], $byTimeParams->getLimit()); $this->assertEquals($fixtures['offset'], $byTimeParams->getOffset()); $this->assertEquals($fixtures['date1'], $byTimeParams->getDate1()); $this->assertEquals($fixtures['date2'], $byTimeParams->getDate2()); $this->assertEquals($fixtures['filters'], $byTimeParams->getFilters()); $this->assertEquals($fixtures['accuracy'], $byTimeParams->getAccuracy()); $this->assertEquals($fixtures['callback'], $byTimeParams->getCallback()); $this->assertEquals($fixtures['include_undefined'], $byTimeParams->getIncludeUndefined()); $this->assertEquals($fixtures['lang'], $byTimeParams->getLang()); $this->assertEquals($fixtures['pretty'], $byTimeParams->getPretty()); $this->assertEquals($fixtures['group'], $byTimeParams->getGroup()); $this->assertEquals($fixtures['row_ids'], $byTimeParams->getRowIds()); $this->assertEquals($fixtures['top_keys'], $byTimeParams->getTopKeys()); }