diff --git a/tests/Api/Suppression/UnsubscribeTest.php b/tests/Api/Suppression/UnsubscribeTest.php new file mode 100644 index 0000000..d048f7c --- /dev/null +++ b/tests/Api/Suppression/UnsubscribeTest.php @@ -0,0 +1,89 @@ + + */ +class UnsubscribeTest extends TestCase +{ + public function testIndex() + { + $this->setRequestMethod('GET'); + $this->setRequestUri('/v3/example.com/unsubscribes?limit=100'); + $this->setHydrateClass(IndexResponse::class); + + $api = $this->getApiInstance(); + $api->index('example.com'); + } + + public function testShow() + { + $this->setRequestMethod('GET'); + $this->setRequestUri('/v3/example.com/unsubscribes/foo@bar.com'); + $this->setHydrateClass(ShowResponse::class); + + $api = $this->getApiInstance(); + $api->show('example.com', 'foo@bar.com'); + } + + public function testCreate() + { + $this->setRequestMethod('POST'); + $this->setRequestUri('/v3/example.com/unsubscribes'); + $this->setHydrateClass(CreateResponse::class); + $this->setRequestBody([ + 'address' => 'foo@bar.com', + ]); + + $api = $this->getApiInstance(); + $api->create('example.com', 'foo@bar.com'); + } + + + public function testDelete() + { + $this->setRequestMethod('DELETE'); + $this->setRequestUri('/v3/example.com/unsubscribes/foo@bar.com'); + $this->setHydrateClass(DeleteResponse::class); + + $api = $this->getApiInstance(); + $api->delete('example.com', 'foo@bar.com'); + } + + public function testDeleteAll() + { + $this->setRequestMethod('DELETE'); + $this->setRequestUri('/v3/example.com/unsubscribes'); + $this->setHydrateClass(DeleteResponse::class); + + $api = $this->getApiInstance(); + $api->deleteAll('example.com'); + } + + /** + * {@inheritdoc} + */ + protected function getApiClass() + { + return Unsubscribe::class; + } +}