The best solution is the one that gets the tests to pass

As I said yesterday, there is no perfect solution or approach for every situation.

However, when doing test-driven development, there is a best solution.

The simplest thing that gets a failing test to pass.

Whether it's hard-coding a return value or putting the initial logic in a Controller, that's the objective.

Once the test is passing, you can refactor the code or continue writing tests, which will each have their own best solution.