I am new to fflib, currently I am struggling with tests. Maybe there is someone who can help me :)
public class someclass{
SEL_Contact contactSel = SEL_Contact.newInstance();
public String go(){
Account acc = new Account();
Id personAccId = APP_UTL_RecordType.getRecordTypeId('Account', 'PersonAccount');
acc.FirstName = data.firstName;
uow.registerNew(acc);
uow.commitWork();
System.debug('acc '+ acc.Id);
Contact[] contacts = contactSel.selectByAccountId(new Set<Id>{acc.Id}, new List<SObjectField>{});
return '1';
}
}
How can I test this? I've tried
fflib_ApexMocks mocks = new fflib_ApexMocks();
fflib_ISObjectUnitOfWork uowMock = new fflib_SObjectMocks.SObjectUnitOfWork(mocks);
SEL_Contact conSel = (SEL_Contact) mocks.mock(SEL_Contact.class)
mocks.startStubbing();
mocks.when(conSel.sObjectType()).thenReturn(Contact.SObjectType);
mocks.when(conSel.selectByAccountId(new Set<Id> {accId}, new List<SObjectField>{})).thenReturn(new List<Contact> {conRec});
mocks.stopStubbing();
But i don't know how to make selector return planned contact. I guess I am missing some uow mock?