. */ namespace SP\Tests\Domain\Account\Search; use SP\Domain\Account\Search\AccountSearchTokenizer; use SP\Tests\UnitaryTestCase; /** * Class AccountSearchTokenizerTest * * @group unitary */ class AccountSearchTokenizerTest extends UnitaryTestCase { use AccountSearchTokenizerDataTrait; /** * @dataProvider searchByItemDataProvider * * @param string $search * @param array $expectedConditions * * @return void */ public function testTokenizeFromFilterByItems(string $search, array $expectedConditions): void { $tokenizer = new AccountSearchTokenizer(); $out = $tokenizer->tokenizeFrom($search); $this->assertNotNull($out); $this->assertEquals($expectedConditions, $out->getItems()); } /** * @dataProvider searchByConditionDataProvider * * @param string $search * @param array $expectedConditions * * @return void */ public function testTokenizeFromFilterByCondition(string $search, array $expectedConditions): void { $tokenizer = new AccountSearchTokenizer(); $out = $tokenizer->tokenizeFrom($search); $this->assertNotNull($out); $this->assertEquals($expectedConditions, $out->getConditions()); } /** * @dataProvider searchUsingOperatorDataProvider * * @param string $search * @param string|null $expectedCondition * * @return void */ public function testTokenizeFromFilterUsingOperator(string $search, ?string $expectedCondition): void { $tokenizer = new AccountSearchTokenizer(); $out = $tokenizer->tokenizeFrom($search); $this->assertNotNull($out); $this->assertEquals($expectedCondition, $out->getOperator()); } /** * @dataProvider searchUsingStringDataProvider * * @param string $search * @param string $expectedString * * @return void */ public function testTokenizeFromFilterUsingSearchString(string $search, string $expectedString): void { $tokenizer = new AccountSearchTokenizer(); $out = $tokenizer->tokenizeFrom($search); $this->assertNotNull($out); $this->assertEquals($expectedString, $out->getSearch()); } /** * @return void */ public function testTokenizeFromFilterUsingSearchStringWithIsNull(): void { $tokenizer = new AccountSearchTokenizer(); $out = $tokenizer->tokenizeFrom(''); $this->assertNull($out); } }