+ //search on contribution end date
+ $filters = new \Galette\Filters\AdvancedMembersList();
+ //$contribdate = new \DateTime();
+ //$contribdate->modify('+2 years');
+ $filters->contrib_begin_date_end = $contribdate->format('Y-m-d');
+ $members = new \Galette\Repository\Members($filters);
+ $list = $members->getList();
+
+ $this->integer($list->count())->isIdenticalTo(0);
+
+ $contribdate->modify('+5 days');
+ $filters->contrib_begin_date_end = $contribdate->format('Y-m-d');
+ $members = new \Galette\Repository\Members($filters);
+ $list = $members->getList();
+ $this->integer($list->count())->isIdenticalTo(1);
+
+ //search on public info visibility
+ $filters = new \Galette\Filters\AdvancedMembersList();
+ $filters->show_public_infos = \Galette\Repository\Members::FILTER_W_PUBINFOS;
+ $members = new \Galette\Repository\Members($filters);
+ $list = $members->getList();
+
+ $this->integer($list->count())->isIdenticalTo(6);
+
+ $filters->show_public_infos = \Galette\Repository\Members::FILTER_WO_PUBINFOS;
+ $members = new \Galette\Repository\Members($filters);
+ $list = $members->getList();
+
+ $this->integer($list->count())->isIdenticalTo(4);
+
+ $filters->show_public_infos = \Galette\Repository\Members::FILTER_DC_PUBINFOS;
+ $members = new \Galette\Repository\Members($filters);
+ $list = $members->getList();
+
+ $this->integer($list->count())->isIdenticalTo(10);
+
+ //search on status
+ $filters = new \Galette\Filters\AdvancedMembersList();
+ $filters->status = \Galette\Entity\Status::DEFAULT_STATUS;
+ $members = new \Galette\Repository\Members($filters);
+ $list = $members->getList();
+
+ $this->integer($list->count())->isIdenticalTo(5);
+
+ //search on contribution amount
+ $filters = new \Galette\Filters\AdvancedMembersList();
+ $filters->contrib_min_amount = 30.0;
+ $members = new \Galette\Repository\Members($filters);
+ $list = $members->getList();
+
+ $this->integer($list->count())->isIdenticalTo(0);
+
+ $filters->contrib_min_amount = 20.0;
+ $members = new \Galette\Repository\Members($filters);
+ $list = $members->getList();
+
+ $this->integer($list->count())->isIdenticalTo(1);
+
+ $filters = new \Galette\Filters\AdvancedMembersList();
+ $filters->contrib_max_amount = 5.0;
+ $members = new \Galette\Repository\Members($filters);
+ $list = $members->getList();
+
+ $this->integer($list->count())->isIdenticalTo(0);
+
+ $filters->contrib_max_amount = 20.0;
+ $members = new \Galette\Repository\Members($filters);
+ $list = $members->getList();
+
+ $this->integer($list->count())->isIdenticalTo(1);
+
+ //search on contribution type
+ $filters = new \Galette\Filters\AdvancedMembersList();
+ $filters->contributions_types = \Galette\Entity\ContributionsTypes::DEFAULT_TYPE;
+ $members = new \Galette\Repository\Members($filters);
+ $list = $members->getList();
+
+ $this->integer($list->count())->isIdenticalTo(1);
+
+ $filters->contributions_types = [
+ \Galette\Entity\ContributionsTypes::DEFAULT_TYPE,
+ \Galette\Entity\ContributionsTypes::DEFAULT_TYPE + 1
+ ];
+ $members = new \Galette\Repository\Members($filters);
+ $list = $members->getList();
+
+ $this->integer($list->count())->isIdenticalTo(1);
+
+ $filters->contributions_types = \Galette\Entity\ContributionsTypes::DEFAULT_TYPE + 1;
+ $members = new \Galette\Repository\Members($filters);
+ $list = $members->getList();
+
+ $this->integer($list->count())->isIdenticalTo(0);
+
+ //search on payment type
+ $filters = new \Galette\Filters\AdvancedMembersList();
+ $filters->payments_types = \Galette\Entity\PaymentType::CASH;
+ $members = new \Galette\Repository\Members($filters);
+ $list = $members->getList();
+
+ $this->integer($list->count())->isIdenticalTo(1);
+
+ $filters->payments_types = [
+ \Galette\Entity\PaymentType::CASH,
+ \Galette\Entity\PaymentType::CHECK
+ ];
+ $members = new \Galette\Repository\Members($filters);
+ $list = $members->getList();
+
+ $this->integer($list->count())->isIdenticalTo(1);
+
+ $filters->payments_types = [
+ \Galette\Entity\PaymentType::CHECK
+ ];
+ $members = new \Galette\Repository\Members($filters);
+ $list = $members->getList();
+
+ $this->integer($list->count())->isIdenticalTo(0);
+