function it_applies_a_filter_on_enabled_field_value(FilterDatasourceAdapterInterface $datasource, $utility, ProductRepositoryInterface $repository, ProductQueryBuilderInterface $pqb, QueryBuilder $qb) { $datasource->getQueryBuilder()->willReturn($qb); $utility->getProductRepository()->willReturn($repository); $repository->getProductQueryBuilder($qb)->willReturn($pqb); $pqb->addFieldFilter('enabled', '=', 1)->shouldBeCalled(); $this->apply($datasource, ['type' => null, 'value' => [0 => 1]]); }
function it_applies_a_filter_on_not_complete_products(FilterDatasourceAdapterInterface $datasource, $utility, ProductRepositoryInterface $repository, ProductQueryBuilderInterface $pqb, QueryBuilder $qb) { $datasource->getQueryBuilder()->willReturn($qb); $utility->getProductRepository()->willReturn($repository); $repository->getProductQueryBuilder($qb)->willReturn($pqb); $pqb->addFieldFilter('completeness', '<', 100)->shouldBeCalled(); $this->apply($datasource, ['type' => null, 'value' => 2]); }
function it_applies_a_filter_on_product_groups(FilterDatasourceAdapterInterface $datasource, $utility, ProductRepositoryInterface $repository, ProductQueryBuilderInterface $pqb, QueryBuilder $qb) { $datasource->getQueryBuilder()->willReturn($qb); $utility->getProductRepository()->willReturn($repository); $repository->getProductQueryBuilder($qb)->willReturn($pqb); $pqb->addFieldFilter('groups', 'IN', [2, 3])->shouldBeCalled(); $this->apply($datasource, ['type' => null, 'value' => [2, 3]]); }
function it_applies_a_filter_on_product_when_its_in_an_expected_group(FilterDatasourceAdapterInterface $datasource, $utility, ProductRepositoryInterface $repository, ProductQueryBuilderInterface $pqb, QueryBuilder $qb, RequestParametersExtractorInterface $extractor) { $extractor->getDatagridParameter('currentGroup')->willReturn(12); $datasource->getQueryBuilder()->willReturn($qb); $utility->getProductRepository()->willReturn($repository); $repository->getProductQueryBuilder($qb)->willReturn($pqb); $pqb->addFieldFilter('groups', 'IN', [12])->shouldBeCalled(); $this->apply($datasource, ['type' => null, 'value' => 1]); }
function it_applies_a_filter_on_product_when_its_in_an_expected_association(FilterDatasourceAdapterInterface $datasource, $utility, ProductRepositoryInterface $prodRepository, ProductQueryBuilderInterface $pqb, QueryBuilder $qb, $extractor, $assocRepository, ProductManager $productManager, AssociationType $assocType, AbstractAssociation $association, AbstractProduct $productOwner, AbstractProduct $productAssociatedOne, AbstractProduct $productAssociatedTwo) { $extractor->getDatagridParameter('_parameters', [])->willReturn([]); $extractor->getDatagridParameter('associationType')->willReturn(1); $assocRepository->findOneBy(Argument::any())->willReturn($assocType); $extractor->getDatagridParameter('product')->willReturn(11); $utility->getProductManager()->willReturn($productManager); $productManager->find(11)->willReturn($productOwner); $productOwner->getAssociationForType($assocType)->willReturn($association); $association->getProducts()->willReturn([$productAssociatedOne, $productAssociatedTwo]); $productAssociatedOne->getId()->willReturn(12); $productAssociatedTwo->getId()->willReturn(13); $datasource->getQueryBuilder()->willReturn($qb); $utility->getProductRepository()->willReturn($prodRepository); $prodRepository->getProductQueryBuilder($qb)->willReturn($pqb); $pqb->addFieldFilter('id', 'IN', [12, 13])->shouldBeCalled(); $this->apply($datasource, ['type' => null, 'value' => 1]); }