Need code review

You’re very welcome! :smiley:

Test Driven Development means that you first write tests and then fill in your code so they pass, which is not what you’re doing here. (Which is, of course, also a fine approach. :stuck_out_tongue_winking_eye: Each way has its own advantages and drawbacks.)

The thing you probably want to test here, and also the way you can test the macro, is by simply creating a few modules that include the using Ecto.Shortcuts line. You could then test if the commands are properly passed on to the actual Repo when you call them on your test modules.

Another possible test is to test what happens if using Ecto.Shortcuts is added to a module that actually does not contain an Ecto schema.

If you need inspiration, feel free to pop open any of Elixir’s core libraries, such as for instance Ecto itself to see how they write tests there. Most of them are very understandable and of (at least in my opinion) a high quality.

And, especially when your modules start getting more complex, it might be worthwhile to check out José Valim’s post on using Mocks during testing.