The article discusses the importance of testing strategies for NestJS Guards, which are often overlooked in many articles.
The author aims to provide a deeper understanding of testing Guards in NestJS through a series of articles covering various strategies.
The example scenario used in the article involves an application named 'WordWiz' with different subscription tiers and corresponding access levels.
The approach involves creating integration tests for Guards, simulating endpoints with various subscription requirements.
The Tests CAP Theorem is introduced, highlighting the balance between protection, speed, and maintainability in automated tests.
Integration tests are recommended as a starting point to test the entire flow and decision-making process of Guards.
The Humble Object pattern is employed to extract domain logic from Guards and test them in isolation for faster feedback.
Efforts are made to balance between unit, integration, and e2e tests based on the characteristics of each type of test.
The article concludes with a demonstration of e2e tests for endpoints with Guard implementation, ensuring access based on subscription levels.
Overall, the article aims to provide a comprehensive approach to testing NestJS Guards, emphasizing reliability, maintainability, and clear testing strategies.