Так например getReport наверное не является функцией без привязки к окружению, и ее можно разбить на fetchData, buildReport. и вот fetchData - привязка к окружению, а вот buildReport уже выполняется на каких то данных полученых раннее
и getReport можно протестировать как Юнит, только вот ну нужно тестировать зависимости когда надо тестить зависимости. Есть же моки и стабы для этого.
Так например getReport наверное не является функцией без привязки к окружению, и ее можно разбить на fetchData, buildReport. и вот fetchData - привязка к окружению, а вот buildReport уже выполняется на каких то данных полученых раннее