TDD angular, como testar o roteadorLink ou alteração de URL

Foto de JESHOOTS.COM em Unsplash

Me deparei com um problema que precisava verificar se meus links estavam funcionando corretamente, apesar de precisarem mesclar os parâmetros de consulta já definidos no navegador e navegar para outra página do aplicativo.

Não havia muitas soluções para esse problema específico, então esse é o resultado.

As partes importantes deste código são as seguintes:

  • “RouterTestingModule.withRoutes (routes)” e seus roteamentos, para que o TestBed entenda para onde navegar, sendo a página navegada zombada por lá.
  • "FakeAsync", pois o encaminhamento e a verificação são promessas que não nos importamos.
  • "Fixture.ngZone.run", para evitar alguns avisos

Se você ficou confuso com a falta do BeforeEach, tenho este artigo explicando o porquê.

Se você gosta deste artigo, existem outras postagens que podem lhe interessar:

  • O peso de uma dependência em um aplicativo SPA moderno
  • Front-end para aplicativos de página única (Angular, React, Vue) que se adapta à sua equipe e como entender isso.
  • Criando uma diretiva featureToggle no Angular.