So imagine two Rails apps in same git repo (for the sake of an example - kinda in microservice manner):
```
apps/users
apps/shop
```
in order to login into shop - user needs to exist in users app
so when test is run for shop - gherkin scenario would look like this:
```
Feature: Shop cart
Scenario: User can populate cart
Given user exists
And shop items exist:
| name | price |
| apple | 1 |
| banana | 2 |
When user adds item "apple" in cart
Then cart total should be "1"
```
for brevity lets skip stepdefs for user adds item "apple" in cart and Then cart total should be "1"
These stepdefs would reside in apps/shop/features/fabrication_stepdefs.rb
```
Given("{string} exists") do |subject|
Fabricate(subject.to_sym) # should be fabricated in shop_test database
end
Given("shop {string} exist:") do |subject, table|
Fabricate(subject.to_sym, **table.rows_hash) # should be fabricated in users_test database
end
```
One approach would be to mock users app, but all these apps are in our possesion (no 3rd party) so we would like to test real integration.
I had an idea about gem that could manage multiple instances of Fabrication one per each app and then invoke it like :
```
any_fabricate(app: :user_app, :user)
or
any_fabricate(app: :shop, :item, **opts)
```
I noticed that there is a support for Rails engines, do you think I could apply this also with multiple apps ?