Getting input actions for InjectInputForAction without instancing the class and assinging IA in editor

I’m very new to C++ so this is probably basic. From blueprinting perspective:

I have input action - IA_Move, it’s assigned to InputMappingContext PlayerBasicContext, it’s added to player controller and all that.

If I want to InjectInputForAction in blueprints I just use dropdown and select IA_Move and that’s all.

But how do I do this in C++? I know that I can call InjectInputForAction from IEnhancedInputSubsystemInterfacebut how do I actually get a pointer to that IA_Move? I know that I can make a blueprint from that class and with UPROPERTY(EditAnywhere) expose a variable and set it in the editor, but can I set it from code? Or if I have to set it through editor can I set it on the class and not on blueprint derived form that class?

I’m trying to figure out how to move my automated tests from blueprints to C++ but I don’t understand this part. I want to make a base class from which the actual tests can be derived but I don’t want to set a whole list of input actions in every test. I know I can make a base blueprint from which the tests can be derived but that feels like uneccessary step, unless it’s actually how it’s supposed to work.

Ok I found that I can use ConstructorHelpers, but it needs a static path to the actual file so that’s a bad idea. I guess can’t go around making a base blueprint out of my class.