Please reorder the commits so that the tests come first in the git history, with todo_wine where appropriate, *then* the commits that implement the things you added tests for, removing the todo_wine as they get implemented. It's of course also a good idea to split into batches like you already did, only with the tests first in each batch.
In this case, as the tests use functions which aren't yet exported, you will need to add stub functions to bluetoothapi first, then the tests, then the implementation.
It's also generally well appreciated to split changes (a lot, you can hardly overdo it), and test and implement things gradually.