public function testDatasetsLoadData()
 {
     $pid = Helper::getSomeProject();
     Helper::initProjectModel($pid);
     Helper::loadData($pid);
     $timestamp = time();
     $dirName = uniqid();
     $webDav = new WebDav(KBGDC_USERNAME, KBGDC_PASSWORD);
     $webDav->createFolder($dirName);
     $webDav->upload(__DIR__ . '/../../data/categories.csv', $dirName);
     $webDav->upload(__DIR__ . '/../../data/products.csv', $dirName);
     $webDav->upload(__DIR__ . '/../../data/upload_info.json', $dirName);
     $this->client->getDatasets()->loadData($pid, $dirName);
     $result = $this->client->get("/gdc/md/{$pid}/data/sets");
     $categoriesFound = false;
     $productsFound = false;
     foreach ($result['dataSetsInfo']['sets'] as $d) {
         if ($d['meta']['title'] == 'Categories') {
             $categoriesFound = true;
             $this->assertGreaterThan($timestamp, strtotime($d['lastUpload']['dataUploadShort']['date']));
         }
         if ($d['meta']['title'] == 'Products') {
             $productsFound = true;
             $this->assertGreaterThan($timestamp, strtotime($d['lastUpload']['dataUploadShort']['date']));
         }
     }
     $this->assertTrue($categoriesFound);
     $this->assertTrue($productsFound);
 }
 public function testFiltersGetForUser()
 {
     $pid = Helper::getSomeProject();
     Helper::initProjectModel($pid);
     Helper::loadData($pid);
     $user = Helper::getSomeUser();
     $filter1 = uniqid();
     $filter2 = uniqid();
     $attrIdentifier = Identifiers::getAttributeId("categories", "id");
     $attrUri = $this->client->getDatasets()->getUriForIdentifier($pid, $attrIdentifier);
     $attrValueUri = $this->client->getDatasets()->getAttributeValueUri($pid, $attrIdentifier, 'c1');
     $uri1 = $this->client->getFilters()->create($pid, $filter1, $attrUri, '=', $attrValueUri);
     $uri2 = $this->client->getFilters()->create($pid, $filter2, $attrUri, '=', $attrValueUri);
     $this->client->getFilters()->assignToUser($pid, $user['uid'], [$uri1, $uri2]);
     $filters = new Filters($this->client);
     $this->assertEquals([$uri1, $uri2], $filters->getForUser($pid, $user['uid']), '', 0, 10, true);
 }