Skip to content

Commit

Permalink
test: add test for image analysis list tile
Browse files Browse the repository at this point in the history
  • Loading branch information
matthiasn committed Feb 3, 2025
1 parent fc3f804 commit fc510d1
Showing 1 changed file with 66 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:lotti/classes/journal_entities.dart';
import 'package:lotti/features/ai/state/ollama_image_analysis.dart';
import 'package:lotti/features/ai/ui/image_analysis/ai_image_analysis_list_tile.dart';
import 'package:mocktail/mocktail.dart';

import '../../../../test_helper.dart';

class MockAiImageAnalysisController extends Mock
implements AiImageAnalysisController {}

void main() {
late JournalImage mockJournalImage;

setUp(() {
mockJournalImage = JournalImage(
meta: Metadata(
id: 'test-id',
createdAt: DateTime.now(),
updatedAt: DateTime.now(),
dateFrom: DateTime.now(),
dateTo: DateTime.now(),
),
data: ImageData(
capturedAt: DateTime.now(),
imageId: 'test-id',
imageFile: 'test-file',
imageDirectory: 'test/dir',
),
);
});

testWidgets('renders correctly with expected elements',
(WidgetTester tester) async {
await tester.pumpWidget(
createTestApp(
ProviderScope(
child: AiImageAnalysisListTile(
journalImage: mockJournalImage,
),
),
),
);

expect(find.byType(ListTile), findsOneWidget);
expect(find.byType(Icon), findsOneWidget);
expect(find.byIcon(Icons.assistant), findsOneWidget);
});

testWidgets('linkedFromId is optional', (WidgetTester tester) async {
await tester.pumpWidget(
createTestApp(
ProviderScope(
child: AiImageAnalysisListTile(
journalImage: mockJournalImage,
linkedFromId: 'linked-id',
),
),
),
);

expect(find.byType(ListTile), findsOneWidget);
});
}

0 comments on commit fc510d1

Please sign in to comment.