Added complaint test

This commit is contained in:
Nyholm 2018-08-05 11:47:09 +02:00 committed by David Garcia
parent 55547572aa
commit fa30639f99
3 changed files with 92 additions and 3 deletions

View File

@ -72,10 +72,10 @@ class Complaint extends HttpApi
{ {
Assert::stringNotEmpty($domain); Assert::stringNotEmpty($domain);
Assert::stringNotEmpty($address); Assert::stringNotEmpty($address);
Assert::stringNotEmpty($createdAt);
$params['address'] = $address; $params['address'] = $address;
if (null !== $createdAt) { if (null !== $createdAt) {
Assert::stringNotEmpty($createdAt);
$params['created_at'] = $createdAt; $params['created_at'] = $createdAt;
} }

View File

@ -67,7 +67,7 @@ class BounceTest extends TestCase
$this->setHydrateClass(DeleteResponse::class); $this->setHydrateClass(DeleteResponse::class);
$api = $this->getApiInstance(); $api = $this->getApiInstance();
$api->show('example.com', 'foo@bar.com'); $api->delete('example.com', 'foo@bar.com');
} }
public function testDeleteAll() public function testDeleteAll()
@ -77,7 +77,7 @@ class BounceTest extends TestCase
$this->setHydrateClass(DeleteResponse::class); $this->setHydrateClass(DeleteResponse::class);
$api = $this->getApiInstance(); $api = $this->getApiInstance();
$api->show('example.com'); $api->deleteAll('example.com');
} }
/** /**

View File

@ -0,0 +1,89 @@
<?php
/*
* 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\Complaint;
use Mailgun\Model\Suppression\Complaint\CreateResponse;
use Mailgun\Model\Suppression\Complaint\DeleteResponse;
use Mailgun\Model\Suppression\Complaint\IndexResponse;
use Mailgun\Model\Suppression\Complaint\ShowResponse;
/**
*
*
* @author Tobias Nyholm <tobias.nyholm@gmail.com>
*/
class ComplaintTest extends TestCase
{
public function testIndex()
{
$this->setRequestMethod('GET');
$this->setRequestUri('/v3/example.com/complaints?limit=100');
$this->setHydrateClass(IndexResponse::class);
$api = $this->getApiInstance();
$api->index('example.com');
}
public function testShow()
{
$this->setRequestMethod('GET');
$this->setRequestUri('/v3/example.com/complaints/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/complaints');
$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/complaints/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/complaints');
$this->setHydrateClass(DeleteResponse::class);
$api = $this->getApiInstance();
$api->deleteAll('example.com');
}
/**
* {@inheritdoc}
*/
protected function getApiClass()
{
return Complaint::class;
}
}