Bird
0
0

You want to test navigation to a child route with parameters using RouterTestingModule. Which approach correctly simulates navigation to /users/42/details?

hard📝 component behavior Q8 of 15
Angular - Testing
You want to test navigation to a child route with parameters using RouterTestingModule. Which approach correctly simulates navigation to /users/42/details?
Arouter.navigate(['/users/details?id=42']);
Brouter.navigate(['/users', 42, 'details']);
Crouter.navigate(['/users/details', 42]);
Drouter.navigate(['/users'], { queryParams: { id: 42, page: 'details' } });
Step-by-Step Solution
Solution:
  1. Step 1: Understand route parameter syntax

    Route parameters are passed as separate path segments in the array argument to navigate().
  2. Step 2: Analyze options

    router.navigate(['/users', 42, 'details']); correctly passes 'users', then 42 as param, then 'details'. router.navigate(['/users/details', 42]); mixes order. router.navigate(['/users/details?id=42']); treats param as query string incorrectly. router.navigate(['/users'], { queryParams: { id: 42, page: 'details' } }); uses queryParams, not path params.
  3. Final Answer:

    router.navigate(['/users', 42, 'details']); -> Option B
  4. Quick Check:

    Path params passed as separate segments in navigate() [OK]
Quick Trick: Pass route params as separate array elements in navigate() [OK]
Common Mistakes:
  • Combining params in one string segment
  • Using queryParams instead of path params
  • Incorrect order of path segments

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Angular Quizzes