Skip to content

Commit

Permalink
Add assertions for cc, bcc & attachments
Browse files Browse the repository at this point in the history
  • Loading branch information
jadb committed Aug 26, 2016
1 parent b491934 commit 2373385
Showing 1 changed file with 105 additions and 2 deletions.
107 changes: 105 additions & 2 deletions src/TestSuite/EmailAssertTrait.php
Expand Up @@ -131,8 +131,12 @@ public function assertEmailSubject($expected, $message = null)
* @param string $message The failure message to define.
* @return void
*/
public function assertEmailFrom($email, $name, $message = null)
public function assertEmailFrom($email, $name = null, $message = null)
{
if ($name === null) {
$name = $email;
}

$expected = [$email => $name];
$result = $this->email()->from();
$this->assertSame($expected, $result, $message);
Expand All @@ -144,10 +148,109 @@ public function assertEmailFrom($email, $name, $message = null)
* @param string $message The failure message to define.
* @return void
*/
public function assertEmailTo($email, $name, $message = null)
public function assertEmailCc($email, $name = null, $message = null)
{
if ($name === null) {
$name = $email;
}

$expected = [$email => $name];
$result = $this->email()->cc();
$this->assertSame($expected, $result, $message);
}

/**
* @param string $email Sender's email address.
* @param string $name Sender's name.
* @param string $message The failure message to define.
* @return void
*/
public function assertEmailCcContains($email, $name = null, $message = null)
{
$result = $this->email()->cc();
$this->assertNotEmpty($result[$email], $message);
if ($name !== null) {
$this->assertEquals($result[$email], $name, $message);
}
}

/**
* @param string $email Sender's email address.
* @param string $name Sender's name.
* @param string $message The failure message to define.
* @return void
*/
public function assertEmailBcc($email, $name = null, $message = null)
{
if ($name === null) {
$name = $email;
}

$expected = [$email => $name];
$result = $this->email()->bcc();
$this->assertSame($expected, $result, $message);
}

/**
* @param string $email Sender's email address.
* @param string $name Sender's name.
* @param string $message The failure message to define.
* @return void
*/
public function assertEmailBccContains($email, $name = null, $message = null)
{
$result = $this->email()->bcc();
$this->assertNotEmpty($result[$email], $message);
if ($name !== null) {
$this->assertEquals($result[$email], $name, $message);
}
}

/**
* @param string $email Sender's email address.
* @param string $name Sender's name.
* @param string $message The failure message to define.
* @return void
*/
public function assertEmailTo($email, $name = null, $message = null)
{
if ($name === null) {
$name = $email;
}

$expected = [$email => $name];
$result = $this->email()->to();
$this->assertSame($expected, $result, $message);
}

/**
* @param string $email Sender's email address.
* @param string $name Sender's name.
* @param string $message The failure message to define.
* @return void
*/
public function assertEmailToContains($email, $name = null, $message = null)
{
$result = $this->email()->to();
$this->assertNotEmpty($result[$email], $message);
if ($name !== null) {
$this->assertEquals($result[$email], $name, $message);
}
}

/**
* @param string $expected Expected attachment.
* @param string $message The failure message to define.
* @return void
*/
public function assertEmailAttachmentsContains($filename, array $file = null, $message = null)
{
$result = $this->email()->attachments();
$this->assertNotEmpty($result[$filename], $message);
if ($file === null) {
return;
}
$this->assertContains($file, $result, $message);
$this->assertEquals($file, $result[$filename], $message);
}
}

0 comments on commit 2373385

Please sign in to comment.