I just updated Oaken's readme with a more complete description of how it differs from and blends the stableness and storytelling of Fixtures & the dynamicness of Factories.

I probably need to sleep on it too, but it does give a better overview for now:

https://github.com/kaspth/oaken

GitHub - kaspth/oaken: Oaken upgrades your development seeds, lets you reuse them in tests & blends the best of fixtures & factories into one cohesive whole.

Oaken upgrades your development seeds, lets you reuse them in tests & blends the best of fixtures & factories into one cohesive whole. - kaspth/oaken

GitHub

@kaspth This is awesome.

> While Fixtures and FactoryBot both load data & truncate in tests, the end result is you end up writing less data back & forth to the database because you aren’t cobbling stuff together.

1. How is oaken handling loading / truncating data?

2. Which seed files are loaded automatically in tests? I'm assuming everything except `db/seeds/tests/cases`

@kaspth 3. `users.create :kasper ...` There should be a simple end to end example with just one record. At first glance, I missed the fact this is not plain AR create. The symbol is important as that is used for referencing.

4. Since there can be multiple seeds files with flexibility to create any record, how are symbol clashes handled?

@manu_j 3. what do you mean end-to-end example? What `create` does or something more? Yeah, I've seen some other people raise that too, to me it seemed clear that it's a decorated `create`, but I have thought about renaming it to something like `resume` too.

4. I haven't added an error for that yet, so right now it's up to the developer to make them unique.

@kaspth 3. End to end means, both setup and usage together, like a quick start.

```
# seeds/accounts
donuts = accounts.create :kaspers_donuts, name: "Kasper's Donuts"
```

```
# testcase showing
accounts.kaspers_donuts
```
It's easy to miss the importance of that symbol ` :kaspers_donuts`

@manu_j ah yeah, totally. I see what you mean.

@manu_j hey, thank you very much for the feedback! I definitely need to make more README tweaks, so this is great.

1. We need to do some test parallelization related things, so it's done in here https://github.com/kaspth/oaken/blob/337caad7662962d2219f7833afa5c2bd96e98ffa/lib/oaken/test_setup.rb#L16

2. Nothing's loaded automatically, it's whatever people setup in Oaken.prepare, so in this example it'd be `{,test/} accounts/**/*.rb` and `{,test/}data/**/*.rb` https://github.com/kaspth/oaken#starting-in-development

oaken/lib/oaken/test_setup.rb at 337caad7662962d2219f7833afa5c2bd96e98ffa · kaspth/oaken

A fresh blended alternative to Fixtures & FactoryBot for dev and test data. - kaspth/oaken

GitHub
@kaspth Ok. since seeds is not loaded by tests in Rails by default, I had assumed
Oaken.prepare will only kick in if i run `db:seed` I think it is better to have `db/oaken.rb` and plug into `db:seed` task. One step further would be `db/oaken/seeds.rb` and `db/oaken/seeds/`
@manu_j I prefer it in db/seeds.rb right now.
@kaspth Ok. Quickstart will make it clear