Generate passing live tests when schema and table names are equal #6477
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Generate passing live tests when schema and table names are equal
When the live generator is used with a schema name that is the same as
the table name, the generated tests should not fail.
This change makes sure that the generated tests correctly target the
collection item elements by using
schema.collection
instead ofschema.table
.The following generator calling variations should therefore work as
intended:
mix phx.gen.live Books Series series name:string
mix phx.gen.live Books Author authors name:string
mix phx.gen.live Books Covers covers --primary-key covers_id front:text back:text
mix phx.gen.live Books Reviewer reviewers --primary-key reviewer_id name:string
For context, before this change, calling the generator with the same
word for schema name and table name (e.g.
mix phx.gen.live Books Series series name:string
) resulted in failing tests with errors like:Reason being, that the stream used to generate the listing was named
after the
schema.collection
which was in this case suffixed with_collection
while the tests used theschema.plural
value.For reference see: