Your IP : 216.73.216.79


Current Path : /var/www/html/dyna-laravel.blunetdev.com/tests/unit/plugins/system/
Upload File :
Current File : /var/www/html/dyna-laravel.blunetdev.com/tests/unit/plugins/system/CustomValidatorRulesTest.php

<?php

class CustomValidatorRulesTest extends PluginTestCase
{
    public function setUp() : void
    {
        parent::setUp();

        include_once base_path() . '/tests/fixtures/plugins/winter/tester/rules/BeLikeBobRule.php';
        include_once base_path() . '/tests/fixtures/plugins/winter/tester/Plugin.php';

        $this->runPluginRefreshCommand('Winter.Tester');
    }

    public function testValidationUsingClosure()
    {
        $validData = [
            'company' => 'ACME'
        ];

        $invalidData = [
            'company' => 'Acme'
        ];

        $rules = [
            'company' => 'uppercase'
        ];

        $validationWithValidData = Validator::make($validData, $rules);
        $validationWithInvalidData = Validator::make($invalidData, $rules);

        $this->assertFalse($validationWithValidData->fails());
        $this->assertTrue($validationWithInvalidData->fails());
    }

    public function testValidationUsingRuleObject()
    {
        $validData = [
            'name' => 'bob'
        ];

        $invalidData = [
            'name' => 'karen'
        ];

        $rules = [
            'name' => 'be_like_bob'
        ];

        $validationWithValidData = Validator::make($validData, $rules);
        $validationWithInvalidData = Validator::make($invalidData, $rules);

        $this->assertFalse($validationWithValidData->fails());
        $this->assertTrue($validationWithInvalidData->fails());
        $this->assertEquals($validationWithInvalidData->errors()->first(), 'You must be like bob');
    }
}