test(tests): add extensive widget tests for MarkdownEditor and CommentsActionsBottomSheet, improving test coverage and functionality validation

This commit is contained in:
mso7nueh
2025-12-11 21:19:41 +03:00
parent d1753e99f8
commit c378c7fc16
44 changed files with 1783 additions and 2 deletions

View File

@@ -24,6 +24,105 @@ void main() {
final authRoute = routes.first as GoRoute;
expect(authRoute.routes, isNotEmpty);
});
test('createRoutes содержит маршрут registrationScreen', () {
final routes = AuthRoutes.createRoutes();
final authRoute = routes.first as GoRoute;
final registrationRoute = authRoute.routes.firstWhere(
(route) => route is GoRoute && route.path == 'registration-screen',
orElse: () => throw Exception('Route not found'),
);
expect(registrationRoute, isA<GoRoute>());
});
test('createRoutes содержит маршрут registrationScreenV2', () {
final routes = AuthRoutes.createRoutes();
final authRoute = routes.first as GoRoute;
final registrationV2Route = authRoute.routes.firstWhere(
(route) => route is GoRoute && route.path == 'registration-screen-v2',
orElse: () => throw Exception('Route not found'),
);
expect(registrationV2Route, isA<GoRoute>());
});
test('createRoutes содержит маршрут forgetPasswordScreen', () {
final routes = AuthRoutes.createRoutes();
final authRoute = routes.first as GoRoute;
final forgetPasswordRoute = authRoute.routes.firstWhere(
(route) => route is GoRoute && route.path == 'forget-password-screen',
orElse: () => throw Exception('Route not found'),
);
expect(forgetPasswordRoute, isA<GoRoute>());
});
test('createRoutes содержит маршрут scanQRCodeScreen', () {
final routes = AuthRoutes.createRoutes();
final authRoute = routes.first as GoRoute;
final scanQRRoute = authRoute.routes.firstWhere(
(route) => route is GoRoute && route.path == 'scan-qr-code-screen',
orElse: () => throw Exception('Route not found'),
);
expect(scanQRRoute, isA<GoRoute>());
});
test('createRoutes содержит маршрут verifyScreen', () {
final routes = AuthRoutes.createRoutes();
final verifyRoute = routes.firstWhere(
(route) => route is GoRoute && route.path == '/verify-screen',
orElse: () => throw Exception('Route not found'),
);
expect(verifyRoute, isA<GoRoute>());
});
test('createRoutes содержит маршрут verifyEmailScreen', () {
final routes = AuthRoutes.createRoutes();
final verifyEmailRoute = routes.firstWhere(
(route) => route is GoRoute && route.path == '/verify-email-screen',
orElse: () => throw Exception('Route not found'),
);
expect(verifyEmailRoute, isA<GoRoute>());
});
test('createRoutes содержит маршрут registerViaSocialScreen', () {
final routes = AuthRoutes.createRoutes();
final registerViaSocialRoute = routes.firstWhere(
(route) => route is GoRoute && route.path == '/register-via-social-screen',
orElse: () => throw Exception('Route not found'),
);
expect(registerViaSocialRoute, isA<GoRoute>());
});
test('authScreen имеет redirect функцию', () {
final routes = AuthRoutes.createRoutes();
final authRoute = routes.first as GoRoute;
expect(authRoute.redirect, isNotNull);
});
test('forgetPasswordScreen builder обрабатывает extra данные', () {
final routes = AuthRoutes.createRoutes();
final authRoute = routes.first as GoRoute;
final forgetPasswordRoute = authRoute.routes.firstWhere(
(route) => route is GoRoute && route.path == 'forget-password-screen',
orElse: () => throw Exception('Route not found'),
) as GoRoute;
expect(forgetPasswordRoute.builder, isNotNull);
});
test('verifyScreen builder обрабатывает extra данные', () {
final routes = AuthRoutes.createRoutes();
final verifyRoute = routes.firstWhere(
(route) => route is GoRoute && route.path == '/verify-screen',
) as GoRoute;
expect(verifyRoute.builder, isNotNull);
});
test('registerViaSocialScreen builder обрабатывает extra данные', () {
final routes = AuthRoutes.createRoutes();
final registerViaSocialRoute = routes.firstWhere(
(route) => route is GoRoute && route.path == '/register-via-social-screen',
) as GoRoute;
expect(registerViaSocialRoute.builder, isNotNull);
});
});
}
@@ -32,3 +131,5 @@ void main() {

View File

@@ -27,6 +27,114 @@ void main() {
);
expect(recipeRoute, isA<GoRoute>());
});
test('createRoutes содержит маршрут aboutDietScreen', () {
final routes = ContentRoutes.createRoutes();
final dietRoute = routes.firstWhere(
(route) => route is GoRoute && route.path == '/about-diet-screen',
orElse: () => throw Exception('Route not found'),
);
expect(dietRoute, isA<GoRoute>());
});
test('createRoutes содержит маршрут blogPostCreateScreen', () {
final routes = ContentRoutes.createRoutes();
final blogPostCreateRoute = routes.firstWhere(
(route) => route is GoRoute && route.path == '/blog-post-create-screen',
orElse: () => throw Exception('Route not found'),
);
expect(blogPostCreateRoute, isA<GoRoute>());
});
test('createRoutes содержит маршрут blogPostScreen', () {
final routes = ContentRoutes.createRoutes();
final blogPostRoute = routes.firstWhere(
(route) => route is GoRoute && route.path == '/blog-post-screen',
orElse: () => throw Exception('Route not found'),
);
expect(blogPostRoute, isA<GoRoute>());
});
test('aboutPlanScreen builder обрабатывает slug из query параметров', () {
final routes = ContentRoutes.createRoutes();
final planRoute = routes.firstWhere(
(route) => route is GoRoute && route.path == '/about-plan-screen',
) as GoRoute;
expect(planRoute.builder, isNotNull);
});
test('aboutPlanScreen builder обрабатывает extra данные', () {
final routes = ContentRoutes.createRoutes();
final planRoute = routes.firstWhere(
(route) => route is GoRoute && route.path == '/about-plan-screen',
) as GoRoute;
expect(planRoute.builder, isNotNull);
});
test('aboutRecipesScreen builder обрабатывает slug из query параметров', () {
final routes = ContentRoutes.createRoutes();
final recipeRoute = routes.firstWhere(
(route) => route is GoRoute && route.path == '/about-recipes-screen',
) as GoRoute;
expect(recipeRoute.builder, isNotNull);
});
test('aboutRecipesScreen builder обрабатывает extra данные', () {
final routes = ContentRoutes.createRoutes();
final recipeRoute = routes.firstWhere(
(route) => route is GoRoute && route.path == '/about-recipes-screen',
) as GoRoute;
expect(recipeRoute.builder, isNotNull);
});
test('aboutDietScreen builder обрабатывает slug из query параметров', () {
final routes = ContentRoutes.createRoutes();
final dietRoute = routes.firstWhere(
(route) => route is GoRoute && route.path == '/about-diet-screen',
) as GoRoute;
expect(dietRoute.builder, isNotNull);
});
test('aboutDietScreen builder обрабатывает extra данные', () {
final routes = ContentRoutes.createRoutes();
final dietRoute = routes.firstWhere(
(route) => route is GoRoute && route.path == '/about-diet-screen',
) as GoRoute;
expect(dietRoute.builder, isNotNull);
});
test('blogPostCreateScreen builder обрабатывает extra данные', () {
final routes = ContentRoutes.createRoutes();
final blogPostCreateRoute = routes.firstWhere(
(route) => route is GoRoute && route.path == '/blog-post-create-screen',
) as GoRoute;
expect(blogPostCreateRoute.builder, isNotNull);
});
test('blogPostScreen builder обрабатывает id из query параметров', () {
final routes = ContentRoutes.createRoutes();
final blogPostRoute = routes.firstWhere(
(route) => route is GoRoute && route.path == '/blog-post-screen',
) as GoRoute;
expect(blogPostRoute.builder, isNotNull);
});
test('blogPostScreen builder обрабатывает extra данные', () {
final routes = ContentRoutes.createRoutes();
final blogPostRoute = routes.firstWhere(
(route) => route is GoRoute && route.path == '/blog-post-screen',
) as GoRoute;
expect(blogPostRoute.builder, isNotNull);
});
});
}
@@ -35,3 +143,5 @@ void main() {

View File

@@ -22,3 +22,6 @@ void main() {

View File

@@ -26,3 +26,6 @@ void main() {

View File

@@ -105,3 +105,6 @@ void main() {

View File

@@ -29,3 +29,6 @@ void main() {