/**
  * @test
  */
 public function it_downloads_the_embedded_images()
 {
     $connection = $this->getImapConnectionMock();
     /**
      * @var Imap $imap
      */
     $imap = m::mock('Humps\\MailManager\\Contracts\\Imap');
     $imap->shouldReceive('getMessageHeaders')->andReturn(ImapMailManagerTestHelper::getMessageHeaders());
     $imap->shouldReceive('fetchBody')->andReturn(ImapMailManagerEmbeddedImageHelper::fetchBody());
     $imap->shouldReceive('fetchStructure')->andReturn(ImapMailManagerEmbeddedImageHelper::fetchStructure());
     $imap->shouldReceive('getFolderName')->andReturn('INBOX');
     $imap->shouldReceive('getConnection')->andReturn($connection);
     /**
      * @var Message $message
      */
     $message = m::mock('Humps\\MailManager\\Components\\Contracts\\Message');
     $message->shouldReceive('getBodyParts')->andReturn(ImapMailManagerEmbeddedImageHelper::getBody());
     $message->shouldReceive('getHtmlBody')->andReturn(ImapMailManagerEmbeddedImageHelper::fetchBody());
     $message->shouldReceive('getMessageNum')->andReturn(2);
     $message->shouldReceive('setHtmlBody')->with(m::on(function ($result) {
         // It has replaced the img src with the saved image path.
         if (preg_match("/images\\/INBOX\\/2\\/wrench\\.png/", $result) && preg_match("/images\\/INBOX\\/2\\/google_logo\\.png/", $result) && !preg_match("/cid/", $result)) {
             return true;
         }
         return false;
     }));
     $messageService = new ImapMessageService($message, $imap);
     $messageService->downloadEmbeddedImages('images');
     // It's saved the images to the correct location
     $this->assertFileExists('images/INBOX/2/google_logo.png');
     $this->assertFileExists('images/INBOX/2/wrench.png');
     //Cleanup
     unlink('images/INBOX/2/wrench.png');
     unlink('images/INBOX/2/google_logo.png');
     rmdir('images/INBOX/2');
     rmdir('images/INBOX');
     rmdir('images');
 }
			background: #fff;
		}

		.body {
			padding: 10px;
		}
	</style>
</head>
<body>
<div class="message">
	<?php 
if (!is_null($mid)) {
    $imap = Imap::create($currentFolder);
    $message = ImapMessage::create($mid, $imap);
    $messageService = new ImapMessageService($message, $imap);
    $messageService->downloadEmbeddedImages('images');
    $mailboxService = new ImapMailboxService($imap);
    $folders = ImapFolderCollectionFactory::create($mailboxService->getAllFolders());
    ?>
		<table class="table table-striped">
			<tr>
				<td>From:</td>
				<td><?php 
    echo htmlspecialchars($message->getFrom()->implodeEmails());
    ?>
</td>
			</tr>
			<tr>
				<td>To:</td>
				<td><?php 
    echo htmlspecialchars($message->getTo()->implodeEmails());