-
Notifications
You must be signed in to change notification settings - Fork 179
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEATURE]New database factory system #526
Conversation
… Remove factory relationships.
Codecov Report
@@ Coverage Diff @@
## 1.8 #526 +/- ##
============================================
+ Coverage 54.49% 55.32% +0.82%
- Complexity 824 889 +65
============================================
Files 101 103 +2
Lines 2325 2500 +175
============================================
+ Hits 1267 1383 +116
- Misses 1058 1117 +59
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
…ory system and laravel default
Looks good to me |
Assertions documentation
Please let me know if you have any questions or need any assistance from me. |
Any news regarding this? should be awesome to have this running.... |
Hey all, I'm new to laravel-doctrine but love having good testing utilities. Is there anything we can do to help move this along? |
I got fed up with waiting so I made my own package. https://github.com/nolanos/laravel-doctrine-factory/ I took the approach of literally just subclassing Laravel's |
Closing due to #526 (comment) |
@TomHAnderson would it be possible to just merge @ncphillips package into this repo? The functionality should really be under the "laravel-doctrine" umbrella, reasons being:
[1] all my tests that passed with v2 now throw an error "InvalidArgumentException: Unable to locate factory with name [default] [Entity\Name\Space\ClassName]" |
@ncphillips What's your opinion about your factory package? Does it belong as a separate package or do you think it should be a part of this one? Personally, I like the idea of a separate package. A page in the docs that lists other repos that work alongside this would be useful (e.g. https://webonyx.github.io/graphql-php/complementary-tools/). |
Hey @TomHAnderson and @sstutz My understanding was that that's more about integrating laravel with I think it would be reasonable to move it into your Github organization as The package isn't really ready yet though. It doesn't support m2m relationships and some other things. Probably shouldn't be at v1 yet. Either way, as long as I was made a maintainer of that repo I would be fine with moving it over. I doubt I'll want to maintain it long term, so being in an org like this would be a good idea. That said, your call @TomHAnderson |
I won't make a decision at this time. Instead, please continue your work on the project, and if it is useful and does the whole job, I'll consider bringing it to laravel-doctrine. |
Closing this in anticipation of a future issue or PR with a more fully complete implementation of Factory. |
Changes proposed in this pull request:
The new database factory system is added, it was copied from the Laravel Eloquent modern factories https://laravel.com/docs/9.x/database-testing
Everything except Factory relationships has been implemented and works for Doctrine.
The new system is object-oriented, easily extensible, doesn't use any magic files and supports IDE autocompletion.
Fixes #470
Changes to be done
Please let me know if this PR looks good, and I'll add documentation (actually copy-paste it from the Laravel).
The current implementation of database factories
While Laravel moved the old factory system into another package laravel/legacy-factories, we might leave it for backward compatibility as both systems can coexist without any problem.