/**
  * Tests generated URLs for all endpoints
  */
 public function testGeneratedUrls()
 {
     // we're not using @dataProvider so we can access class props
     $host = 'https://api.bestbuy.com';
     $callsAndUrls = [["{$host}/v1/products(sku%20in(4312001))+stores(storeId%20in(611))?apiKey={$this->apiKey}&format=json", $this->client->availability(4312001, 611)], ["{$host}/v1/products(sku%20in(4312001,6120183))+stores(storeId%20in(611,482))?apiKey={$this->apiKey}&format=json", $this->client->availability([4312001, 6120183], [611, 482])], ["{$host}/v1/products(name=Star*)+stores(area(55347,%2025))?apiKey={$this->apiKey}&format=json", $this->client->availability('name=Star*', 'area(55347, 25)')], ["{$host}/v1/products(fdafsd)+stores(storeId%20in(611))?apiKey={$this->apiKey}&format=json", $this->client->availability('fdafsd', 611)], ["{$host}/v1/categories?apiKey={$this->apiKey}&format=json", $this->client->categories()], ["{$host}/v1/categories/cat00000.json?apiKey={$this->apiKey}", $this->client->categories('cat00000')], ["{$host}/v1/categories(name=Home*)?apiKey={$this->apiKey}&format=json", $this->client->categories('name=Home*')], ["{$host}/beta/products/openBox?apiKey={$this->apiKey}&format=json", $this->client->openBox()], ["{$host}/beta/products/2206525/openBox?apiKey={$this->apiKey}&format=json", $this->client->openBox(2206525)], ["{$host}/beta/products/openBox(sku%20in(8610161,2206525))?apiKey={$this->apiKey}&format=json", $this->client->openBox([8610161, 2206525])], ["{$host}/beta/products/openBox(categoryId=abcat0400000)?apiKey={$this->apiKey}&format=json", $this->client->openBox('categoryId=abcat0400000')], ["{$host}/v1/products?apiKey={$this->apiKey}&format=json", $this->client->products()], ["{$host}/v1/products/4312001.json?apiKey={$this->apiKey}", $this->client->products('4312001')], ["{$host}/v1/products(name=Star*)?apiKey={$this->apiKey}&format=json", $this->client->products('name=Star*')], ["{$host}/beta/products/trendingViewed?apiKey={$this->apiKey}&format=json", $this->client->recommendations(Client::RECOMMENDATIONS_TRENDING)], ["{$host}/beta/products/trendingViewed(categoryId=abcat0400000)?apiKey={$this->apiKey}&format=json", $this->client->recommendations(Client::RECOMMENDATIONS_TRENDING, 'abcat0400000')], ["{$host}/beta/products/6354884/similar?apiKey={$this->apiKey}&format=json", $this->client->recommendations(Client::RECOMMENDATIONS_SIMILAR, 6354884)], ["{$host}/v1/reviews?apiKey={$this->apiKey}&format=json", $this->client->reviews()], ["{$host}/v1/reviews/69944141.json?apiKey={$this->apiKey}", $this->client->reviews('69944141')], ["{$host}/v1/reviews(comment=purchase*)?apiKey={$this->apiKey}&format=json", $this->client->reviews('comment=purchase*')], ["{$host}/v1/stores?apiKey={$this->apiKey}&format=json", $this->client->stores()], ["{$host}/v1/stores/611.json?apiKey={$this->apiKey}", $this->client->stores('611')], ["{$host}/v1/stores(name=eden%20prairie)?apiKey={$this->apiKey}&format=json", $this->client->stores('name=eden prairie')]];
     foreach ($callsAndUrls as $callAndUrl) {
         $this->assertEquals($callAndUrl[0], $callAndUrl[1]);
     }
 }
 /**
  * Verifies open box endpoint
  */
 public function testOpenBox()
 {
     $openBox = $this->client->openBox(6354884);
     $this->assertEquals("https://api.bestbuy.com/beta/products/6354884/openBox?apiKey={$_SERVER['BBY_API_KEY']}", $openBox->metadata->context->canonicalUrl);
     $this->throttle();
 }