@@ -709,27 +709,27 @@ private with sharing class fflib_SObjectSelectorTest
709
709
static void toSOQL_When_PolymorphicSelect_Expect_RelatedType () {
710
710
// Given
711
711
712
- CampaignMemberSelector cmSelector = new CampaignMemberSelector (fflib_SObjectSelector .DataAccess .LEGACY );
713
- fflib_QueryFactory qf = cmSelector .newQueryFactory ();
714
- new LeadSelector ().configureQueryFactoryFields (qf , ' Lead ' );
715
- new UserSelector ().configureQueryFactoryFields (qf , ' Lead .Owner' );
712
+ CaseCommentSelector ccSelector = new CaseCommentSelector (fflib_SObjectSelector .DataAccess .LEGACY );
713
+ fflib_QueryFactory qf = ccSelector .newQueryFactory ();
714
+ new CaseSelector ().configureQueryFactoryFields (qf , ' Parent ' );
715
+ new UserSelector ().configureQueryFactoryFields (qf , ' Parent .Owner' );
716
716
717
717
718
718
Set <String > expectedSelectFields = new Set <String >{
719
- ' Id' , ' Status ' , ' Lead .Id' , ' Lead .OwnerId' , ' Lead .Owner.Id' , ' Lead .Owner.UserRoleId'
719
+ ' Id' , ' CommentBody ' , ' Parent .Id' , ' Parent .OwnerId' , ' Parent .Owner.Id' , ' Parent .Owner.UserRoleId'
720
720
};
721
721
if (UserInfo .isMultiCurrencyOrganization ()) {
722
722
expectedSelectFields .add (' CurrencyIsoCode' );
723
- expectedSelectFields .add (' Lead .CurrencyIsoCode' );
724
- expectedSelectFields .add (' Lead .Owner.CurrencyIsoCode' ); // Because the Selector is for User; Group would not have
723
+ expectedSelectFields .add (' Parent .CurrencyIsoCode' );
724
+ expectedSelectFields .add (' Parent .Owner.CurrencyIsoCode' ); // Because the Selector is for User; Group would not have
725
725
}
726
726
727
727
// When
728
728
String soql = qf .toSOQL ();
729
729
730
730
// Then
731
- Pattern soqlPattern = Pattern .compile (String .format (' SELECT (.*) FROM CampaignMember ORDER BY {0} ASC NULLS FIRST ' ,
732
- new List <String >{cmSelector .getOrderBy ()}));
731
+ Pattern soqlPattern = Pattern .compile (String .format (' SELECT (.*) FROM CaseComment ORDER BY {0} ASC NULLS FIRST ' ,
732
+ new List <String >{ccSelector .getOrderBy ()}));
733
733
Matcher soqlMatcher = soqlPattern .matcher (soql );
734
734
soqlMatcher .matches ();
735
735
@@ -741,29 +741,29 @@ private with sharing class fflib_SObjectSelectorTest
741
741
static void toSOQL_When_PolymorphicSelectInMulticurrency_Expect_RelatedType () {
742
742
// Given
743
743
744
- CampaignMemberSelector cmSelector = new CampaignMemberSelector (fflib_SObjectSelector .DataAccess .LEGACY );
745
- fflib_QueryFactory qf = cmSelector .newQueryFactory ();
746
- new LeadSelector ().configureQueryFactoryFields (qf , ' Lead ' );
747
- new GroupSelector ().configureQueryFactoryFields (qf , ' Lead .Owner' );
744
+ CaseCommentSelector ccSelector = new CaseCommentSelector (fflib_SObjectSelector .DataAccess .LEGACY );
745
+ fflib_QueryFactory qf = ccSelector .newQueryFactory ();
746
+ new CaseSelector ().configureQueryFactoryFields (qf , ' Parent ' );
747
+ new GroupSelector ().configureQueryFactoryFields (qf , ' Parent .Owner' );
748
748
749
749
750
750
Set <String > expectedSelectFields = new Set <String >{
751
- ' Id' , ' Status ' , ' Lead .Id' , ' Lead .OwnerId' , ' Lead .Owner.Id'
751
+ ' Id' , ' CommentBody ' , ' Parent .Id' , ' Parent .OwnerId' , ' Parent .Owner.Id'
752
752
};
753
753
Set <String > unexpectedSelectFields = new Set <String >();
754
754
if (UserInfo .isMultiCurrencyOrganization ()) {
755
755
expectedSelectFields .add (' CurrencyIsoCode' );
756
- expectedSelectFields .add (' Lead .CurrencyIsoCode' );
756
+ expectedSelectFields .add (' Parent .CurrencyIsoCode' );
757
757
758
- unexpectedSelectFields .add (' Lead .Owner.CurrencyIsoCode' ); // Because Group does NOT have CurrencyIsoCode
758
+ unexpectedSelectFields .add (' Parent .Owner.CurrencyIsoCode' ); // Because Group does NOT have CurrencyIsoCode
759
759
}
760
760
761
761
// When
762
762
String soql = qf .toSOQL ();
763
763
System .debug (soql );
764
764
765
765
// Then
766
- Pattern soqlPattern = Pattern .compile (' SELECT (.*) FROM CampaignMember ORDER BY CreatedDate ASC NULLS FIRST ' );
766
+ Pattern soqlPattern = Pattern .compile (' SELECT (.*) FROM CaseComment ORDER BY CreatedDate ASC NULLS FIRST ' );
767
767
Matcher soqlMatcher = soqlPattern .matcher (soql );
768
768
soqlMatcher .matches ();
769
769
@@ -780,30 +780,30 @@ private with sharing class fflib_SObjectSelectorTest
780
780
781
781
@IsTest
782
782
static void toSOQL_When_SystemModePolymorphicSelect_Expect_RelatedType () {
783
- CampaignMemberSelector cmSelector = new CampaignMemberSelector (fflib_SObjectSelector .DataAccess .SYSTEM_MODE );
784
- fflib_QueryFactory qf = cmSelector .newQueryFactory ();
785
- new LeadSelector ().configureQueryFactoryFields (qf , ' Lead ' );
786
- new UserSelector ().configureQueryFactoryFields (qf , ' Lead .Owner' );
783
+ CaseCommentSelector ccSelector = new CaseCommentSelector (fflib_SObjectSelector .DataAccess .SYSTEM_MODE );
784
+ fflib_QueryFactory qf = ccSelector .newQueryFactory ();
785
+ new CaseSelector ().configureQueryFactoryFields (qf , ' Parent ' );
786
+ new UserSelector ().configureQueryFactoryFields (qf , ' Parent .Owner' );
787
787
788
788
List <String > expectedSelectFields = new List <String >();
789
789
expectedSelectFields .add (' id' );
790
- expectedSelectFields .add (' status ' );
790
+ expectedSelectFields .add (' commentbody ' );
791
791
if (UserInfo .isMultiCurrencyOrganization ()) {
792
792
expectedSelectFields .add (' currencyisocode' );
793
793
}
794
- expectedSelectFields .add (' lead .ownerid' );
795
- expectedSelectFields .add (' lead .id' );
794
+ expectedSelectFields .add (' parent .ownerid' );
795
+ expectedSelectFields .add (' parent .id' );
796
796
if (UserInfo .isMultiCurrencyOrganization ()) {
797
- expectedSelectFields .add (' lead .currencyisocode' );
797
+ expectedSelectFields .add (' parent .currencyisocode' );
798
798
}
799
- expectedSelectFields .add (' lead .owner.userroleid' );
800
- expectedSelectFields .add (' lead .owner.id' );
799
+ expectedSelectFields .add (' parent .owner.userroleid' );
800
+ expectedSelectFields .add (' parent .owner.id' );
801
801
if (UserInfo .isMultiCurrencyOrganization ()) {
802
- expectedSelectFields .add (' lead .owner.currencyisocode' );
802
+ expectedSelectFields .add (' parent .owner.currencyisocode' );
803
803
}
804
804
805
- String expectedSOQL = String .format (' SELECT ' + String .join (expectedSelectFields ,' , ' ) + ' FROM CampaignMember WITH SYSTEM_MODE ORDER BY {0} ASC NULLS FIRST ' ,
806
- new List <String >{cmSelector .getOrderBy ()});
805
+ String expectedSOQL = String .format (' SELECT ' + String .join (expectedSelectFields ,' , ' ) + ' FROM CaseComment WITH SYSTEM_MODE ORDER BY {0} ASC NULLS FIRST ' ,
806
+ new List <String >{ccSelector .getOrderBy ()});
807
807
808
808
// When
809
809
String actualSOQL = qf .toSOQL ();
@@ -843,70 +843,70 @@ private with sharing class fflib_SObjectSelectorTest
843
843
Assert .areEqual (expected ,aQF .toSOQL ());
844
844
}
845
845
846
- private class CampaignMemberSelector extends fflib_SObjectSelector {
847
- public CampaignMemberSelector (DataAccess access ) {
846
+ private class CaseCommentSelector extends fflib_SObjectSelector {
847
+ public CaseCommentSelector (DataAccess access ) {
848
848
super (false , access );
849
849
}
850
850
851
851
public List <Schema .SObjectField > getSObjectFieldList () {
852
852
return new List <Schema .SObjectField >{
853
- CampaignMember .Id ,
854
- CampaignMember . Status
853
+ CaseComment .Id ,
854
+ CaseComment . CommentBody
855
855
};
856
856
}
857
857
858
858
public Schema.SObjectType getSObjectType () {
859
- return CampaignMember .sObjectType ;
859
+ return CaseComment .sObjectType ;
860
860
}
861
861
}
862
862
863
- private class UserSelector extends fflib_SObjectSelector {
864
- public UserSelector () {
863
+ private class CaseSelector extends fflib_SObjectSelector {
864
+ public CaseSelector () {
865
865
super ();
866
866
}
867
867
868
868
public List <Schema .SObjectField > getSObjectFieldList () {
869
869
return new List <Schema .SObjectField >{
870
- User . UserRoleId ,
871
- User .Id
870
+ Case . OwnerId ,
871
+ Case .Id
872
872
};
873
873
}
874
874
875
875
public Schema.SObjectType getSObjectType () {
876
- return User .sObjectType ;
876
+ return Case .sObjectType ;
877
877
}
878
878
}
879
879
880
- private class GroupSelector extends fflib_SObjectSelector {
881
- public GroupSelector () {
880
+ private class UserSelector extends fflib_SObjectSelector {
881
+ public UserSelector () {
882
882
super ();
883
883
}
884
884
885
885
public List <Schema .SObjectField > getSObjectFieldList () {
886
886
return new List <Schema .SObjectField >{
887
- Group .Id
887
+ User .UserRoleId ,
888
+ User .Id
888
889
};
889
890
}
890
891
891
892
public Schema.SObjectType getSObjectType () {
892
- return Group .sObjectType ;
893
+ return User .sObjectType ;
893
894
}
894
895
}
895
896
896
- private class LeadSelector extends fflib_SObjectSelector {
897
- public LeadSelector () {
897
+ private class GroupSelector extends fflib_SObjectSelector {
898
+ public GroupSelector () {
898
899
super ();
899
900
}
900
901
901
902
public List <Schema .SObjectField > getSObjectFieldList () {
902
903
return new List <Schema .SObjectField >{
903
- Lead .OwnerId ,
904
- Lead .Id
904
+ Group .Id
905
905
};
906
906
}
907
907
908
908
public Schema.SObjectType getSObjectType () {
909
- return Lead .sObjectType ;
909
+ return Group .sObjectType ;
910
910
}
911
911
}
912
912
}
0 commit comments