Os testes que você montou da rota são testes de integração. Para serem testes e2e deveriam envolver o client no caso de testes, o que não acontece pois você testa apenas os endpoints. Do meu ponto de vista, seus testes de modelo são dispensáveis. Ali você apenas verifica se o valor atribuído a uma propriedade está naquela propriedade depois de atribuída. Não exercitam nenhuma lógica de negócios já que seus modelos não possuem nenhuma lógica de dominio.

Você tem alguma exemplo ou site que explique como que faz esses testes?

Para implementar você precisa ter alguma lógica a ser testada (métodos ou funções por exemplo). No seu projeto vc não tem isso. Seus objetos User, Transaction, Cycle,... são apenas dados. E você trafega eles direto para os endpoints. Não faz nenhum tipo de validação ou verificação em relação a integridade/validade deles. Fazer os testes é simples. Você implementou os de integração usando uma ferramenta de teste automatizado. Os testes unitários são basicamente a mesma coisa, mas você vai validar apenas a lógica de uma função/objeto e não um fluxo, como está fazendo. Você precisa identificar o que testar no seu código. Olhar os requisitos e regras de negócios para achar o que pode ser testado ali. Você disse que é um trabalho de faculdade então na solicitação deve ter algumas regras e condições a serem seguidas, como por exemplo que caracteriza uma transação válida. Apenas olhando o código identifico a senha que vc verifica se é valida ou inválida. Essa lógica pode ser isolada e ter um teste unitário para ela.