Вы предоставляете
{ snapshot: { params: convertToParamMap({ id: '1' }) }
, поэтому его snapshot.params
пока вы пытаетесь получить к нему доступ через this.route.snapshot.paramMap
, как вы можете видеть, нетparamMap
в вашем макете.
Тот факт, что вы предоставляете объект как «значение», не означает, что этот объект автоматически станет экземпляром ActivatedRoute
.Это именно то, что вы определили - простой объект.Контроллер типа времени выполнения отсутствует, поэтому это разрешено.
Вы можете просто предоставить частичную реализацию, что-то вроде
useValue: { snapshot: { paramMap: {get:(id:number)=>{id:1}}}}
или сделать getter для этого свойства в своем компоненте - это позволит вам spy
на этом вызове getter, перехватить его ивернуть требуемое значение.