From 3b0ae9f731cf144308f87ed27641e3831d7ef218 Mon Sep 17 00:00:00 2001 From: Johan Cwiklinski Date: Mon, 15 Jun 2020 14:09:14 +0200 Subject: [PATCH] New tests on members, cleanup --- .../Repository/tests/units/Members.php | 140 ++++++++++++++---- tests/fixtures/tests_members.json | 4 +- 2 files changed, 117 insertions(+), 27 deletions(-) diff --git a/tests/Galette/Repository/tests/units/Members.php b/tests/Galette/Repository/tests/units/Members.php index d609779d6..31db41f3a 100644 --- a/tests/Galette/Repository/tests/units/Members.php +++ b/tests/Galette/Repository/tests/units/Members.php @@ -146,6 +146,9 @@ class Members extends atoum $this->history ); + if (isset($test_member['societe_adh'])) { + $test_member['is_company'] = true; + } $this->boolean($member->check($test_member, [], []))->isTrue(); $this->boolean($member->store())->isTrue(); $mids[] = $member->id; @@ -197,31 +200,6 @@ class Members extends atoum } $this->mids = $mids; - - /*$fakedata = new \Galette\Util\FakeData($this->zdb, $this->i18n); - $fakedata - ->setSeed($this->seed) - ->setNbMembers(10) - ->setWithPhotos(true) - ->setNbGroups(0) - ->setNbTransactions(0) - ->setMaxContribs(0) - ->setDependencies( - $this->preferences, - $this->members_fields, - $this->history, - $this->login - ); - - $fakedata->generate(); - - $report = $fakedata->getReport(); - - $this->array($report['success'])->hasSize(2); - $this->array($report['errors'])->hasSize(0); - $this->array($report['warnings'])->hasSize(0); - - $this->mids = $fakedata->getMembersIds();*/ } /** @@ -309,6 +287,30 @@ class Members extends atoum $this->integer($list->count())->isIdenticalTo(1); + //Filter with email + $filters = new \Galette\Filters\MembersList(); + $filters->email_filter = \Galette\Repository\Members::FILTER_W_EMAIL; + $members = new \Galette\Repository\Members($filters); + $list = $members->getList(); + + $this->integer($list->count())->isIdenticalTo(10); + + //Filter without email + $filters = new \Galette\Filters\MembersList(); + $filters->email_filter = \Galette\Repository\Members::FILTER_WO_EMAIL; + $members = new \Galette\Repository\Members($filters); + $list = $members->getList(); + + $this->integer($list->count())->isIdenticalTo(0); + + //Search on job + $filters = new \Galette\Filters\MembersList(); + $filters->filter_str = 'eur'; + $filters->field_filter = \Galette\Repository\Members::FILTER_JOB; + $members = new \Galette\Repository\Members($filters); + $list = $members->getList(); + + $this->integer($list->count())->isIdenticalTo(3); //Search on address $filters = new \Galette\Filters\MembersList(); $filters->filter_str = 'avenue'; @@ -334,7 +336,93 @@ class Members extends atoum $members = new \Galette\Repository\Members($filters); $list = $members->getList(); - $this->integer($list->count())->isIdenticalTo(4); + //search on company + $filters = new \Galette\Filters\MembersList(); + $filters->filter_str = 'Galette'; + $filters->field_filter = \Galette\Repository\Members::FILTER_COMPANY_NAME; + $members = new \Galette\Repository\Members($filters); + $list = $members->getList(); + + $this->integer($list->count())->isIdenticalTo(2); + + //search on infos + $filters = new \Galette\Filters\MembersList(); + $filters->filter_str = 'any'; + $filters->field_filter = \Galette\Repository\Members::FILTER_INFOS; + $members = new \Galette\Repository\Members($filters); + $list = $members->getList(); + + $this->integer($list->count())->isIdenticalTo(0); + + //search on member number + $filters = new \Galette\Filters\MembersList(); + $filters->filter_str = $this->mids[2]; + $filters->field_filter = \Galette\Repository\Members::FILTER_NUMBER; + $members = new \Galette\Repository\Members($filters); + $list = $members->getList(); + + $this->integer($list->count())->isIdenticalTo(1); + + //search on membership + $filters = new \Galette\Filters\MembersList(); + $filters->membership_filter = \Galette\Repository\Members::MEMBERSHIP_UP2DATE; + $members = new \Galette\Repository\Members($filters); + $list = $members->getList(); + + $this->integer($list->count())->isIdenticalTo(2); + + //membership staff + $filters->membership_filter = \Galette\Repository\Members::MEMBERSHIP_STAFF; + $members = new \Galette\Repository\Members($filters); + $list = $members->getList(); + + $this->integer($list->count())->isIdenticalTo(1); + + //membership admin + $filters->membership_filter = \Galette\Repository\Members::MEMBERSHIP_ADMIN; + $members = new \Galette\Repository\Members($filters); + $list = $members->getList(); + + $this->integer($list->count())->isIdenticalTo(1); + + //membership never + $filters->membership_filter = \Galette\Repository\Members::MEMBERSHIP_NEVER; + $members = new \Galette\Repository\Members($filters); + $list = $members->getList(); + + $this->integer($list->count())->isIdenticalTo(8); + + //membership never + $filters->membership_filter = \Galette\Repository\Members::MEMBERSHIP_NONE; + $members = new \Galette\Repository\Members($filters); + $list = $members->getList(); + + $this->integer($list->count())->isIdenticalTo(5); + + //membership late + $filters->membership_filter = \Galette\Repository\Members::MEMBERSHIP_LATE; + $members = new \Galette\Repository\Members($filters); + $list = $members->getList(); + + $this->integer($list->count())->isIdenticalTo(0); + + //membership never + $filters->membership_filter = \Galette\Repository\Members::MEMBERSHIP_NEARLY; + $members = new \Galette\Repository\Members($filters); + $list = $members->getList(); + + $this->integer($list->count())->isIdenticalTo(0); + + //Search on groups + //group is ignored if it does not exists + /*$filters = new \Galette\Filters\MembersList(); + $filters->group_filter = 3; + $members = new \Galette\Repository\Members($filters); + $list = $members->getList(); + + $this->integer($list->count())->isIdenticalTo(0);*/ + + // ADVANCED SEARCH //serch on contribution date $filters = new \Galette\Filters\AdvancedMembersList(); diff --git a/tests/fixtures/tests_members.json b/tests/fixtures/tests_members.json index ab3432385..82ce0552c 100644 --- a/tests/fixtures/tests_members.json +++ b/tests/fixtures/tests_members.json @@ -47,6 +47,7 @@ "lieu_naissance": "Laporte", "pseudo_adh": "margaret.courtois", "pays_adh": "Bangladesh", + "societe_adh": "Galette, Inc.", "tel_adh": "+33 (0)5 41 65 71 46", "url_adh": "http:\/\/coulon.fr\/eos-nesciunt-consectetur-dolores-omnis-provident-explicabo", "activite_adh": true, @@ -121,7 +122,7 @@ "login_adh": "josephine.vallet", "mdp_adh": "hLF#r\"t|", "mdp_adh2": "hLF#r\"t|", - "bool_admin_adh": false, + "bool_admin_adh": true, "bool_exempt_adh": false, "bool_display_info": false, "sexe_adh": 1, @@ -243,6 +244,7 @@ "lieu_naissance": "Gaudin", "pseudo_adh": "martin29", "pays_adh": "Ouzb\u00e9kistan", + "societe_adh": "Galette, Inc.", "tel_adh": "+33 (0)8 06 28 91 89", "url_adh": "http:\/\/paris.net\/", "activite_adh": true, -- 2.39.2