<?php declare(strict_types=1); /* * Copyright (C) 2013 Mailgun * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file for details. */ namespace Mailgun\Tests\Api; use Mailgun\Api\Suppression\Unsubscribe; use Mailgun\Model\Suppression\Unsubscribe\CreateResponse; use Mailgun\Model\Suppression\Unsubscribe\DeleteResponse; use Mailgun\Model\Suppression\Unsubscribe\IndexResponse; use Mailgun\Model\Suppression\Unsubscribe\ShowResponse; /** * @author Tobias Nyholm <tobias.nyholm@gmail.com> */ 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; } }