I would try to spy on the element.focus() method instead of Compose.focus(), as it's the "external" manifestation.