Closed
Description
// Test for #2796
it("should not re-resolve data, when redirecting to self with dynamic parameter update", (done) => {
let $registry = router.stateRegistry;
let $state = router.stateService;
let $transitions = router.transitionService;
let resolveCount = 0;
$registry.register({
name: 'dynamic',
url: '/dynamic/{param}',
params: {
param: { dynamic: true }
},
resolve: {
data: () => {
new Promise(resolve => resolve('Expensive data ' + resolveCount++))
}
}
});
$transitions.onEnter({entering: "dynamic"}, trans => {
if (trans.params().param === 'initial')
return $state.target("dynamic", { param: 'redirected' });
});
$state.go("dynamic", { param: 'initial'}).then(() => {
expect($state.current.name).toBe("dynamic");
expect($state.params.param).toBe('redirected');
expect(resolveCount).toBe(1);
done();
});
});
});
Metadata
Metadata
Assignees
Labels
No labels