Skip to content

Commit 2097676

Browse files
authored
Fixes #508 - Test selectors with Case/CaseComment not Lead/CampaignMember (#509)
1 parent b22fa15 commit 2097676

File tree

1 file changed

+49
-49
lines changed

1 file changed

+49
-49
lines changed

sfdx-source/apex-common/test/classes/fflib_SObjectSelectorTest.cls

Lines changed: 49 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -709,27 +709,27 @@ private with sharing class fflib_SObjectSelectorTest
709709
static void toSOQL_When_PolymorphicSelect_Expect_RelatedType() {
710710
//Given
711711

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');
716716

717717

718718
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'
720720
};
721721
if (UserInfo.isMultiCurrencyOrganization()) {
722722
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
725725
}
726726

727727
//When
728728
String soql = qf.toSOQL();
729729

730730
//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()}));
733733
Matcher soqlMatcher = soqlPattern.matcher(soql);
734734
soqlMatcher.matches();
735735

@@ -741,29 +741,29 @@ private with sharing class fflib_SObjectSelectorTest
741741
static void toSOQL_When_PolymorphicSelectInMulticurrency_Expect_RelatedType() {
742742
//Given
743743

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');
748748

749749

750750
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'
752752
};
753753
Set<String> unexpectedSelectFields = new Set<String>();
754754
if (UserInfo.isMultiCurrencyOrganization()) {
755755
expectedSelectFields.add('CurrencyIsoCode');
756-
expectedSelectFields.add('Lead.CurrencyIsoCode');
756+
expectedSelectFields.add('Parent.CurrencyIsoCode');
757757

758-
unexpectedSelectFields.add('Lead.Owner.CurrencyIsoCode'); // Because Group does NOT have CurrencyIsoCode
758+
unexpectedSelectFields.add('Parent.Owner.CurrencyIsoCode'); // Because Group does NOT have CurrencyIsoCode
759759
}
760760

761761
//When
762762
String soql = qf.toSOQL();
763763
System.debug(soql);
764764

765765
//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 ');
767767
Matcher soqlMatcher = soqlPattern.matcher(soql);
768768
soqlMatcher.matches();
769769

@@ -780,30 +780,30 @@ private with sharing class fflib_SObjectSelectorTest
780780

781781
@IsTest
782782
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');
787787

788788
List<String> expectedSelectFields = new List<String>();
789789
expectedSelectFields.add('id');
790-
expectedSelectFields.add('status');
790+
expectedSelectFields.add('commentbody');
791791
if (UserInfo.isMultiCurrencyOrganization()) {
792792
expectedSelectFields.add('currencyisocode');
793793
}
794-
expectedSelectFields.add('lead.ownerid');
795-
expectedSelectFields.add('lead.id');
794+
expectedSelectFields.add('parent.ownerid');
795+
expectedSelectFields.add('parent.id');
796796
if (UserInfo.isMultiCurrencyOrganization()) {
797-
expectedSelectFields.add('lead.currencyisocode');
797+
expectedSelectFields.add('parent.currencyisocode');
798798
}
799-
expectedSelectFields.add('lead.owner.userroleid');
800-
expectedSelectFields.add('lead.owner.id');
799+
expectedSelectFields.add('parent.owner.userroleid');
800+
expectedSelectFields.add('parent.owner.id');
801801
if (UserInfo.isMultiCurrencyOrganization()) {
802-
expectedSelectFields.add('lead.owner.currencyisocode');
802+
expectedSelectFields.add('parent.owner.currencyisocode');
803803
}
804804

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()});
807807

808808
//When
809809
String actualSOQL = qf.toSOQL();
@@ -843,70 +843,70 @@ private with sharing class fflib_SObjectSelectorTest
843843
Assert.areEqual(expected,aQF.toSOQL());
844844
}
845845

846-
private class CampaignMemberSelector extends fflib_SObjectSelector {
847-
public CampaignMemberSelector(DataAccess access) {
846+
private class CaseCommentSelector extends fflib_SObjectSelector {
847+
public CaseCommentSelector(DataAccess access) {
848848
super(false, access);
849849
}
850850

851851
public List<Schema.SObjectField> getSObjectFieldList() {
852852
return new List<Schema.SObjectField>{
853-
CampaignMember.Id,
854-
CampaignMember.Status
853+
CaseComment.Id,
854+
CaseComment.CommentBody
855855
};
856856
}
857857

858858
public Schema.SObjectType getSObjectType() {
859-
return CampaignMember.sObjectType;
859+
return CaseComment.sObjectType;
860860
}
861861
}
862862

863-
private class UserSelector extends fflib_SObjectSelector {
864-
public UserSelector() {
863+
private class CaseSelector extends fflib_SObjectSelector {
864+
public CaseSelector() {
865865
super();
866866
}
867867

868868
public List<Schema.SObjectField> getSObjectFieldList() {
869869
return new List<Schema.SObjectField>{
870-
User.UserRoleId,
871-
User.Id
870+
Case.OwnerId,
871+
Case.Id
872872
};
873873
}
874874

875875
public Schema.SObjectType getSObjectType() {
876-
return User.sObjectType;
876+
return Case.sObjectType;
877877
}
878878
}
879879

880-
private class GroupSelector extends fflib_SObjectSelector {
881-
public GroupSelector() {
880+
private class UserSelector extends fflib_SObjectSelector {
881+
public UserSelector() {
882882
super();
883883
}
884884

885885
public List<Schema.SObjectField> getSObjectFieldList() {
886886
return new List<Schema.SObjectField>{
887-
Group.Id
887+
User.UserRoleId,
888+
User.Id
888889
};
889890
}
890891

891892
public Schema.SObjectType getSObjectType() {
892-
return Group.sObjectType;
893+
return User.sObjectType;
893894
}
894895
}
895896

896-
private class LeadSelector extends fflib_SObjectSelector {
897-
public LeadSelector() {
897+
private class GroupSelector extends fflib_SObjectSelector {
898+
public GroupSelector() {
898899
super();
899900
}
900901

901902
public List<Schema.SObjectField> getSObjectFieldList() {
902903
return new List<Schema.SObjectField>{
903-
Lead.OwnerId,
904-
Lead.Id
904+
Group.Id
905905
};
906906
}
907907

908908
public Schema.SObjectType getSObjectType() {
909-
return Lead.sObjectType;
909+
return Group.sObjectType;
910910
}
911911
}
912912
}

0 commit comments

Comments
 (0)