mockConfigs(); $attribute = 'username'; $word = 'culero23'; $parameters = ['es']; $profane = new ProfaneValidator(); $this->assertFalse($profane->validate($attribute, $word, $parameters)); } public function test_can_validate_a_text() { $this->mockConfigs(); $attribute = 'description'; $text = 'fck you bitch'; $parameters = ['es', 'en']; $profane = new ProfaneValidator(); $this->assertFalse($profane->validate($attribute, $text, $parameters)); } public function test_can_evaluate_profanity_of_a_word() { $word = 'fuck'; $this->mockConfigs(); $profane = new ProfaneValidator(); $this->assertTrue($profane->isProfane($word)); } public function test_can_evaluate_profanity_of_a_sentence() { $word = 'fuck you if you read this'; $this->mockConfigs(); $profane = new ProfaneValidator(); $this->assertTrue($profane->isProfane($word)); } public function test_can_evaluate_profanity_of_a_html_string() { $word = 'fuck you if you read this.'; $this->mockConfigs(); $profane = new ProfaneValidator(); $this->assertTrue($profane->isProfane($word)); } public function test_can_set_dictionary_when_you_pass_a_locale() { $this->mockConfigs(); $profane = new ProfaneValidator(); $profane->setDictionary('es'); $expected = include __DIR__.'/../src/dict/es.php'; $this->assertEquals($profane->getBadwords(), $expected); } public function test_can_set_dictionary_when_you_pass_a_file() { $this->mockConfigs(); $profane = new ProfaneValidator(); $profane->setDictionary(__DIR__.'/../src/dict/es.php'); $expected = include __DIR__.'/../src/dict/es.php'; $this->assertEquals($profane->getBadwords(), $expected); } public function test_can_set_dictionary_when_you_pass_an_array_of_files() { $this->mockConfigs(); $profane = new ProfaneValidator(); $profane->setDictionary([__DIR__.'/../src/dict/es.php', __DIR__.'/../src/dict/en.php']); $expected = array_merge(include __DIR__.'/../src/dict/es.php', include __DIR__.'/../src/dict/en.php'); $this->assertEquals($profane->getBadwords(), $expected); } public function test_can_set_dictionary_when_you_pass_an_array_of_locales() { $this->mockConfigs(); $profane = new ProfaneValidator(); $profane->setDictionary(['es', 'en']); $expected = array_merge(include __DIR__.'/../src/dict/es.php', include __DIR__.'/../src/dict/en.php'); $this->assertEquals($profane->getBadwords(), $expected); } private function mockConfigs() { Config::shouldReceive('get') ->once() ->with('app.locale') ->andReturn('en'); Config::shouldReceive('has') ->once() ->with('app.locale') ->andReturn(true); } }