foreman
foreman copied to clipboard
Refactor smart_proxy factories and tests
This makes the factories consistently use association, which works properly with build and create strategies. They're implemented as traits so can be mixed.
Because they're now consistent, it can use loops to define all features.
Currently a draft because I only did limited testing. If this works well, other factories should be cleaned up in a similar way. They can be made a lot shorter and more powerful. With association you can also use build_stubbed in more places, so eventually we can speed up more tests to avoid database interactions.