diff --git a/resources/service.php b/resources/service.php index 80687d7..258222d 100644 --- a/resources/service.php +++ b/resources/service.php @@ -468,6 +468,28 @@ 'required' => false ] ] + ], + 'getWantlist' => [ + 'httpMethod' => 'GET', + 'uri' => 'users/{username}/wants', + 'responseModel' => 'GetResponse', + 'parameters' => [ + 'username' => [ + 'type' => 'string', + 'location' => 'uri', + 'required' => true + ], + 'per_page' => [ + 'type' => 'integer', + 'location' => 'query', + 'required' => false + ], + 'page' => [ + 'type' => 'integer', + 'location' => 'query', + 'required' => false + ] + ] ] ], 'models' => [ diff --git a/tests/Discogs/Test/ClientTest.php b/tests/Discogs/Test/ClientTest.php index e651a0c..e89ca31 100644 --- a/tests/Discogs/Test/ClientTest.php +++ b/tests/Discogs/Test/ClientTest.php @@ -340,6 +340,23 @@ public function testGetCollectionItemsByFolder() $this->assertSame('GET', $history->getLastRequest()->getMethod()); } + public function testGetWantlist() + { + $history = new History(); + $client = $this->createClient('get_wantlist', $history); + $response = $client->getWantlist([ + 'username' => 'Rock_it_science', + 'per_page' => 25, + 'page' => 1 + ]); + + $this->assertArrayHasKey('pagination', $response); + $this->assertArrayHasKey('releases', $response); + $this->assertCount(25, $response['releases']); + $this->assertSame('https://www.discogs.com/mywantlist?page=1&limit=25', $history->getLastRequest()->getUrl()); + $this->assertSame('GET', $history->getLastRequest()->getMethod()); + } + protected function createClient($mock, History $history) { $path = sprintf('%s/../../fixtures/%s', __DIR__, $mock);