Oi Amir!
Sim, você está no caminho certo! A sua intuição sobre mockar o retorno assíncrono de buscaSaldo com uma Promise está correta.
No gabarito, a implementação do mockImplementation para buscaSaldo retorna diretamente o valor do saldo (mockSaldo.valor). Isso funcionaria apenas para cenários em que buscaSaldo retorna um valor síncrono, o que não é o caso do seu código, já que buscaSaldo retorna uma Promise.
Para mockar corretamente o comportamento assíncrono de buscaSaldo, você precisa retornar uma Promise do mockImplementation. A sua sugestão de usar new Promise com setTimeout para simular um atraso na resolução da promise está perfeita!
Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!
Sucesso ✨
Um grande abraço e até mais!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!