Skip to content

Commit

Permalink
Merge pull request #4048 from thangnnmd/unitTest_MailMessageMailer_se…
Browse files Browse the repository at this point in the history
…ndFormToAdmin

MailMessageMailer::sendFormToAdmin
  • Loading branch information
HungDV2022 authored Nov 26, 2024
2 parents ae73e10 + 1eb5084 commit 2789ce4
Show file tree
Hide file tree
Showing 2 changed files with 101 additions and 0 deletions.
1 change: 1 addition & 0 deletions plugins/bc-mail/src/Mailer/MailMessageMailer.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ class MailMessageMailer extends BcMailer
* @param array $options
* @checked
* @noTodo
* @unitTest
*/
public function sendFormToAdmin(
EntityInterface $mailContent,
Expand Down
100 changes: 100 additions & 0 deletions plugins/bc-mail/tests/TestCase/Mailer/MailMessageMailerTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
<?php
/**
* baserCMS : Based Website Development Project <https://basercms.net>
* Copyright (c) NPO baser foundation <https://baserfoundation.org/>
*
* @copyright Copyright (c) NPO baser foundation
* @link https://basercms.net baserCMS Project
* @since 5.0.0
* @license https://basercms.net/license/index.html MIT License
*/

namespace BcMail\Test\TestCase\Mailer;

use BaserCore\Test\Factory\SiteConfigFactory;
use BaserCore\TestSuite\BcTestCase;
use BcMail\Mailer\MailMessageMailer;
use BcMail\Test\Factory\MailContentFactory;
use CakephpFixtureFactories\Scenario\ScenarioAwareTrait;

/**
* MailMessageMailerTest
*
* @property MailMessageMailer $MailMessageMailer
*/
class MailMessageMailerTest extends BcTestCase
{

/**
* ScenarioAwareTrait
*/
use ScenarioAwareTrait;

/**
* set up
*/
public function setUp(): void
{
parent::setUp();
SiteConfigFactory::make(['name' => 'email', 'value' => '[email protected]'])->persist();
$this->MailMessageMailer = new MailMessageMailer();
}

/**
* tear down
*/
public function tearDown(): void
{
parent::tearDown();
}

/**
* test sendFormToAdmin
*/
public function testSendFormToAdmin()
{
//準備
$data['message'] = 'message test';
$data['mailContent'] = 'content test';
$data['mailFields'] = 'fields test';
$mailContent = MailContentFactory::make([
'description' => 'description test',
'sender_1' => 'sender_1',
'sender_name' => 'name 111',
'subject_user' => 'subject_user 111',
'subject_admin' => 'subject_admin 111',
'form_template' => 'default',
'mail_template' => 'mail_default',
'redirect_url' => '/',
])->getEntity();

//テスト
$this->MailMessageMailer->sendFormToAdmin($mailContent, '[email protected]', '[email protected]', $data, [], []);

//戻り値を確認
$this->assertEquals(['[email protected]' => '[email protected]'], $this->MailMessageMailer->getTo());
$this->assertEquals(['[email protected]' => '[email protected]'], $this->MailMessageMailer->getReplyTo());

$vars = $this->MailMessageMailer->viewBuilder()->getVars();
$this->assertEquals('message test', $vars['message']);
$this->assertEquals('content test', $vars['mailContent']);
$this->assertEquals('fields test', $vars['mailFields']);
$this->assertEquals('admin', $vars['other']['mode']);
}

/**
* test sendFormToUser
*/
public function testSendFormToUser()
{
$this->markTestIncomplete('このテストは未実装');
}

/**
* test getFrom
*/
public function testGetFrom()
{
$this->markTestIncomplete('このテストは未実装');
}
}

0 comments on commit 2789ce4

Please sign in to comment.