I have the following scenario:
public class Child : Parent
{
private int _eventTypeId;
 public override Dictionary<string, dynamic> Execute(IDynamicDatabaseConnection dbConn, IDbTransaction dbTrans)
        {
_eventTypeId = GetEventType(dbConn, dbTrans);
}
}
public abstract class Parent : ParentInterface
    {
protected int GetEventType(IDynamicDatabaseConnection dbConn, IDbTransaction dbTrans) => GetItemId("EventType", "User Initiated", dbConn, dbTrans);
 protected int GetItemId(string param1, string param2, IDynamicDatabaseConnection dbConn, IDbTransaction dbTrans) =>
            dbConn.Query<int>(
                $@"myQuery",
                dbTrans).FirstOrDefault();
public abstract Dictionary<string, dynamic> Execute(IDynamicDatabaseConnection dbConn, IDbTransaction dbTrans);
}
    public interface ParentInterface
    {
        Dictionary<string, dynamic> Execute(IDynamicDatabaseConnection dbConn, IDbTransaction dbTrans);
    }
How should I be mocking the GetEventType method from my child class?
I use mocking in the following way.
            var connMock = A.Fake<IDynamicDatabaseConnection>();
            var transMock = A.Fake<IDbTransaction>();
            A.CallTo(() => connMock.BeginTransaction()).Returns(transMock);
A.CallTo(() => dbConnMock.Query<string>(null, null, null, A<bool>._, null, null)).WithAnyArguments().Returns(new List<string>() { "AfterSaveSPName" });
Update: Adding the Child Class Test Method which I am testing.
        [TestMethod]
        public void Initiate_Intake_Should_Insert_FormMode_Initiate()
        {
            // Arrange
            Dictionary<string, dynamic> childParameters = new Dictionary<string, dynamic>
            {
                 {Key, -1}
            };
            var dynamicAssembly = A.Fake<IDynamicAssembly>();
            var connMock = A.Fake<IDynamicDatabaseConnection>();
            var transMock = A.Fake<IDbTransaction>();
            var fakeInitiateIntake = A.Fake<InitiateBase>(options => options.Implements<IInitiateBase>());
            
A.CallTo(() => connMock.BeginTransaction()).Returns(transMock);
            A.CallTo(fakeInitiateIntake).Where(call => call.Method.Name == "GetEventType")
                .WithReturnType<int>()
                .Returns(197);
            // Act
            var child = new Child(childParameters, dynamicAssembly);
            child.Execute(connMock, transMock);
            // Assert
            initiateParameters["Key"].Equals(1234);
        }
 
    