diff --git a/plugins/bc-custom-content/src/Model/Table/CustomContentsTable.php b/plugins/bc-custom-content/src/Model/Table/CustomContentsTable.php index 2498db7af5..916960e7ef 100644 --- a/plugins/bc-custom-content/src/Model/Table/CustomContentsTable.php +++ b/plugins/bc-custom-content/src/Model/Table/CustomContentsTable.php @@ -30,6 +30,7 @@ class CustomContentsTable extends AppTable * @param array $config テーブル設定 * @checked * @noTodo + * @unitTest */ public function initialize(array $config): void { @@ -48,13 +49,14 @@ public function initialize(array $config): void * @return Validator * @checked * @noTodo + * @unitTest */ public function validationWithTable(Validator $validator): Validator { $validator->setProvider('bc', 'BaserCore\Model\Validation\BcValidation'); $validator->requirePresence('list_count', 'update') ->notEmptyString('list_count', __d('baser_core', '一覧表示件数は必須項目です。')) - ->range('list_count', [0, 101], __d('baser_core', '一覧表示件数は100までの数値で入力してください。')) + ->range('list_count', [0, 100], __d('baser_core', '一覧表示件数は100までの数値で入力してください。')) ->add('list_count', 'halfText', [ 'provider' => 'bc', 'rule' => 'halfText', diff --git a/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomContentsTableTest.php b/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomContentsTableTest.php index 8ee5a249ba..facd835119 100644 --- a/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomContentsTableTest.php +++ b/plugins/bc-custom-content/tests/TestCase/Model/Table/CustomContentsTableTest.php @@ -12,9 +12,11 @@ namespace BcCustomContent\Test\TestCase\Model\Table; use BaserCore\TestSuite\BcTestCase; +use BcCustomContent\Model\Table\CustomContentsTable; /** * CustomContentsTableTest + * @property CustomContentsTable $CustomContentsTable */ class CustomContentsTableTest extends BcTestCase { @@ -25,6 +27,7 @@ class CustomContentsTableTest extends BcTestCase public function setUp(): void { parent::setUp(); + $this->CustomContentsTable = $this->getTableLocator()->get('BcCustomContent.CustomContents'); } /** @@ -32,6 +35,7 @@ public function setUp(): void */ public function tearDown(): void { + unset($this->CustomContentsTable); parent::tearDown(); } @@ -40,7 +44,10 @@ public function tearDown(): void */ public function test_initialize() { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + $this->assertTrue($this->CustomContentsTable->hasBehavior('BcContents')); + $this->assertTrue($this->CustomContentsTable->hasBehavior('Timestamp')); + $this->assertTrue($this->CustomContentsTable->hasBehavior('BcContents')); + $this->assertTrue($this->CustomContentsTable->hasAssociation('CustomTables')); } /** @@ -48,6 +55,32 @@ public function test_initialize() */ public function test_validationWithTable() { - $this->markTestIncomplete('このテストは、まだ実装されていません。'); + //全角文字を入力した場合 + $validator = $this->CustomContentsTable->getValidator('withTable'); + $errors = $validator->validate([ + 'list_count' => '漢字' + ]); + $this->assertEquals([ + 'range' => '一覧表示件数は100までの数値で入力してください。', + 'halfText' => '一覧表示件数は半角で入力してください。' + ], $errors['list_count']); + + //101を入力した場合 + $validator = $this->CustomContentsTable->getValidator('withTable'); + $errors = $validator->validate([ + 'list_count' => '101' + ]); + $this->assertEquals([ + 'range' => '一覧表示件数は100までの数値で入力してください。', + ], $errors['list_count']); + + //何も入力しない場合 + $validator = $this->CustomContentsTable->getValidator('withTable'); + $errors = $validator->validate([ + 'list_count' => '' + ]); + $this->assertEquals([ + '_empty' => '一覧表示件数は必須項目です。', + ], $errors['list_count']); } }