[7.x] Add console test method to expect a confirmation question #31965
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.
While creating tests for an Artisan command, I came to a quite interesting situation. I found out that expecting a confirmation question is different than answering any other question because answers such as
'Yes'
or'No'
do not work here. Actually, abool
value has to be passed.Scenario
This is an example of a command that could be tested:
An example of the test following the official documentation:
Running this test will result into the following error:
The confirmation question requires
true
orfalse
as the result value. So the right and confusing way is following:Conclusion
To comply with the available method in Artisan commands for the confirmation question,
confirm()
, I created a test method and updated the documentation for theexpectsQuestion()
method.The example test after merging this PR would look like this: