We have setup a discount in Marketing -> Catalog Price Rule.
The discount works on the product page.
The discount works on the cart page if more than one shipping method is available.
If one shipping method is available and is automatically selected, the discount is not applied.
We have tested this on the default magento 2 theme with no plugins enabled. After testing and reenabling theme and all plugins it will then work for a short while then it goes back to not applying.
I have noticed it is making ajax calls to shipping-information and totals-information returning the wrong values.
Magento Version: 2.1.7 PHP Version: 7.0
Interestingly if you refresh the page on the cart then the correct values are shown. It is as if the discounted price rate is being sent through after the table rates plugin has determined the shipping rate and then run an ajax update to reset the pricing.
It is the table rates shipping that seems to cause this but we cannot fine which piece of JS is doing the update in the cart pages.
The incorrect price also shows in the second checkout page.
Product discounted rule is not working for category exclusion in magento 2.1.4