I'm very sad. The bug is still there on version 4.7. Here is my test very similar to initial test 3 months ago
Initial Expiration Date: 20-11
Change A (3days) to B (7days): 01-12 <--
NOT OK. Should be 27.11 (+7)
Change B to B: 8-12 <-- OK if count from 01-12, its +7 days
Change B to A: 7-12 <--
NOT OK. Should be 11-12 (+3) but it (-1)
Change A to B: 18-12 <--
NOT OK. (+11). Should (+7)
Change B to A: 17-12 <--
NOT OK. (-1). Should (+3)
Change A to A: 20-12 <-- OK. (+3)
Change A to B: 31-12 <--
NOT OK. (+11). Should (+7)
Change B to A: 30-12 <--
NOT OK. (-1) Should (+3)
Break down:
- OK if update the same plan such as A to A or B to B
- PROBLEM when update different plan:
+ A to B: script add duration of both A and B, while it should only add B
+ B to A: script subtract duration by 1, while it should add duration of A
----> The correction is: Script should add duration of plan that you change to. Just that.
((((((
This is a big problem. We can't charge user for using such inconsistent service.