]> git.agnieray.net Git - galette.git/commitdiff
New tests on members, cleanup
authorJohan Cwiklinski <johan@x-tnd.be>
Mon, 15 Jun 2020 12:09:14 +0000 (14:09 +0200)
committerJohan Cwiklinski <johan@x-tnd.be>
Mon, 15 Jun 2020 19:28:02 +0000 (21:28 +0200)
tests/Galette/Repository/tests/units/Members.php
tests/fixtures/tests_members.json

index d609779d61917a6913c7cdfae01f2f395d597c76..31db41f3a524cf2301a64de88ec7a0f9d987f77a 100644 (file)
@@ -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();
index ab3432385a8b0d6ba023711529840dd4a370e124..82ce0552c28a3f3546b69cd7fbcdb63c04c66ae5 100644 (file)
@@ -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,
         "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,
         "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,