Skip to content

Commit

Permalink
Merge pull request #4051 from HungDV2022/unittest_MailContentsTable_v…
Browse files Browse the repository at this point in the history
…alidationDefault

MailContentsTable::validationDefault() ユニットテスト調整
  • Loading branch information
HungDV2022 authored Nov 29, 2024
2 parents d31ef49 + cf5a69d commit 9ccb3a4
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 0 deletions.
1 change: 1 addition & 0 deletions plugins/bc-mail/src/Model/Table/MailContentsTable.php
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ public function initialize(array $config): void
* @return Validator
* @checked
* @noTodo
* @unitTest
*/
public function validationDefault(Validator $validator): Validator
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -396,6 +396,51 @@ public function testFindAccepting()
$this->markTestIncomplete('このテストは、まだ実装されていません。');
}

/**
* test validationDefault
*/
public function testValidationDefault()
{
$validator = $this->MailContent->getValidator('default');

//notEmptyString
$errors = $validator->validate(['subject_user' => '', 'subject_admin' => '']);
$this->assertEquals('自動返信メール件名[ユーザー宛]を入力してください。', current($errors['subject_user']));
$this->assertEquals('自動返信メール件名[管理者宛]を入力してください。', current($errors['subject_admin']));

//maxLength
$errors = $validator->validate([
'subject_user' => str_repeat('a', 256),
'subject_admin' => str_repeat('a', 256),
'form_template' => str_repeat('a', 21),
'mail_template' => str_repeat('a', 21),
'redirect_url' => 'https://github.com/' . str_repeat('a', 256),
]);
$this->assertEquals('自動返信メール件名[ユーザー宛]は255文字以内で入力してください。', current($errors['subject_user']));
$this->assertEquals('自動返信メール件名[管理者宛]は255文字以内で入力してください。', current($errors['subject_admin']));
$this->assertEquals('フォームテンプレート名は20文字以内で入力してください。', current($errors['form_template']));
$this->assertEquals('送信メールテンプレート名は20文字以内で入力してください。', current($errors['mail_template']));
$this->assertEquals('リダイレクトURLは255文字以内で入力してください。', current($errors['redirect_url']));

//halfText
$errors = $validator->validate(['form_template' => 'カタカナ', 'mail_template' => 'カタカナ']);
$this->assertEquals('メールフォームテンプレート名は半角のみで入力してください。', current($errors['form_template']));
$this->assertEquals('送信メールテンプレートは半角のみで入力してください。', current($errors['mail_template']));

//redirect_urlのURL形式ではない
$errors = $validator->validate(['redirect_url' => 'abc']);
$this->assertEquals('リダイレクトURLはURLの形式を入力してください。', current($errors['redirect_url']));

//containsScript
$errors = $validator->validate(['description' => '<script></script>']);
$this->assertEquals('説明文でスクリプトの入力は許可されていません。', current($errors['description']));

//emails
$errors = $validator->validate(['sender_1' => 'カタカナ', 'sender_2' => 'カタカナ']);
$this->assertEquals('送信先メールアドレスのEメールの形式が不正です。', current($errors['sender_1']));
$this->assertEquals('BCC用送信先メールアドレスのEメールの形式が不正です。', current($errors['sender_2']));
}

/**
* test createSearchIndex
*/
Expand Down

0 comments on commit 9ccb3a4

Please sign in to comment.