(#1479) Test that changes always returns a promise with cancel method

It is a bit excessive, but easier to always check for a promise and cancel than analyize the code to ensure full coverage with minimal tests.