Conheça os test helpers: #travel_to e #travel_back no Rails 4.1
Quem trabalha com testes no Ruby on Rails certamente já teve de recorrer a gem timecop para cobrir os testes com dependências de tempo.
Como exemplo, posso citar a regra de negócio de um seguinte cenário:
O pagamento de um aluguel deve ser realizado em uma data específica de cada mês, exceto quando esse data cai em um fim de semana. Nesse caso, o pagamento será realizado na próxima segunda-feira.
Onde a gem timecop atua?
Timecop é uma gem que provê à nossa aplicação a capacidade de viajar ou parar no tempo, isso permite que consigamos realizar testes com dependência de tempo de forma muito simples, e certamente assegurar os testes para a nossa regra de negócio detalhada acima.
Os test helpers #travel_to e #travel_back
Com a nova release do Rails 4.1, agora temos os métodos: #travel_to e #travel_back.
Com o #travel_to podemos facilmente alterar o dia e horário fornecendo um valor ou duração de tempo. Já o #travel_back faz com que retornemos ao estágio atual, desfazendo as alterações do #travel_to.
Essa feature teve um destaque muito pequeno (o que não diminui sua importância, na minha opinião), sendo mencionada apenas no final das notas da release:
Editado em 24/10/2014
Exemplo de uso
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Referência: http://brandonhilkert.com/blog/rails-4-1-travel-to-test-helper/