Skip to content

[Autocomplete] Warn when using wrong getOptionSelected#19699

Merged
oliviertassinari merged 4 commits into
mui:masterfrom
ahmad-reza619:patch-autocomplete
Feb 20, 2020
Merged

[Autocomplete] Warn when using wrong getOptionSelected#19699
oliviertassinari merged 4 commits into
mui:masterfrom
ahmad-reza619:patch-autocomplete

Conversation

@ahmad-reza619

@ahmad-reza619 ahmad-reza619 commented Feb 14, 2020

Copy link
Copy Markdown
Contributor

Close #19595

I followed what suggested in the issue, but i suggest to change the props getOptionSelected to be more precise. It can be as what suggested by @oliviertassinari like optionEqualValue, or my recommendation is getSelectedOption. but it's up to you guys (actually i had a little hard time thinking what this props does, but i don't know if it's will become a breaking change 🤔 )

i used array filter here. it does support all kinds of browsers except IE 6-8 based on this report

Have a nice day 😄

@mui-pr-bot

mui-pr-bot commented Feb 14, 2020

Copy link
Copy Markdown

No bundle size changes comparing 5ed8d0a...0bd00e0

Generated by 🚫 dangerJS against 0bd00e0

@oliviertassinari

Copy link
Copy Markdown
Member

@ahmad-reza619 Thanks, it would be perfect with a test case.

@oliviertassinari oliviertassinari changed the title [Autocomplete] warn when using wrong implementation of getOptionSelected [Autocomplete] Warn when using wrong getOptionSelected Feb 14, 2020
@oliviertassinari oliviertassinari added the scope: autocomplete Changes related to the autocomplete. This includes ComboBox. label Feb 14, 2020
@ahmad-reza619

Copy link
Copy Markdown
Contributor Author

@oliviertassinari alright, will do

@ahmad-reza619

ahmad-reza619 commented Feb 14, 2020

Copy link
Copy Markdown
Contributor Author

I'm a bit confused as to where to put the test case, Autocomplete or useAutoComplete? 🤔 sorry btw i'm new when it comes to testing

Comment thread packages/material-ui-lab/src/useAutocomplete/useAutocomplete.js Outdated
@oliviertassinari oliviertassinari added type: new feature Expand the scope of the product to solve a new problem. PR: needs revision labels Feb 14, 2020
@oliviertassinari

Copy link
Copy Markdown
Member

@ahmad-reza619 Do you think that you could add a test case? :)

@ahmad-reza619

Copy link
Copy Markdown
Contributor Author

@ahmad-reza619 Do you think that you could add a test case? :)

i'll do but it's kinda hard for me 😢 i don't understand about testing and this lib surely huge😅 i would like some guidance 😄

@ahmad-reza619

Copy link
Copy Markdown
Contributor Author

do i have to only give getOptionSelected props in testing 🤔 and also am i have to use stub or spy to replicate it's functionality. 😓 sorry btw still confused here

@eps1lon

eps1lon commented Feb 18, 2020

Copy link
Copy Markdown
Member

do i have to only give getOptionSelected props in testing and also am i have to use stub or spy to replicate it's functionality. sorry btw still confused here

Try writing a component that passes props to Autocomplete so that this warning is triggered. For how to assert on the warning you could use https://github.com/mui-org/material-ui/blob/f57707d1c328d22e2ce46dd12f08164271534f90/packages/material-ui/src/Breadcrumbs/Breadcrumbs.test.js#L84-L110 as an inspiration.

@ahmad-reza619

Copy link
Copy Markdown
Contributor Author

@eps1lon but this one a little bit complex i think 🤔 because you have to make a component to assert this behavior. and there's no example that i can use 😓

@oliviertassinari oliviertassinari left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't worry, writing a test case can be challenging. It requires a deep understanding of what's going on. I have added one, I think that we can move forward :)

@ahmad-reza619

Copy link
Copy Markdown
Contributor Author

Don't worry, writing a test case can be challenging. It requires a deep understanding of what's going on. I have added one, I think that we can move forward :)

Thank you so much for the help, but it's fail? is it because of the test 🤔 ?

@oliviertassinari
oliviertassinari merged commit a5a3785 into mui:master Feb 20, 2020
@oliviertassinari

Copy link
Copy Markdown
Member

Azure pipeline has been unreliable since yesterday, I don't know if the issue is on our side, there are out of memory crashes. Reruning solves the problem. To monitor. Thanks.

@OmarZidan1997

Copy link
Copy Markdown

@oliviertassinari
I faced the same error here and im using the example in material ui documentation.. Is there any way i can fix that?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope: autocomplete Changes related to the autocomplete. This includes ComboBox. type: new feature Expand the scope of the product to solve a new problem.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[autocomplete] Warn wrong comparison getOptionSelected implementation

5 participants