Skip to content

Commit

Permalink
test: deb routes (#1440)
Browse files Browse the repository at this point in the history
* test(store_routes): add deb routes

* test(store_routes): categoryOf

* test(store_navigator): pushDeb
  • Loading branch information
d-loose authored Oct 5, 2023
1 parent bb9f4f8 commit 312a2b6
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 2 deletions.
1 change: 1 addition & 0 deletions lib/src/store/store_routes.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ abstract class StoreRoutes {

static bool isSnap(RouteSettings route) => routeOf(route) == snap;
static bool isSearch(RouteSettings route) => routeOf(route) == search;
static bool isDeb(RouteSettings route) => routeOf(route) == deb;

static String routeOf(RouteSettings route) =>
Uri.parse(route.name ?? '').path;
Expand Down
7 changes: 7 additions & 0 deletions test/store_navigator_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -64,5 +64,12 @@ void main() {
..add(StoreRoutes.namedSearchSnap(
name: 'foo', query: 'bar', category: 'baz')),
);

unawaited(StoreNavigator.pushDeb(context, id: 'qux'));
await tester.pump();
expect(
generatedRoutes,
expectedRoutes..add(StoreRoutes.namedDeb(id: 'qux')),
);
});
}
28 changes: 26 additions & 2 deletions test/store_routes_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,27 +10,49 @@ void main() {
expect(StoreRoutes.snapOf(root), isNull);
expect(StoreRoutes.isSearch(root), isFalse);
expect(StoreRoutes.queryOf(root), isNull);
expect(StoreRoutes.categoryOf(root), isNull);
expect(StoreRoutes.isDeb(root), isFalse);
expect(StoreRoutes.debOf(root), isNull);

const snap = RouteSettings(name: '/snap?snap=foo');
expect(StoreRoutes.routeOf(snap), equals('/snap'));
expect(StoreRoutes.isSnap(snap), isTrue);
expect(StoreRoutes.snapOf(snap), equals('foo'));
expect(StoreRoutes.isSearch(snap), isFalse);
expect(StoreRoutes.queryOf(snap), isNull);
expect(StoreRoutes.categoryOf(snap), isNull);
expect(StoreRoutes.isDeb(snap), isFalse);
expect(StoreRoutes.debOf(snap), isNull);

const search = RouteSettings(name: '/search?query=bar');
const search = RouteSettings(name: '/search?query=bar&category=qux');
expect(StoreRoutes.routeOf(search), equals('/search'));
expect(StoreRoutes.isSnap(search), isFalse);
expect(StoreRoutes.snapOf(search), isNull);
expect(StoreRoutes.isSearch(search), isTrue);
expect(StoreRoutes.queryOf(search), equals('bar'));
expect(StoreRoutes.categoryOf(search), equals('qux'));
expect(StoreRoutes.isDeb(search), isFalse);
expect(StoreRoutes.debOf(search), isNull);

const searchSnap = RouteSettings(name: '/snap?query=bar&snap=foo');
expect(StoreRoutes.routeOf(searchSnap), equals('/snap'));
expect(StoreRoutes.isSnap(searchSnap), isTrue);
expect(StoreRoutes.snapOf(searchSnap), equals('foo'));
expect(StoreRoutes.isSearch(searchSnap), isFalse);
expect(StoreRoutes.queryOf(searchSnap), equals('bar'));
expect(StoreRoutes.categoryOf(searchSnap), isNull);
expect(StoreRoutes.isDeb(searchSnap), isFalse);
expect(StoreRoutes.debOf(searchSnap), isNull);

const deb = RouteSettings(name: '/deb?deb=baz');
expect(StoreRoutes.routeOf(deb), equals('/deb'));
expect(StoreRoutes.isSnap(deb), isFalse);
expect(StoreRoutes.snapOf(deb), isNull);
expect(StoreRoutes.isSearch(deb), isFalse);
expect(StoreRoutes.queryOf(deb), isNull);
expect(StoreRoutes.categoryOf(deb), isNull);
expect(StoreRoutes.isDeb(deb), isTrue);
expect(StoreRoutes.debOf(deb), equals('baz'));
});

test('named route', () {
Expand All @@ -40,8 +62,10 @@ void main() {
StoreRoutes.namedRoute('/foo', {'bar': 'baz'}), equals('/foo?bar=baz'));

expect(StoreRoutes.namedSnap(name: 'foo'), equals('/snap?snap=foo'));
expect(StoreRoutes.namedSearch(query: 'bar'), equals('/search?query=bar'));
expect(StoreRoutes.namedSearch(query: 'bar', category: 'qux'),
equals('/search?query=bar&category=qux'));
expect(StoreRoutes.namedSearchSnap(query: 'bar', name: 'foo'),
equals('/snap?snap=foo&query=bar'));
expect(StoreRoutes.namedDeb(id: 'baz'), equals('/deb?deb=baz'));
});
}

0 comments on commit 312a2b6

Please sign in to comment.