From cf5a69d8ead96a4dd919b70fef8088d20490bb1b Mon Sep 17 00:00:00 2001 From: HungDV2022 Date: Thu, 28 Nov 2024 11:39:35 +0900 Subject: [PATCH] =?UTF-8?q?MailContentsTable::validationDefault()=20?= =?UTF-8?q?=E3=83=A6=E3=83=8B=E3=83=83=E3=83=88=E3=83=86=E3=82=B9=E3=83=88?= =?UTF-8?q?=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/Model/Table/MailContentsTable.php | 1 + .../Model/Table/MailContentsTableTest.php | 45 +++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/plugins/bc-mail/src/Model/Table/MailContentsTable.php b/plugins/bc-mail/src/Model/Table/MailContentsTable.php index 3a7d16c538..8dfb09590e 100755 --- a/plugins/bc-mail/src/Model/Table/MailContentsTable.php +++ b/plugins/bc-mail/src/Model/Table/MailContentsTable.php @@ -95,6 +95,7 @@ public function initialize(array $config): void * @return Validator * @checked * @noTodo + * @unitTest */ public function validationDefault(Validator $validator): Validator { diff --git a/plugins/bc-mail/tests/TestCase/Model/Table/MailContentsTableTest.php b/plugins/bc-mail/tests/TestCase/Model/Table/MailContentsTableTest.php index 7fff124be7..4674781d25 100755 --- a/plugins/bc-mail/tests/TestCase/Model/Table/MailContentsTableTest.php +++ b/plugins/bc-mail/tests/TestCase/Model/Table/MailContentsTableTest.php @@ -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' => '']); + $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 */