NyMockRouteGuard class

A mock route guard for testing NyPage route guard behavior.

Use NyMockRouteGuard.pass to create a guard that allows navigation, or NyMockRouteGuard.redirect to create one that redirects.

Example

// A guard that always passes
final guard = NyMockRouteGuard.pass();

// A guard that redirects to login
final guard = NyMockRouteGuard.redirect('/login');

// A guard with custom logic
final guard = NyMockRouteGuard.custom((context) async {
  if (someCondition) return GuardResult.next;
  return GuardResult.handled;
});

// Check if the guard was called
expect(guard.wasCalled, isTrue);
expect(guard.callCount, 1);
Inheritance

Constructors

NyMockRouteGuard.custom(Future<GuardResult> handler(RouteContext context))
Create a guard with custom logic.
factory
NyMockRouteGuard.pass()
Create a guard that always allows navigation to continue.
factory
NyMockRouteGuard.redirect(String path, {dynamic data})
Create a guard that always redirects to path.
factory

Properties

callCount → int
The number of times this guard has been called.
no setter
context → BuildContext?
Convenience getter for the build context.
no setterinherited
data → dynamic
Convenience getter for the route data.
no setterinherited
hashCode → int
The hash code for this object.
no setterinherited
hasModifiedData → bool
Whether setData was called during this guard's execution.
no setterinherited
lastContext → RouteContext?
The RouteContext from the most recent call, or null if never called.
no setter
modifiedData → dynamic
Get modified data if setData was called.
no setterinherited
pageRequest ↔ PageRequest?
getter/setter pairinherited
queryParameters → Map<String, String>
Convenience getter for query parameters.
no setterinherited
redirectConfig → RedirectConfig?
Get the redirect configuration if a redirect was requested.
no setterinherited
routeContext → RouteContext?
The current route context.
no setterinherited
routeName → String?
Convenience getter for the route name.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
wasCalled → bool
Whether this guard has been called at least once.
no setter

Methods

abort() → GuardResult
Abort navigation without redirecting.
inherited
next() → GuardResult
Continue to the next guard or to the route.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onAfter(RouteContext context) → Future<void>
Called after successful navigation to the route.
inherited
onBefore(RouteContext context) → Future<GuardResult>
Called before navigation to the route.
override
onRequest(PageRequest pageRequest) → Future<PageRequest?>
Legacy method override for backward compatibility. Delegates to the new onBefore lifecycle method.
inherited
redirect(Object path, {dynamic data, Map<String, dynamic>? queryParameters, NavigationType navigationType = NavigationType.pushReplace, dynamic result, bool removeUntilPredicate(Route route)?, TransitionType? transitionType, dynamic onPop(dynamic value)?}) → GuardResult
Redirect to a different route.
inherited
reset() → void
Reset the call tracking state.
setData(dynamic data) → void
Modify the data passed to subsequent guards and the route.
inherited
setRouteContext(RouteContext context) → void
Set the route context. Called by the router.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited