Add proper unit tests for `ApplyArgs` mixin

This adds proper unit tests for the `ApplyArgs` mixin. This is
setup for making significant changes to the factory logic. This
gets the tests in a good place before I begin reworking the logic.
The previous tests were all system tests and mixed in with the
different factories themselves.

@kellyredding - Ready for review. This is preparation for the MR changes we have planned.