@@ 565-576 (lines=12) @@ | ||
562 | $this->assertFalse($user->articles->contains($filteredArticle)); |
|
563 | } |
|
564 | ||
565 | public function testOneToMany_ExtraLazySliceWithFilter() |
|
566 | { |
|
567 | $this->loadLazyFixtureData(); |
|
568 | $user = $this->_em->find(CmsUser::class, $this->userId); |
|
569 | ||
570 | $this->assertFalse($user->articles->isInitialized()); |
|
571 | $this->assertEquals(2, count($user->articles->slice(0,10))); |
|
572 | ||
573 | $this->useCMSArticleTopicFilter(); |
|
574 | ||
575 | $this->assertEquals(1, count($user->articles->slice(0,10))); |
|
576 | } |
|
577 | ||
578 | private function useCMSGroupPrefixFilter() |
|
579 | { |
|
@@ 613-624 (lines=12) @@ | ||
610 | $this->assertFalse($user->groups->contains($filteredArticle)); |
|
611 | } |
|
612 | ||
613 | public function testManyToMany_ExtraLazySliceWithFilter() |
|
614 | { |
|
615 | $this->loadLazyFixtureData(); |
|
616 | $user = $this->_em->find(CmsUser::class, $this->userId2); |
|
617 | ||
618 | $this->assertFalse($user->groups->isInitialized()); |
|
619 | $this->assertEquals(2, count($user->groups->slice(0,10))); |
|
620 | ||
621 | $this->useCMSGroupPrefixFilter(); |
|
622 | ||
623 | $this->assertEquals(1, count($user->groups->slice(0,10))); |
|
624 | } |
|
625 | ||
626 | private function loadFixtureData() |
|
627 | { |
|
@@ 876-890 (lines=15) @@ | ||
873 | $this->assertTrue($manager->managedContracts->contains($contract2)); |
|
874 | } |
|
875 | ||
876 | public function testManyToMany_ExtraLazySliceWithFilterOnSTI() |
|
877 | { |
|
878 | $this->loadCompanySingleTableInheritanceFixtureData(); |
|
879 | ||
880 | $manager = $this->_em->find(CompanyManager::class, $this->managerId); |
|
881 | ||
882 | $this->assertFalse($manager->managedContracts->isInitialized()); |
|
883 | $this->assertEquals(4, count($manager->managedContracts->slice(0, 10))); |
|
884 | ||
885 | // Enable the filter |
|
886 | $this->useCompletedContractFilter(); |
|
887 | ||
888 | $this->assertFalse($manager->managedContracts->isInitialized()); |
|
889 | $this->assertEquals(2, count($manager->managedContracts->slice(0, 10))); |
|
890 | } |
|
891 | ||
892 | private function usePersonNameFilter($name) |
|
893 | { |
|
@@ 938-952 (lines=15) @@ | ||
935 | $this->assertTrue($contract->managers->contains($manager2)); |
|
936 | } |
|
937 | ||
938 | public function testManyToMany_ExtraLazySliceWithFilterOnCTI() |
|
939 | { |
|
940 | $this->loadCompanySingleTableInheritanceFixtureData(); |
|
941 | ||
942 | $contract = $this->_em->find(CompanyFlexUltraContract::class, $this->contractId1); |
|
943 | ||
944 | $this->assertFalse($contract->managers->isInitialized()); |
|
945 | $this->assertEquals(2, count($contract->managers->slice(0, 10))); |
|
946 | ||
947 | // Enable the filter |
|
948 | $this->usePersonNameFilter('Benjamin'); |
|
949 | ||
950 | $this->assertFalse($contract->managers->isInitialized()); |
|
951 | $this->assertEquals(1, count($contract->managers->slice(0, 10))); |
|
952 | } |
|
953 | ||
954 | public function testOneToMany_ExtraLazyCountWithFilterOnSTI() |
|
955 | { |
|
@@ 990-1005 (lines=16) @@ | ||
987 | $this->assertTrue($manager->soldContracts->contains($contract2)); |
|
988 | } |
|
989 | ||
990 | public function testOneToMany_ExtraLazySliceWithFilterOnSTI() |
|
991 | { |
|
992 | ||
993 | $this->loadCompanySingleTableInheritanceFixtureData(); |
|
994 | ||
995 | $manager = $this->_em->find(CompanyManager::class, $this->managerId); |
|
996 | ||
997 | $this->assertFalse($manager->soldContracts->isInitialized()); |
|
998 | $this->assertEquals(2, count($manager->soldContracts->slice(0, 10))); |
|
999 | ||
1000 | // Enable the filter |
|
1001 | $this->useCompletedContractFilter(); |
|
1002 | ||
1003 | $this->assertFalse($manager->soldContracts->isInitialized()); |
|
1004 | $this->assertEquals(1, count($manager->soldContracts->slice(0, 10))); |
|
1005 | } |
|
1006 | private function loadCompanyOrganizationEventJoinedSubclassFixtureData() |
|
1007 | { |
|
1008 | $organization = new CompanyOrganization; |
|
@@ 1076-1090 (lines=15) @@ | ||
1073 | $this->assertTrue($organization->events->contains($event2)); |
|
1074 | } |
|
1075 | ||
1076 | public function testOneToMany_ExtraLazySliceWithFilterOnCTI() |
|
1077 | { |
|
1078 | $this->loadCompanyOrganizationEventJoinedSubclassFixtureData(); |
|
1079 | ||
1080 | $organization = $this->_em->find(CompanyOrganization::class, $this->organizationId); |
|
1081 | ||
1082 | $this->assertFalse($organization->events->isInitialized()); |
|
1083 | $this->assertEquals(2, count($organization->events->slice(0, 10))); |
|
1084 | ||
1085 | // Enable the filter |
|
1086 | $this->useCompanyEventIdFilter(); |
|
1087 | ||
1088 | $this->assertFalse($organization->events->isInitialized()); |
|
1089 | $this->assertEquals(1, count($organization->events->slice(0, 10))); |
|
1090 | } |
|
1091 | } |
|
1092 | ||
1093 | class MySoftDeleteFilter extends SQLFilter |