test(watch_group): add remaining watch group tests

A number of tests are commented as `TODO`, these should be implemented or removed entirely after
some investigation. The porting of the various forms of function watches to ES6 is likely not a
1:1 change, which is why these have been delayed.