ApiPlatform\Core\Tests\Doctrine\Orm\Filter\SearchFilterTest::provideApplyTestData PHP Метод

provideApplyTestData() публичный Метод

Provides 3 parameters: - configuration of filterable properties - filter parameters - expected DQL query and parameter values
public provideApplyTestData ( ) : array
Результат array
    public function provideApplyTestData() : array
    {
        return ['exact' => [['id' => null, 'name' => null], ['name' => 'exact'], ['dql' => sprintf('SELECT o FROM %s o WHERE o.name = :name_p1', Dummy::class), 'parameters' => ['name_p1' => 'exact']]], 'exact (case insensitive)' => [['id' => null, 'name' => 'iexact'], ['name' => 'exact'], ['dql' => sprintf('SELECT o FROM %s o WHERE LOWER(o.name) = LOWER(:name_p1)', Dummy::class), 'parameters' => ['name_p1' => 'exact']]], 'exact (multiple values)' => [['id' => null, 'name' => 'exact'], ['name' => ['CaSE', 'SENSitive']], ['dql' => sprintf('SELECT o FROM %s o WHERE o.name IN (:name_p1)', Dummy::class), 'parameters' => ['name_p1' => ['CaSE', 'SENSitive']]]], 'exact (multiple values; case insensitive)' => [['id' => null, 'name' => 'iexact'], ['name' => ['CaSE', 'inSENSitive']], ['dql' => sprintf('SELECT o FROM %s o WHERE LOWER(o.name) IN (:name_p1)', Dummy::class), 'parameters' => ['name_p1' => ['case', 'insensitive']]]], 'invalid property' => [['id' => null, 'name' => null], ['foo' => 'exact'], ['dql' => sprintf('SELECT o FROM %s o', Dummy::class), 'parameters' => []]], 'invalid values for relations' => [['id' => null, 'name' => null, 'relatedDummy' => null, 'relatedDummies' => null], ['name' => ['foo'], 'relatedDummy' => ['foo'], 'relatedDummies' => [['foo']]], ['dql' => sprintf('SELECT o FROM %s o INNER JOIN o.relatedDummy relatedDummy_a1 WHERE o.name = :name_p1 AND relatedDummy_a1.id = :relatedDummy_p2', Dummy::class), 'parameters' => ['relatedDummy_p2' => 'foo']]], 'partial' => [['id' => null, 'name' => 'partial'], ['name' => 'partial'], ['dql' => sprintf('SELECT o FROM %s o WHERE o.name LIKE CONCAT(\'%%\', :name_p1, \'%%\')', Dummy::class), 'parameters' => ['name_p1' => 'partial']]], 'partial (case insensitive)' => [['id' => null, 'name' => 'ipartial'], ['name' => 'partial'], ['dql' => sprintf('SELECT o FROM %s o WHERE LOWER(o.name) LIKE LOWER(CONCAT(\'%%\', :name_p1, \'%%\'))', Dummy::class), 'parameters' => ['name_p1' => 'partial']]], 'start' => [['id' => null, 'name' => 'start'], ['name' => 'partial'], ['dql' => sprintf('SELECT o FROM %s o WHERE o.name LIKE CONCAT(:name_p1, \'%%\')', Dummy::class), 'parameters' => ['name_p1' => 'partial']]], 'start (case insensitive)' => [['id' => null, 'name' => 'istart'], ['name' => 'partial'], ['dql' => sprintf('SELECT o FROM %s o WHERE LOWER(o.name) LIKE LOWER(CONCAT(:name_p1, \'%%\'))', Dummy::class), 'parameters' => ['name_p1' => 'partial']]], 'end' => [['id' => null, 'name' => 'end'], ['name' => 'partial'], ['dql' => sprintf('SELECT o FROM %s o WHERE o.name LIKE CONCAT(\'%%\', :name_p1)', Dummy::class), 'parameters' => ['name_p1' => 'partial']]], 'end (case insensitive)' => [['id' => null, 'name' => 'iend'], ['name' => 'partial'], ['dql' => sprintf('SELECT o FROM %s o WHERE LOWER(o.name) LIKE LOWER(CONCAT(\'%%\', :name_p1))', Dummy::class), 'parameters' => ['name_p1' => 'partial']]], 'word_start' => [['id' => null, 'name' => 'word_start'], ['name' => 'partial'], ['dql' => sprintf('SELECT o FROM %s o WHERE o.name LIKE CONCAT(:name_p1, \'%%\') OR o.name LIKE CONCAT(\'%% \', :name_p1, \'%%\')', Dummy::class), 'parameters' => ['name_p1' => 'partial']]], 'word_start (case insensitive)' => [['id' => null, 'name' => 'iword_start'], ['name' => 'partial'], ['dql' => sprintf('SELECT o FROM %s o WHERE LOWER(o.name) LIKE LOWER(CONCAT(:name_p1, \'%%\')) OR LOWER(o.name) LIKE LOWER(CONCAT(\'%% \', :name_p1, \'%%\'))', Dummy::class), 'parameters' => ['name_p1' => 'partial']]], 'invalid value for relation' => [['id' => null, 'name' => null, 'relatedDummy' => null], ['relatedDummy' => 'exact'], ['dql' => sprintf('SELECT o FROM %s o INNER JOIN o.relatedDummy relatedDummy_a1 WHERE relatedDummy_a1.id = :relatedDummy_p1', Dummy::class), 'parameters' => ['relatedDummy_p1' => 'exact']]], 'IRI value for relation' => [['id' => null, 'name' => null, 'relatedDummy.id' => null], ['relatedDummy.id' => '/related_dummies/1'], ['dql' => sprintf('SELECT o FROM %s o INNER JOIN o.relatedDummy relatedDummy_a1 WHERE relatedDummy_a1.id = :id_p1', Dummy::class), 'parameters' => ['id_p1' => 1]]], 'mixed IRI and entity ID values for relations' => [['id' => null, 'name' => null, 'relatedDummy' => null, 'relatedDummies' => null], ['relatedDummy' => ['/related_dummies/1', '2'], 'relatedDummies' => '1'], ['dql' => sprintf('SELECT o FROM %s o INNER JOIN o.relatedDummy relatedDummy_a1 INNER JOIN o.relatedDummies relatedDummies_a2 WHERE relatedDummy_a1.id IN (:relatedDummy_p1) AND relatedDummies_a2.id = :relatedDummies_p2', Dummy::class), 'parameters' => ['relatedDummy_p1' => [1, 2], 'relatedDummies_p2' => 1]]], 'nested property' => [['id' => null, 'name' => null, 'relatedDummy.symfony' => null], ['name' => 'exact', 'relatedDummy.symfony' => 'exact'], ['dql' => sprintf('SELECT o FROM %s o INNER JOIN o.relatedDummy relatedDummy_a1 WHERE o.name = :name_p1 AND relatedDummy_a1.symfony = :symfony_p2', Dummy::class), 'parameters' => ['name_p1' => 'exact', 'symfony_p2' => 'exact']]]];
    }