JSON Forms will emit a new data object when an input is modified and not modify the old data handed over. So the test must be written against this new data object.
This is what we do in some of our tests, i.e. we add a special TestEmitter so we get access to the updated data within the test. We then check that data after a small timeout.
Actually, I am passing a callback function to a submit button rendered under the jsonform. The submit action will pass the current state of the form data. I am doing assertions in the callback function. But the callback never gets called with the expected data. Interestingly enough it works fine in the browser with human interactions.