Problem specification and step -
1) Go to Order Manager app > Find Orders
2) Enter valid product id for which order exists
3) Relevant orders with entered product value would be shown in search results
4) Enter invalid product id - JUNK value
5) Error behvaior:All orders on the system would be highlighted
6) Actual behavior: No order should be shown as search results, as no order exists with this JUNK product id on system
When looked into code level found that system apply check for two condition -
1) If passes productId starts or ends with % or * then add that in condition list as it is and it returns all order that contains the word for product Ids.
2) If the above condition is failed the check if the product corresponding to product id is present or not.
3) If exists then check for variants (if its virtual)all this.
4) If product not exists then the action is missing i.e. no condition is added and it returns all order available.
There are two ways to solve the issue -
1) If product corresponding to passes productId is not present then return message to user that order is not present.
2) If the thought process for current behavior is show all record if product not available then user should get a message as well that "Order is not available for your search product but we have all these order in system" to convey the correct message to user.